"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();