172 lines
5.2 KiB
JavaScript
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();
|