Files
fc/dev/project/library/imports/37/379471cf-464e-4800-ab0c-55e3d2982c90.js
T

206 lines
6.2 KiB
JavaScript
Raw Normal View History

2026-05-24 10:21:26 +08:00
"use strict";
cc._RF.push(module, '37947HPRk5IAKsMVePSmCyQ', 'cmp.adventure.selectmodel');
// Scripts/mod/pve/adventure/cmp/cmp.adventure.selectmodel.js
"use strict";
var BridgeWindow = require("bridge.window");
var ADVCT = require("adventure_controller");
var ADVCONST = require("adventure_const");
var ADEVT = require("adventure_event");
var ItemLay = require("cmp.common.itemlayout");
var TipsController = require("tips_controller");
cc.Class({
"extends": BridgeWindow,
properties: {
//周回
times: {
"default": null,
type: cc.Node
},
energy: {
//體力值
"default": null,
type: cc.Node
},
exps: {
//進度
"default": null,
type: cc.Node
},
upHeros: {
//up英雄
"default": null,
type: ItemLay
},
upCamps: {
//up陣營
"default": null,
type: cc.Node
},
itemCamp: {
"default": null,
type: cc.Node
},
//無盡
lastNum: {
//剩餘次數
"default": null,
type: cc.Node
},
curFloor: {
"default": null,
type: cc.Node
},
maxFloor: {
"default": null,
type: cc.Node
},
times2: {
"default": null,
type: cc.Node
}
},
// LIFE-CYCLE CALLBACKS:
onLoad: function onLoad() {
this.ctrl = ADVCT.getInstance();
this.bindGEvent(ADEVT.Init_Model_Win, this.initBase.bind(this));
this.bindGEvent(ADEVT.UpModel_Up_Cfg, this.initUpCfgs.bind(this));
this.bindGEvent(ADEVT.Buy_Energy, this.updateBuyEnergy.bind(this));
},
updateBuyEnergy: function updateBuyEnergy(energy) {
nx.gui.setString(this.energy, "", energy);
},
initBase: function initBase(data) {
this.ctrl.send29509(2); //需要周回模式的up英雄
this.data = data;
//周回
nx.gui.setString(this.energy, "", data.energy);
nx.gui.setCdTxt(this.times, "", data.end_time - data.start_time);
nx.gui.setString(this.exps, "", cc.js.formatStr(nx.text.getKey("AdvenExplore"), data.explore));
//無盡
nx.gui.setString(this.lastNum, "", nx.text.getKey("lab_limitexercise_panel_tip2") + data.times);
nx.gui.setString(this.curFloor, "", cc.js.formatStr(nx.text.getKey("AdvenFloors"), data.id));
nx.gui.setString(this.maxFloor, "", data.pass_id);
nx.gui.setCdTxt(this.times2, "", data.end_time - data.start_time);
},
initUpCfgs: function initUpCfgs(data) {
var list = [];
for (var i in data.partner_up_list) {
var bid = data.partner_up_list[i].bid;
var cfg = game.configs.partner_data.data_partner_base[bid];
if (cfg) {
list.push(cfg);
}
}
this.upHeros.rebuild(list);
nx.bridge.NodeChidrenDestroy(this.upCamps);
for (var id in data.camp_list) {
var res_path = cc.js.formatStr("coms/images/camps%s", data.camp_list[id].camp_id);
var camp = cc.instantiate(this.itemCamp);
camp.parent = this.upCamps;
camp.active = true;
camp.y = 0;
nx.gui.setSpriteFrame(camp, "", res_path);
}
},
start: function start() {},
onOpenConfigs: function onOpenConfigs(params) {
var _this = this;
this.ctrl.send29500(1);
// 引导辅助
if (nx.bridge.plot && nx.bridge.plot.isDoing()) {
this.scheduleOnce(function () {
_this.positionPlotCells();
}, 1);
}
},
onPreClosed: function onPreClosed() {
this.upHeros.rebuild([]);
nx.bridge.NodeChidrenDestroy(this.upCamps);
},
selectModel: function selectModel(e) {
var model_type = Number(e);
this.ctrl.setPlayModel(model_type || 1);
if (model_type == ADVCONST.PLAY_MODEL.ENDLESS) {
//直接进入主界面,再确认是不是需要选英雄
nx.bridge.createPanel("WndAdventureMain", {
type: model_type
});
} else if (model_type == ADVCONST.PLAY_MODEL.WEEKLY) {
//进入英雄上阵专属界面,此功能基于玩家背包英雄数据
if (this.data.explore == 0) {
//未开始,则可以选择英雄
nx.bridge.createPanel("WndAdventureWeeklyHero", {});
} else {
nx.bridge.createPanel("WndAdventureMain", {
type: model_type
});
}
}
this.close();
},
onClickWeeklyAward: function onClickWeeklyAward() {
nx.bridge.createPanel("WndAdventureExploreAward", {});
},
onClickEndlessAward: function onClickEndlessAward() {
nx.bridge.createPanel("WndAdventureEndlessAward", {});
},
onTouchWeeklyRule: function onTouchWeeklyRule() {
var txt = game.configs.adventure_weekly_data.data_explain;
TipsController.getInstance().showDetailPanel(txt);
},
onTouchEndlessRule: function onTouchEndlessRule() {
var txt = game.configs.adventure_endless_data.data_explain;
TipsController.getInstance().showDetailPanel(txt);
},
clickAddPower: function clickAddPower() {
var _this2 = this;
var cfg = game.configs.adventure_weekly_data.data_adventure_const.prize;
var buyLimit = game.configs.adventure_weekly_data.data_adventure_const.buy_condition.val;
var str = cc.js.formatStr(nx.text.getKey("AdvenBuyEnerg"), cfg.val[0], cfg.val[1], buyLimit[1], buyLimit[0]);
nx.mbox(str, ["cancel", "confirm"], function (_key, _box) {
_box.close();
if (_key == "confirm") {
_this2.ctrl.send29513();
}
});
},
clickReset: function clickReset() {
// if(this.data.times > 0){
this.ctrl.send29512();
// }
},
clickHelp: function clickHelp() {
nx.bridge.createPanel("WndPlotPictures", {
id: "adventure"
});
},
// ============================================
// 引导辅助
// ============================================
// 定位副本輔助热区
positionPlotCells: function positionPlotCells() {
var node = nx.gui.find(this, "main/help");
if (!node) {
return nx.error("$Dispatch:定位第一个派遣订单失败!");
}
var cell = nx.gui.find(this, "plotCell");
var btn = node;
var pos = btn.convertToWorldSpaceAR(cc.Vec2.ZERO);
cell.position = cell.parent.convertToNodeSpaceAR(pos);
cell.width = btn.width;
cell.height = btn.height;
},
onTouchFirstHelp: function onTouchFirstHelp() {
var cell = nx.gui.find(this, "plotCell");
if (cell) {
this.clickHelp();
}
}
// update (dt) {},
});
cc._RF.pop();