Files
fc/dev/project/library/imports/f5/f5900b63-94e1-4517-82ea-94cec85ef0bf.js
T

195 lines
5.1 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"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();