195 lines
5.1 KiB
JavaScript
195 lines
5.1 KiB
JavaScript
|
|
"use strict";
|
||
|
|
cc._RF.push(module, 'f5900tjlOFFF4LqlM7IXvC/', 'cmp.main.ui.plot');
|
||
|
|
// Scripts/mod/mainui/cmp/cmp.main.ui.plot.js
|
||
|
|
|
||
|
|
"use strict";
|
||
|
|
|
||
|
|
/******************************************************************
|
||
|
|
* Copyright(C) 2019 - 2020 Nx Studio
|
||
|
|
*
|
||
|
|
* 主界面 --- 剧情辅助器
|
||
|
|
*
|
||
|
|
*
|
||
|
|
******************************************************************/
|
||
|
|
|
||
|
|
var BridgeComponent = require("bridge.component");
|
||
|
|
var PlotDefine = require("plot.define");
|
||
|
|
var RoleController = require("role_controller");
|
||
|
|
var _require = require("define"),
|
||
|
|
SCENE_TAG = _require.SCENE_TAG;
|
||
|
|
var PPT = PlotDefine.PlotType;
|
||
|
|
cc.Class({
|
||
|
|
"extends": BridgeComponent,
|
||
|
|
properties: {},
|
||
|
|
// 显示
|
||
|
|
onEnable: function onEnable() {
|
||
|
|
if (window.nx && nx.bridge.plot) {
|
||
|
|
// 视图监听
|
||
|
|
nx.bridge.plot.vbind(this, [["id", this.onPlotChanged.bind(this)]]);
|
||
|
|
// console.log( nx.bridge.plot.vget( "id" ) + "当前的引导相关数据enable" + nx.bridge.plot.vget( "step" ) );
|
||
|
|
// 检查
|
||
|
|
this.backMainScene();
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// 关闭
|
||
|
|
onDisable: function onDisable() {
|
||
|
|
// 视图解绑
|
||
|
|
nx.bridge.plot.vunbind(this);
|
||
|
|
},
|
||
|
|
// 剧情改变
|
||
|
|
onPlotChanged: function onPlotChanged(_id) {
|
||
|
|
var _this = this;
|
||
|
|
var role = RoleController.getInstance().getRoleVo();
|
||
|
|
if (!nx.bridge.plot.configs) {
|
||
|
|
nx.mTip.openTip("tipTask.spine", role.lev < 30);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 筛选一次为进行的剧情
|
||
|
|
this.ids = [];
|
||
|
|
var mains = nx.bridge.plot.configs.base.mains;
|
||
|
|
var done = nx.bridge.plot.records.ids;
|
||
|
|
mains.forEach(function (_t) {
|
||
|
|
if (!nx.dt.arrMember(done, _t)) {
|
||
|
|
_this.ids.push(_t);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
nx.bridge.closePanel("WndSpecialSettle");
|
||
|
|
nx.bridge.closePanel("WndPlotGuide");
|
||
|
|
nx.bridge.closePanel("WndPlotDialogue");
|
||
|
|
var info = nx.bridge.plot.configs[_id];
|
||
|
|
if (nx.dt.objEmpty(info)) {
|
||
|
|
nx.mTip.openTip("tipTask.spine", role.lev < 30);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var wname = "";
|
||
|
|
switch (info.type) {
|
||
|
|
case PPT.Dialogue:
|
||
|
|
{
|
||
|
|
wname = "WndPlotDialogue";
|
||
|
|
}
|
||
|
|
break;
|
||
|
|
case PPT.Guide:
|
||
|
|
{
|
||
|
|
wname = "WndPlotGuide";
|
||
|
|
}
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
if (nx.dt.strNEmpty(wname)) {
|
||
|
|
if (nx.bridge.popups) {
|
||
|
|
nx.bridge.popups.clean();
|
||
|
|
}
|
||
|
|
if (nx.mTip) {
|
||
|
|
nx.mTip.openTip("tipTask.spine", false);
|
||
|
|
}
|
||
|
|
nx.bridge.createPanel(wname);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
// ====================================================
|
||
|
|
// 剧情触发
|
||
|
|
// ====================================================
|
||
|
|
|
||
|
|
// 回归主场景
|
||
|
|
backMainScene: function backMainScene() {
|
||
|
|
if (!nx.gui.find(nx.bridge.ui.getSceneNode(SCENE_TAG.scene), "MainScene")) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
nx.debug("$Plot:回归主场景,剧情触发检查...");
|
||
|
|
var role = RoleController.getInstance().getRoleVo();
|
||
|
|
// 引导未开启
|
||
|
|
if (!nx.bridge.plot) {
|
||
|
|
nx.mTip.openTip("tipTask.spine", role.lev < 30);
|
||
|
|
// if( !nx.bridge.plot || !nx.bridge.plot.opened ) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 老号不引导
|
||
|
|
var start = nx.bridge.plot.configs.base.start;
|
||
|
|
var done = nx.bridge.plot.records.ids;
|
||
|
|
if (!nx.dt.arrMember(done, start)) {
|
||
|
|
nx.mTip.openTip("tipTask.spine", role.lev < 30);
|
||
|
|
nx.bridge.vset("DailyPop", 1);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 进行中
|
||
|
|
var cur = nx.bridge.plot.vget("id");
|
||
|
|
if (nx.dt.strNEmpty(cur)) {
|
||
|
|
nx.mTip.openTip("tipTask.spine", false);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var queue = nx.dt.objClone(this.ids);
|
||
|
|
var check = function check() {
|
||
|
|
if (nx.dt.arrEmpty(queue)) {
|
||
|
|
nx.bridge.vset("DailyPop", 1);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
nx.bridge.plot.fire(queue.shift(), function (_ret, _data) {
|
||
|
|
if (!_ret) {
|
||
|
|
check();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
};
|
||
|
|
check();
|
||
|
|
},
|
||
|
|
// 回归战斗剧情主界面
|
||
|
|
backDramaHook: function backDramaHook() {
|
||
|
|
nx.debug("$Plot:回归战斗剧情主界面,剧情触发检查...");
|
||
|
|
|
||
|
|
// 引导未开启
|
||
|
|
if (!nx.bridge.plot) {
|
||
|
|
// if( !nx.bridge.plot || !nx.bridge.plot.opened ) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 进行中
|
||
|
|
var cur = nx.bridge.plot.vget("id");
|
||
|
|
if (nx.dt.strNEmpty(cur)) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var queue = nx.dt.objClone(nx.bridge.plot.configs.base.drama);
|
||
|
|
var check = function check() {
|
||
|
|
if (nx.dt.arrEmpty(queue)) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
nx.bridge.plot.fire(queue.shift(), function (_ret, _data) {
|
||
|
|
if (!_ret) {
|
||
|
|
check();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
};
|
||
|
|
check();
|
||
|
|
},
|
||
|
|
// 进入编队界面
|
||
|
|
backDramaTeamHook: function backDramaTeamHook() {
|
||
|
|
nx.debug("$Plot:进入编队界面,剧情触发检查...");
|
||
|
|
|
||
|
|
// 引导未开启
|
||
|
|
if (!nx.bridge.plot) {
|
||
|
|
// if( !nx.bridge.plot || !nx.bridge.plot.opened ) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// 进行中
|
||
|
|
var cur = nx.bridge.plot.vget("id");
|
||
|
|
if (nx.dt.strNEmpty(cur)) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var queue = nx.dt.objClone(nx.bridge.plot.configs.base.drama_team);
|
||
|
|
var check = function check() {
|
||
|
|
if (nx.dt.arrEmpty(queue)) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
nx.bridge.plot.fire(queue.shift(), function (_ret, _data) {
|
||
|
|
if (!_ret) {
|
||
|
|
check();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
};
|
||
|
|
check();
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
cc._RF.pop();
|