Files
fc/dev/project/library/imports/e9/e960ca44-a8b0-4c6a-b60d-a03fbbeed262.js
T
2026-05-24 10:21:26 +08:00

172 lines
5.2 KiB
JavaScript

"use strict";
cc._RF.push(module, 'e960cpEqLBMarYNoD+77tJi', 'cmp.wing.scientfic.item.wnd');
// Scripts/mod/partner/wings/cmp/cmp.wing.scientfic.item.wnd.js
"use strict";
/******************************************************************
*
* 选择 僚机Egg 操作
*
******************************************************************/
var BridgeWindow = require("bridge.window");
var ElfinController = require("elfin_controller");
var BackpackController = require("backpack_controller");
var ItemBase = require("cmp.item.base");
var ElfinEvent = require("elfin_event");
var TipsController = require("tips_controller");
cc.Class({
"extends": BridgeWindow,
properties: {
nodWingEgg: {
"default": null,
type: cc.Node
},
nodTimeDesc: {
"default": null,
type: cc.Node
},
nodResultDesc: {
"default": null,
type: cc.Node
},
nodBuy: {
"default": null,
type: cc.Node
}
},
onLoad: function onLoad() {
this.bindGEvent(ElfinEvent.Buy_Elfin_Item_Success_Event, this.freshScientficInfo.bind(this));
this.freshScientficInfo();
},
// 重载:参数打开
onOpenConfigs: function onOpenConfigs(_params) {
// console.log( "孵化数据" + JSON.stringify( _params ) );
this.pos = _params.hatch_id;
},
freshScientficInfo: function freshScientficInfo() {
// 默认的显示 读取的是sprite_data表里的数据
var cfg = game.configs.sprite_data.data_hatch_egg;
var chd = this.nodWingEgg.children;
this.cfgs = [];
nx.gui.setActive(this.nodResultDesc, "", false);
nx.gui.setActive(this.nodTimeDesc, "", false);
for (var i in cfg) {
var item = cfg[i];
// this.nodWingEgg[i].outFocus();
this.cfgs.push(item);
// this.nodWingEgg[i].setData( item.item_bid );
}
this.cfgs.sort(Utils.tableLowerSorter(["item_bid"]));
// let item
for (var _i = 0; _i < this.cfgs.length; _i++) {
var _item = this.cfgs[_i];
var cmp = chd[_i].getComponent(ItemBase);
if (cmp) {
cmp.outFocus();
cmp.setData(_item.item_bid);
}
}
},
onTouchItem: function onTouchItem(_index) {
var chd = this.nodWingEgg.children;
for (var i = 0; i < chd.length; i++) {
var item = chd[i];
var cmp = item.getComponent(ItemBase);
if (cmp) {
if (_index == i) {
cmp.onFocus();
this.freshDesc(cmp.mdata);
} else {
cmp.outFocus();
}
}
}
},
freshDesc: function freshDesc(_item_bid) {
var cfg = game.configs.sprite_data.data_hatch_egg[_item_bid];
var rate = game.configs.sprite_data.data_const.hatch_rate.val;
if (nx.dt.objNEmpty(cfg)) {
var time = cfg.need_piont * rate;
var h = Math.floor(time / 3600);
var m = time % 60;
nx.gui.setString(this.nodTimeDesc, "txt", nx.text.format("NeedTime", h, m));
nx.gui.setString(this.nodResultDesc, "txt", cfg.desc);
nx.gui.setActive(this.nodResultDesc, "", true);
nx.gui.setActive(this.nodTimeDesc, "", true);
}
nx.gui.setActive(this.nodBuy, "", cfg.can_buy > 0);
this.item_id = _item_bid;
},
onTouchSure: function onTouchSure() {
var EC = ElfinController.getInstance();
if (!this.item_id) {
nx.tbox(nx.text.getKey("SelectOneWing"));
return;
}
if (EC) {
EC.sender26503(this.pos, this.item_id);
this.close();
}
},
// 合成
onTouchMerge: function onTouchMerge() {
var BC = BackpackController.getInstance();
if (BC) {
// 10601
var cfg = gdata("item_data", "data_unit1", this.item_id);
var mat = game.configs.sprite_data.data_const.liaoji_materials.val[0];
var needCount = game.configs.sprite_data.data_const.liaoji_materials.val[1];
var all = BC.getModel().getBagItemList(1); // 获取对应背包类型的物品列表
this.data = {};
for (var i in all) {
var item = all[i];
if (item.base_id == mat) {
this.data = item;
}
}
// console.log(mat + "物品数据当前显示" + JSON.stringify( this.data ) );
var count = BackpackController.getInstance().getModel().getItemNumByBid(mat);
if (count < needCount) {
var TC = TipsController.getInstance();
if (TC) {
nx.tbox("tip_noEnoughMaterial");
// TC.showItemTips( mat );
}
return;
}
// console.log(this.item_id + "物品数据" + JSON.stringify( all ) );
ElfinController.getInstance().openElfinEggSyntheticPanel(true, mat);
// this.scheduleOnce( ()=> {
// ElfinController.getInstance().openElfSelectItemWindow( false );
// }, 0.1 );
// BC.openItemMergePanel( true, this.data, BBC.BACKPACK );
}
},
// 购买
onTouchBuy: function onTouchBuy() {
if (!this.item_id) {
nx.tbox(nx.text.getKey("SelectOneWing"));
return;
}
var EC = ElfinController.getInstance();
if (EC) {
var type = 1;
EC.openBuyPanel(true, this.item_id, type, function (_data) {
var EC = ElfinController.getInstance();
EC.sender26507(_data.type, _data.item_id, _data.num);
EC.openBuyPanel(false);
});
// this.scheduleOnce( ()=> {
// ElfinController.getInstance().openElfSelectItemWindow( false );
// }, 0.1 );
}
}
});
cc._RF.pop();