Files

157 lines
4.7 KiB
JavaScript
Raw Permalink Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, 'b0071FFiA5EQqqgcG1KR47S', 'cmp.item.hero.openserver.wnd ');
// Scripts/mod/open_server/cmp.item.hero.openserver.wnd .js
"use strict";
var SvcItem = require("nx.fx.sv.expand.item");
var BaseLayout = require("cmp.common.itemlayout");
var FID = require("bridge.function.ids");
var themeMod = require("acts.mod");
var TaskMod = require("task.mod");
var BattleController = require("battle_controller");
cc.Class({
"extends": SvcItem,
properties: {
SepItemLay: {
"default": null,
type: BaseLayout
},
descSep: {
"default": null,
type: cc.RichText
},
name_lb: {
"default": [],
type: [cc.Label]
},
name_desc: {
"default": [],
type: [cc.RichText]
},
btnTaskArr: {
"default": [],
type: [cc.Node]
}
},
// LIFE-CYCLE CALLBACKS:
// 数据重置
rebind: function rebind(_idx, _data, _key) {
this._super(_idx, _data, _key);
// 刷新
this.setData(_data, _key);
},
onLoad: function onLoad() {},
start: function start() {},
onDisable: function onDisable() {
this.SepItemLay.rebuild([]);
},
setData: function setData(data, _key) {
for (var key in game.configs.activity_advertisement_data.data_partner_info) {
var cf = game.configs.activity_advertisement_data.data_partner_info[key];
var index = cf.id - 1;
this.name_lb[index].string = cf.title;
this.name_desc[index].string = cf.desc;
if (cf.type == 1) {
this.btnTaskArr[0].active = false;
this.btnTaskArr[1].active = false;
this.btnTaskArr[2].active = false;
if (game.configs.quest_data) {
//查任务
var task = game.configs.quest_data.data_get[cf.quest_id];
if (task) {
this.descSep.string = task.desc;
//展示物品
this.updateDramaDropInfo(task.commit_rewards);
}
//设置领取按钮状态
var taskState = TaskMod.getInstance().getMainPanelQuestByID(cf.quest_id);
var btn = this.btnTaskArr[taskState.finish];
if (btn) {
btn.active = true;
}
} else {
this.btnTaskArr[0].active = true;
}
}
}
},
// 更新副本掉落物品展示信息
updateDramaDropInfo: function updateDramaDropInfo(item_datas) {
if (nx.dt.arrEmpty(item_datas)) {
return false;
}
// 创建物品显示对象,只展示1个
var list = [];
for (var index = 0; index < item_datas.length; index++) {
var element = item_datas[index];
list.push({
bid: element[0],
num: element[1]
});
}
this.SepItemLay.rebuild(list);
},
touchGoto: function touchGoto(eventData) {
// nx.debug( "$UI:touchGoto:", eventData );
var cf = game.configs.activity_advertisement_data.data_partner_info[eventData];
if (cf == null) return;
if (cf.source_id == FID.StarOrder) {
//星界密令是在101主题活动下的
var theme = themeMod.getInstance().queryTheme(101);
if (theme) {
var bFind = false;
for (var k in theme.theme_holiday_list) {
var act = theme.theme_holiday_list[k];
if (act && act.source == cf.source_id) {
//判断下是否在挂机中
if (BattleController.getInstance().hadBattleScene()) {
nx.bridge.closePanel("WndBattleHook");
}
nx.bridge.closePanel("WndOpenServer");
nx.bridge.jumper.jump2ActTheme(101, act.camp_id);
return;
}
}
}
var open_config = game.configs.source_data.data_source_data[cf.source_id];
var str = cc.js.formatStr(nx.text.getKey("action_str37"), open_config.lev_limit[1]);
nx.tbox(str);
return;
}
//判断下是否在挂机中
if (BattleController.getInstance().hadBattleScene()) {
nx.bridge.closePanel("WndBattleHook");
}
nx.bridge.closePanel("WndOpenServer");
nx.bridge.jumper.jump2Window(cf.source_id);
},
touchUndone: function touchUndone() {
//提示下就行
//nx.text.getKey("action_str37")
nx.tbox("action_str38");
},
touchGet: function touchGet() {
for (var key in game.configs.activity_advertisement_data.data_partner_info) {
var cf = game.configs.activity_advertisement_data.data_partner_info[key];
if (cf.type == 1) {
//设置领取按钮状态
this.btnTaskArr[0].active = false;
this.btnTaskArr[1].active = false;
this.btnTaskArr[2].active = true;
var taskState = TaskMod.getInstance().getMainPanelQuestByID(cf.quest_id);
if (taskState) {
taskState.finish = 2;
}
TaskMod.getInstance().requestSubmitTask(cf.quest_id);
return;
}
}
} // update (dt) {},
});
cc._RF.pop();