118 lines
3.2 KiB
JavaScript
118 lines
3.2 KiB
JavaScript
const BridgeWindow = require( "bridge.window" );
|
|
const ADVCT = require("adventure_controller");
|
|
const ADEVT = require("adventure_event");
|
|
const Togs = require("nx.fx.togs");
|
|
|
|
cc.Class({
|
|
extends: BridgeWindow,
|
|
|
|
properties: {
|
|
answers:{
|
|
default:null,
|
|
type:Togs
|
|
},
|
|
titles:{
|
|
default:null,
|
|
type:cc.Node
|
|
},
|
|
problem:{
|
|
default:null,
|
|
type:cc.Node
|
|
}
|
|
},
|
|
|
|
// LIFE-CYCLE CALLBACKS:
|
|
|
|
onLoad () {
|
|
this.ctrl = ADVCT.getInstance();
|
|
this.answers.posTog = this.togAnswers.bind(this);
|
|
this.select_index = 0;
|
|
this.answers.togTo(0);
|
|
},
|
|
|
|
start () {
|
|
|
|
},
|
|
|
|
togAnswers(_index){
|
|
let oldTog = this.answers.togs[this.select_index];
|
|
let old_lb = nx.gui.find(oldTog,"on/scroll/ans");
|
|
old_lb.stopAllActions();
|
|
old_lb.x = 0;
|
|
|
|
this.select_index = _index;
|
|
|
|
let tog = this.answers.togs[_index];
|
|
let on_lb = nx.gui.find(tog,"on/scroll/ans");
|
|
if(on_lb.width > 400){
|
|
on_lb.runAction(cc.repeatForever(cc.sequence(cc.moveBy(5,cc.v2(-on_lb.width/2,0))
|
|
,cc.moveTo(0.1,cc.v2(0,0))
|
|
,cc.delayTime(2))));
|
|
}
|
|
},
|
|
|
|
onOpenConfigs(params) {
|
|
this.model_type = this.ctrl.getPlayModel();
|
|
this.evt_config = params.config;
|
|
this.room_id = params.room_id;
|
|
this.NPC_data = this.ctrl.getNPCData();
|
|
if(this.NPC_data){
|
|
this.freashProblems();
|
|
this.scheduleOnce(()=>{
|
|
this.togAnswers(0);
|
|
},0.2);
|
|
}
|
|
|
|
this.setUI();
|
|
},
|
|
|
|
setUI(){
|
|
nx.gui.setActive(this.titles,"type"+this.evt_config.evt_type,true)
|
|
},
|
|
|
|
freashProblems(){
|
|
let ids = this.NPC_data.npc_ids;
|
|
let tip = "";
|
|
for(let i = 0;i < this.answers.togs.length;i++){
|
|
let npc_data = null;
|
|
if(ids[i]){
|
|
if(this.model_type == 1){
|
|
npc_data = game.configs.adventure_endless_data.data_adventure_npc_data[ids[i].id];
|
|
}else{
|
|
npc_data = game.configs.adventure_weekly_data.data_adventure_event[ids[i].id];
|
|
}
|
|
if(!npc_data)return;
|
|
tip = npc_data.tip;
|
|
let tog = this.answers.togs[i];
|
|
if(tog){
|
|
if(this.evt_config.evt_type != 6){
|
|
nx.gui.setString(tog,"on/scroll/ans",npc_data.desc);
|
|
nx.gui.setString(tog,"off/scroll/ans",npc_data.desc);
|
|
}else{
|
|
nx.gui.setString(tog,"on/scroll/ans","??????");
|
|
nx.gui.setString(tog,"off/scroll/ans","??????");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
nx.gui.setString(this.problem,"",tip);
|
|
},
|
|
|
|
onPreClosed() {
|
|
|
|
},
|
|
|
|
clickSureEvent(){
|
|
if(!this.NPC_data)return;
|
|
let id = this.NPC_data.npc_ids[this.select_index];
|
|
if(!id){
|
|
id = 0;
|
|
}
|
|
this.ctrl.send29520([this.room_id],1,[{type:1,val:id.id}],this.model_type);
|
|
this.close();
|
|
}
|
|
|
|
// update (dt) {},
|
|
});
|