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) {}, });