429 lines
12 KiB
JavaScript
429 lines
12 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, '2f2b5R2vZdLk49tm242O1ZZ', 'cmp.taskc.main.wnd');
|
|
// Scripts/mod/task/cmp/cmp.taskc.main.wnd.js
|
|
|
|
"use strict";
|
|
|
|
var BridgeWindow = require("bridge.window");
|
|
var TaskController = require("task.mod");
|
|
var FxTogs = require("nx.fx.togs");
|
|
var FxSVC = require("nx.fx.sv.expand");
|
|
var TaskEvent = require("task_event");
|
|
cc.Class({
|
|
"extends": BridgeWindow,
|
|
properties: {
|
|
togMenu: {
|
|
"default": null,
|
|
type: FxTogs
|
|
},
|
|
togTaskMenu: {
|
|
"default": null,
|
|
type: FxTogs
|
|
},
|
|
nodTaskList: {
|
|
"default": null,
|
|
type: FxSVC
|
|
},
|
|
nodTaskContent: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodTaskItem: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodTaskItemDiff: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodTaskPanelMain: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodTaskPanelDiffer: {
|
|
"default": null,
|
|
type: cc.Node
|
|
},
|
|
nodTask: {
|
|
"default": null,
|
|
type: cc.Node
|
|
}
|
|
},
|
|
onLoad: function onLoad() {
|
|
var _this = this;
|
|
var TC = TaskController.getInstance();
|
|
var model = TC.getModel();
|
|
var allTask = model.getAllTaskInfo();
|
|
var tasks = allTask;
|
|
nx.gui.hideAllChildren(this.togMenu.node, "");
|
|
var _loop = function _loop() {
|
|
var task = tasks[i];
|
|
// console.log( "任务相关" + JSON.stringify( task ) );
|
|
var showTasks = [];
|
|
for (var t in task) {
|
|
var taskc = task[t];
|
|
taskc.forEach(function (_task) {
|
|
if (_task.canshow) {
|
|
showTasks.push(_task);
|
|
}
|
|
});
|
|
nx.gui.setActive(_this.togMenu.node, "item" + i, showTasks.length > 0);
|
|
}
|
|
};
|
|
for (var i in tasks) {
|
|
_loop();
|
|
}
|
|
this.bindGEvent(TaskEvent.UpdateTaskList, this.freshTask.bind(this));
|
|
this.togMenu.posTog = this.onTogMenu.bind(this);
|
|
},
|
|
// 重载:参数打开
|
|
onOpenConfigs: function onOpenConfigs(_params) {
|
|
// console.log( "參數相關----" + JSON.stringify( _params ) );
|
|
var _goto = _params;
|
|
if (_goto && _goto >= 0) {
|
|
this.togMenu.togTo(_goto);
|
|
this.onTogMenu(_goto);
|
|
} else {
|
|
var chd = this.togMenu.node.children;
|
|
for (var c = 0; c < chd.length; c++) {
|
|
var nod = chd[c];
|
|
if (nod.active) {
|
|
this.togMenu.togTo(c);
|
|
this.onTogMenu(c);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
},
|
|
// 背包切换
|
|
onTogMenu: function onTogMenu(_index) {
|
|
var idx = parseInt(_index);
|
|
var type = 0;
|
|
switch (idx) {
|
|
case 0:
|
|
{
|
|
type = 10;
|
|
}
|
|
;
|
|
break;
|
|
case 1:
|
|
{
|
|
type = 1;
|
|
}
|
|
;
|
|
break;
|
|
case 2:
|
|
{
|
|
type = 9;
|
|
}
|
|
;
|
|
break;
|
|
case 3:
|
|
{
|
|
type = 0;
|
|
}
|
|
;
|
|
break;
|
|
}
|
|
this.selectTwo = idx;
|
|
this.activeMenu(type);
|
|
},
|
|
// 背包切换
|
|
onTogMenuTask: function onTogMenuTask(_index) {
|
|
this.activeTask(_index);
|
|
},
|
|
freshTask: function freshTask(_data) {
|
|
var _this2 = this;
|
|
var TC = TaskController.getInstance();
|
|
var model = TC.getModel();
|
|
var allTask = model.getAllTaskInfo();
|
|
var tasks = allTask;
|
|
nx.gui.hideAllChildren(this.togMenu.node, "");
|
|
var _loop2 = function _loop2() {
|
|
var task = tasks[i];
|
|
var showTasks = [];
|
|
for (var t in task) {
|
|
var taskc = task[t];
|
|
taskc.forEach(function (_task) {
|
|
if (_task.canshow) {
|
|
showTasks.push(_task);
|
|
}
|
|
});
|
|
nx.gui.setActive(_this2.togMenu.node, "item" + i, showTasks.length > 0);
|
|
}
|
|
// console.log( "任务相关" + i );
|
|
};
|
|
for (var i in tasks) {
|
|
_loop2();
|
|
}
|
|
var chd = this.togMenu.node.children;
|
|
if (this.selectTwo && chd[this.selectTwo].active) {
|
|
this.togMenu.togTo(this.selectTwo);
|
|
this.onTogMenu(this.selectTwo);
|
|
} else {
|
|
for (var c = 0; c < chd.length; c++) {
|
|
var nod = chd[c];
|
|
if (nod.active) {
|
|
this.togMenu.togTo(c);
|
|
this.onTogMenu(c);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
// this.activeMenu( this.selectOne );
|
|
},
|
|
|
|
activeTask: function activeTask(_index) {
|
|
var _this3 = this;
|
|
var show = 0;
|
|
var shownext = 0;
|
|
for (var i = 0; i < this.nodTaskContentc.children.length; i++) {
|
|
var nod = this.nodTaskContentc.children[i];
|
|
if (i == _index) {
|
|
var child = nx.gui.find(nod, "on/content");
|
|
child.children.forEach(function (_chd) {
|
|
if (_chd.mdata.showfirst == 1) {
|
|
_this3.onTouchTask(_chd);
|
|
show++;
|
|
} else {
|
|
if (show == 0) {
|
|
if (_chd.mdata.canshow) {
|
|
_this3.onTouchTask(_chd);
|
|
shownext++;
|
|
show++;
|
|
}
|
|
if (shownext == 0) {
|
|
_this3.showTaskInfo(_chd);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
},
|
|
// 激活菜单
|
|
activeMenu: function activeMenu(_index) {
|
|
var _this4 = this;
|
|
var TC = TaskController.getInstance();
|
|
if (TC) {
|
|
var model = TC.getModel();
|
|
var allTask = model.getAllTaskInfo();
|
|
this.nodTaskContentc = _index == 0 ? nx.gui.find(this.nodTaskPanelMain, "view/content") : nx.gui.find(this.nodTaskPanelDiffer, "view/content");
|
|
this.togTaskMenu = this.nodTaskContentc.getComponent("nx.fx.togs");
|
|
this.togTaskMenu.posTog = this.onTogMenuTask.bind(this);
|
|
// this.togTaskMenu.togTo( 0 );
|
|
|
|
nx.gui.cleanAllChildren(this.nodTaskContentc);
|
|
var show = {
|
|
mdata: {
|
|
show: 0
|
|
}
|
|
};
|
|
this.selectOne = _index;
|
|
this.freshLst(allTask[_index + 1]);
|
|
this.scheduleOnce(function () {
|
|
_this4.showTaskInfo(show);
|
|
}, 0.2);
|
|
}
|
|
},
|
|
onTouchMenus: function onTouchMenus() {},
|
|
freshLst: function freshLst(_task) {
|
|
var _this5 = this;
|
|
this.unscheduleAllCallbacks();
|
|
var self = this;
|
|
var lst = [];
|
|
var showss = [];
|
|
var tweens = [];
|
|
var nodParent = this.selectOne == 0 ? this.nodTaskPanelMain : this.nodTaskPanelDiffer;
|
|
var _loop3 = function _loop3() {
|
|
var task = _task[i];
|
|
var showTasks = [];
|
|
task.forEach(function (_task) {
|
|
if (_task.canshow) {
|
|
showTasks.push(_task);
|
|
}
|
|
});
|
|
var data = {
|
|
name: i,
|
|
task: showTasks
|
|
};
|
|
lst.push(data);
|
|
};
|
|
for (var i in _task) {
|
|
_loop3();
|
|
}
|
|
var setChildren = function setChildren(_node, _task, _t) {
|
|
var pnod = _node;
|
|
var nods = nx.gui.find(_node, "on/content");
|
|
|
|
// showss = [];
|
|
_task.task.sort(function (a, b) {
|
|
return b.finish - a.finish;
|
|
});
|
|
nx.gui.gocChildren(nods, "", _task.task.length);
|
|
|
|
// 设置 子任务相关显示
|
|
var hideall = 0;
|
|
for (var _i = 0; _i < nods.children.length; _i++) {
|
|
var nod = nods.children[_i];
|
|
var task = _task.task[_i];
|
|
if (task) {
|
|
if (task.finish == 0) {
|
|
hideall++;
|
|
}
|
|
nx.gui.setString(nod, "txt", nx.dt.strCut(task.desc, 30));
|
|
nx.gui.setActive(nod, "on", task.show == 1);
|
|
nx.gui.setActive(nod, "bg", true);
|
|
nx.gui.setString(nod, "lock/txt", task.desc);
|
|
task.showfirst = task.finish == 1 ? 1 : 0;
|
|
nx.gui.setActive(nod, "tip", task.finish == 1);
|
|
nod.mdata = task;
|
|
nx.gui.setActive(nod, "lock", task.show == 0);
|
|
if (task.show == 1) {
|
|
if (_i == 0) {
|
|
showss.push(nod);
|
|
}
|
|
// nx.gui.setActive( nod, "bg", false );
|
|
// nx.gui.setActive( nod, "on", true );
|
|
// self.showTaskInfo( nod );
|
|
// if( task.finish == 1 ){
|
|
// self.onTouchTask
|
|
// }
|
|
// showFirst = nx.dt.objClone( nod );
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
var nods = [];
|
|
var _loop4 = function _loop4() {
|
|
var task = lst[t];
|
|
if (task.task.length > 0) {
|
|
var nod = _this5.selectOne == 0 ? cc.instantiate(_this5.nodTaskItem) : cc.instantiate(_this5.nodTaskItemDiff);
|
|
nod.active = true;
|
|
var cnt = nx.gui.find(nod, "on/content");
|
|
nod.children.forEach(function (_nod) {
|
|
nx.gui.setString(_nod, "type/name", task.name);
|
|
});
|
|
setChildren(nod, task, t);
|
|
nods.push(nod);
|
|
}
|
|
};
|
|
for (var t = 0; t < lst.length; t++) {
|
|
_loop4();
|
|
}
|
|
nx.gui.setActive(nodParent, "empty", nx.dt.arrEmpty(nods));
|
|
var set = 0;
|
|
tweens.push(this.nodTaskContentc);
|
|
for (var n = 0; n < nods.length; n++) {
|
|
var nodd = nods[n];
|
|
nodd.setParent(this.nodTaskContentc);
|
|
set++;
|
|
}
|
|
nx.gui.setActive(this.nodTaskPanelMain, "", this.selectOne == 0 && set == nods.length);
|
|
nx.gui.setActive(this.nodTaskPanelDiffer, "", this.selectOne != 0);
|
|
var cmp = nx.gui.getComponent(this.nodTaskContentc, "", "nx.fx.togs");
|
|
if (cmp) {
|
|
cmp.rebuildTogs();
|
|
cmp._freshTogShow();
|
|
// for (let t = 0; t < tweens.length; t++) {
|
|
// let tween = tweens[t];
|
|
// // nx.tween.fadeIn( tween, "", 0.3 );
|
|
// }
|
|
|
|
// nx.tween.fadeIn( this.nodTaskContentc, "", 0.3 );
|
|
cmp.togTo(0);
|
|
|
|
// console.log( "刷新聚焦显示 " + show.length );
|
|
|
|
// self.onTouchTask( showFirst );
|
|
}
|
|
|
|
// this.nodTaskContentc.children[0].onTouchTog
|
|
|
|
this.scheduleOnce(function () {
|
|
for (var s = 0; s < showss.length; s++) {
|
|
var nod = showss[s];
|
|
if (s == 0) {
|
|
nx.gui.setActive(nod, "on", true);
|
|
self.onTouchTask(nod);
|
|
}
|
|
}
|
|
}, 0.1);
|
|
},
|
|
showTaskInfo: function showTaskInfo(_nod) {
|
|
var _this6 = this;
|
|
var nod = nx.gui.find(this.nodTask, "info/view/content");
|
|
var nodOp = nx.gui.find(this.nodTask, "ops");
|
|
nx.gui.setActive(this.nodTask, "empty", false);
|
|
if (_nod.mdata.show == 1) {
|
|
var task = _nod.mdata;
|
|
nx.gui.setString(nod, "desc/txt", task.name);
|
|
nx.gui.setString(nod, "task/txt2", task.desc);
|
|
var awards = nx.gui.find(nod, "awards/rewards");
|
|
// nx.gui.setActive( )
|
|
var cmp = awards.getComponent("cmp.item.layout");
|
|
// 任务子菜单 二级奖励显示
|
|
cmp.rebuild(task.commit_rewards);
|
|
this.nowTask = task;
|
|
nx.gui.setActive(nodOp, "go", task.finish == 1);
|
|
nx.gui.setActive(nodOp, "goto", task.finish == 0 && task.skip_id > 0);
|
|
nx.gui.setActive(nod, "awards/finished", task.finish == 2);
|
|
this.go = function () {
|
|
var id = task.skip_id;
|
|
// 道具操作跳转
|
|
nx.bridge.jumper.jump2Window(id);
|
|
_this6.close();
|
|
};
|
|
this.get = function () {
|
|
var TC = TaskController.getInstance();
|
|
if (TC) {
|
|
TC.requestSubmitTask(task.id);
|
|
}
|
|
};
|
|
nx.gui.setActive(nod, "desc", task.type == 1);
|
|
|
|
// console.log( JSON.stringify( _nod.mdata ) + "任务显示信息" );
|
|
} else {
|
|
var _cmp = nx.gui.getComponent(this.nodTaskContentc, "", "nx.fx.togs");
|
|
if (_cmp) {
|
|
_cmp.rebuildTogs();
|
|
_cmp._freshTogShow();
|
|
// for (let t = 0; t < tweens.length; t++) {
|
|
// let tween = tweens[t];
|
|
// // nx.tween.fadeIn( tween, "", 0.3 );
|
|
// }
|
|
|
|
// nx.tween.fadeIn( this.nodTaskContentc, "", 0.3 );
|
|
_cmp.togTo(0);
|
|
|
|
// console.log( "刷新聚焦显示 " + show.length );
|
|
|
|
// self.onTouchTask( showFirst );
|
|
}
|
|
}
|
|
},
|
|
|
|
onTouchGoTo: function onTouchGoTo() {
|
|
nx.dt.fnInvoke(this.go);
|
|
},
|
|
onTouchGet: function onTouchGet() {
|
|
nx.dt.fnInvoke(this.get);
|
|
},
|
|
onFocusTask: function onFocusTask() {},
|
|
onTouchTask: function onTouchTask(_nod) {
|
|
var nod = this.nodTaskContentc;
|
|
for (var i = 0; i < nod.children.length; i++) {
|
|
var item = nod.children[i];
|
|
var items = nx.gui.find(item, "on/content").children;
|
|
items.forEach(function (_item) {
|
|
nx.gui.setActive(_item, "on", false);
|
|
});
|
|
}
|
|
nx.gui.setActive(_nod, "on", true);
|
|
this.showTaskInfo(_nod);
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |