"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();