209 lines
6.8 KiB
JavaScript
209 lines
6.8 KiB
JavaScript
/******************************************************************
|
|
* 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 );
|
|
},
|
|
|
|
|
|
} );
|