Files
fc/dev/project/assets/Scripts/mod/open_server/cmp.item.hero.openserver.wnd .js
2026-05-23 22:10:14 +08:00

182 lines
5.4 KiB
JavaScript

const SvcItem = require("nx.fx.sv.expand.item");
const BaseLayout = require( "cmp.common.itemlayout" );
const FID = require( "bridge.function.ids" );
const themeMod = require( "acts.mod" );
const TaskMod = require( "task.mod" );
const 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( _idx, _data, _key ) {
this._super( _idx, _data, _key );
// 刷新
this.setData(_data,_key)
},
onLoad () {
},
start () {
},
onDisable(){
this.SepItemLay.rebuild([]);
},
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 (item_datas) {
if(nx.dt.arrEmpty(item_datas)){
return false;
}
// 创建物品显示对象,只展示1个
let list = [];
for (let index = 0; index < item_datas.length; index++) {
const element = item_datas[index];
list.push({ bid: element[0], num: element[1] });
}
this.SepItemLay.rebuild(list);
},
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( let k in theme.theme_holiday_list )
{
let 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()
{
//提示下就行
//nx.text.getKey("action_str37")
nx.tbox( "action_str38" );
},
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) {},
});