Files
fc/dev/project/library/imports/44/44b321ed-5d2c-4826-a646-ae03a4acd232.js
2026-05-24 10:21:26 +08:00

161 lines
4.8 KiB
JavaScript

"use strict";
cc._RF.push(module, '44b32HtXSxIJqZGrgOkrNIy', 'cmp.wing.scientfic.wnd');
// Scripts/mod/partner/wings/cmp/cmp.wing.scientfic.wnd.js
"use strict";
/******************************************************************
*
* 僚机科研
*
******************************************************************/
var BridgeWindow = require("bridge.window");
var HeroController = require("hero_controller");
var BackpackController = require("backpack_controller");
var ElfinConst = require("elfin_const");
var ElfinEvent = require("elfin_event");
var ElfinController = require("elfin_controller");
var FID = require("bridge.function.ids");
cc.Class({
"extends": BridgeWindow,
properties: {
svcScientficList: {
"default": [],
type: cc.Node,
displayName: "科研列表"
},
nodVipTip: {
"default": null,
type: cc.Node,
displayName: "特权介绍"
},
nodBackMain: {
"default": null,
type: cc.Node,
displayName: "返回主界面"
}
},
onLoad: function onLoad() {
this.bindGEvent(ElfinEvent.Get_Elfin_Hatch_Data_Event, this.freshWingList.bind(this));
this.freshWingList();
nx.gui.setActive(this, "panel/vip", false);
var cmp = nx.gui.getComponent(this, "panel/vip", cc.Button);
if (cmp) {
cmp.interactable = false;
}
},
// 重载:参数打开
onOpenConfigs: function onOpenConfigs(_params) {
if (this.nodBackMain) {
if (_params) {
nx.gui.setActive(this.nodBackMain, "", false);
} else {
nx.gui.setActive(this.nodBackMain, "", true);
}
}
},
// 重载:关闭前
onPreClosed: function onPreClosed() {},
// 刷新所有的方案列表
freshWingList: function freshWingList(_scheme) {
var Elfin = ElfinController.getInstance();
if (Elfin) {
var model = Elfin.getModel();
var lst = _scheme || model.getElfinHatchList();
for (var i = 0; i < this.svcScientficList.length; i++) {
var item = this.svcScientficList[i];
var cmp = item.getComponent("cmp.wing.scientfic.item");
if (cmp) {
cmp.freshAll(lst[i]);
}
}
}
nx.gui.setActive(this.nodVipTip, "", false);
},
// 刷新技能介绍
freshSkillDesc: function freshSkillDesc(_mdata) {
if (!_mdata) {
return;
}
var key = _mdata;
var sfg = gdata("sprite_data", "data_elfin_data", key);
var cmp = this.skill.getComponent("cmp.skill.base");
if (sfg.skill) {
if (cmp) {
cmp.setData(sfg.skill);
}
} else {
if (cmp) {
cmp.setData([]);
}
}
},
// 返回主场景
onBackToMain: function onBackToMain() {
var BC = BackpackController.getInstance();
if (BC) {
BC.openMainWindow(false);
}
var HR = HeroController.getInstance();
ElfinController.getInstance().openWingScientfic(false);
HR.openHeroMainInfoWindow(false);
HR.openHeroBagWindow(false);
},
onTouchVip: function onTouchVip() {
nx.gui.setActive(this.nodVipTip, "", !nx.gui.find(this.nodVipTip).active);
},
// 点击科研槽位
onTouchItem: function onTouchItem(_index) {
var EC = ElfinController.getInstance();
var index = parseInt(_index);
if (EC) {
var cmp = this.svcScientficList[index].getComponent("cmp.wing.scientfic.item");
if (cmp) {
var info = cmp.getInfo();
// console.log( index + "当前的数据点击" + JSON.stringify( info ) );
if (info.is_open != 1 && info.id != 5 && info.id != 6) {
EC.openElfinHatchUnlockPanel(true, info);
return;
}
if (info.is_open != 1 && (info.id == 5 || info.id == 6)) {
this.onTouchVip();
return;
}
if (info.is_open == 1 && info.state == 0) {
// 点击打开选择科研僚机面板
var setting = {};
setting.view_type = ElfinConst.Select_Type.Egg;
setting.hatch_id = index + 1;
EC.openElfSelectItemWindow(true, setting);
return;
}
if (info.is_open == 1 && info.state == 1) {
// 点击提示
nx.tbox(nx.text.getKey("elfin_hatch_item_1"));
return;
}
if (info.is_open == 1 && info.state == 2) {
// 点击领取
EC.sender26506(index + 1);
return;
}
}
}
// [26501]:{"sprite_hatch":[{"id":1,"is_open":1,"state":1,"do_id":10601,"all_end_time":1682555247}]}
// if( this.open == 0 ){
// nx.tbox( "unlocked" );
// }
// [server]#[recv] <<<[09:51:25][26506]:{"result":1,"msg":"","id":1,"awards":[{"item_bid":111002,"item_num":1}]}
// [server]#[recv] <<<[09:51:25][26501]:{"sprite_hatch":[{"id":1,"is_open":1,"state":0,"do_id":0,"all_end_time":1682743273}]}
},
onTouchActiveVip: function onTouchActiveVip() {
this.onTouchVip();
nx.bridge.jumper.jump2Window(FID.Charge, {
page: "shop"
});
}
});
cc._RF.pop();