182 lines
5.4 KiB
JavaScript
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) {},
|
||
|
|
});
|