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