/****************************************************************** * Copyright(C) 2019 - 2020 Nx Studio * * 主界面跳转触发 按照新改版的逻辑进行处理 * * ******************************************************************/ const TaskController = require( "task.mod" ); const TaskConst = require( "task_const" ); const TaskEvent = require( "task_event" ); const FID = require( "bridge.function.ids" ); cc.Class( { extends: cc.Component, properties: { nodItem: { default: null, type: cc.Node, }, nodTip: { default: null, type: cc.Node, } }, onLoad: function(){ gcore.GlobalEvent.bind( TaskEvent.UpdateTaskList,this.onFreshTask.bind( this) ); nx.gui.setActive( this, "ico", false ); }, onEnable: function(){ this.onFreshTask(); this.onTouchTask(); }, onFreshTask: function( _task ){ /// 默認顯示的是 戰鬥任務相關---- 10 let model = TaskController.getInstance().getModel(); let self = this; let allTask = model.getAllTaskInfo(); let lst = []; let main = []; let battleTask = []; let plotTasks = []; let showtitle = ""; if( allTask ){ let maintasks = allTask[1]; // 雜項任務 let diff = allTask[2]; // 親密度培養任務 let battle_task = allTask[10]; // 副本戰鬥任務 let plotTask = allTask[11]; // 引導任務 let total = 0; let now = 0; let title = ""; let canshow = false; this.select = 0; nx.gui.setActive( this.nodItem, "tip", false ); // nx.gui.setActive( this.nodTip, "", false ); let dealGroups = function( _data, _groups ){ let group = _groups; let datas = _data; for( let i in datas ) { let task = datas[ i ]; let showTasks = []; task.forEach( _task =>{ if( _task.canshow ){ showTasks.push( _task ); } } ) let data = { name: i, task: showTasks, } group.push( data ); } return group; } main = dealGroups( maintasks, main ); lst = dealGroups( diff, lst ); battleTask = dealGroups( battle_task, battleTask ); plotTasks = dealGroups( plotTask, plotTasks ); let dealShowTask = function( _data ){ let main = _data; for (let m = 0; m < main.length; m++) { let task = main[m]; // main.forEach( ) let tasklst = task.task; tasklst.sort( ( a, b ) => { return b.finish - a.finish; } ) for (let k = 0; k < tasklst.length; k++) { let titem = tasklst[k]; if( titem.show == 1 ){ if( titem.type == 10 ){ now = now == 0 ? k : now; total = total == 0 ? tasklst.length : total; title = title == "" ? task.name : title; showtitle = nx.text.getKey( "BattlePlot" ); self.select = 2; }else{ if( nx.dt.strEmpty( showtitle ) ){ now = now == 0 ? k : now; total = total == 0 ? tasklst.length : total; title = title == "" ? nx.text.getKey( "BattlePlot" + titem.type ) : title; showtitle = nx.text.getKey( "BattlePlot" + titem.type ); } // self.select = 2; } if( titem.finish == 1 ){ nx.gui.setActive( self.nodItem, "tip", true ); // nx.gui.setActive( self.nodTip, "", true ); canshow = true; } switch( titem.type ){ case 1 : { nx.mTip.openTip( "tipTask.main", titem.finish );};break; case 2 : { nx.mTip.openTip( "tipTask.branch", titem.finish );};break; case 10 : { nx.mTip.openTip( "tipTask.battle", titem.finish );};break; case 11 : { nx.mTip.openTip( "tipTask.plot", titem.finish ); };break; } break; } } } } dealShowTask( battleTask ); dealShowTask( main ); dealShowTask( lst ); dealShowTask( plotTasks ); // if( total == 0 ){ // this.select = 1; // dealShowTask( lst ); // nx.mTip.openTip( "tipTask.branch", canshow ); // // showtitle = nx.text.getKey( "BranchTask" ); // } nx.gui.setString( this.nodItem, "title", title ); nx.gui.setActive( this.nodItem, "state", false ); nx.gui.setString( this.nodItem, "desc", showtitle ); nx.gui.setString( this.nodItem, "txt", "(" + ( now + 1 ) + "/" + total + ")" ); } // console.log( now + "所有的任务相关" + total ); }, onTouchTask: function(){ // let anim = nx.gui.getComponent( this, "task", cc.Animation ); // anim.play('task_show'); // nx.gui.setActive( this, "ico", false ); }, onTouchTaskHide: function(){ let anim = nx.gui.getComponent( this, "task", cc.Animation ); anim.play('task_hide'); nx.gui.setActive( this, "ico", true ); }, onTouchTaskMore: function(){ if( nx.bridge.plot && nx.bridge.plot.isDoing() ){ nx.bridge.jumper.jump2Window( FID.Task, 0 ); }else{ nx.bridge.jumper.jump2Window( FID.Task, this.select ); } // TaskController.getInstance().openMainTaskWindow( true ); }, } );