"use strict"; cc._RF.push(module, 'eb54dSn5dxBGLp6JUy1UrXe', 'pop.items.buy'); // Scripts/mod/tips/popup/pop.items.buy.js "use strict"; /**** * 购买 */ var ItemBase = require("cmp.item.base"); var BridgeWindow = require("bridge.window"); var SliderProgress = require("cmp.slider.prog.selector"); var BackPackController = require("backpack_controller"); var ElfinController = require("elfin_controller"); var TDefine = require("trace.define"); var TTT = TDefine.TraceType; cc.Class({ "extends": BridgeWindow, properties: { cmpItem: { "default": null, type: ItemBase }, cmpCounter: { "default": null, type: SliderProgress }, nodPrice: { "default": null, type: cc.Node }, nodMat: { "default": null, type: cc.Node }, nodResult: { "default": null, type: cc.Node } }, // 重载:参数打开 onOpenConfigs: function onOpenConfigs(_params) { // console.log( "购买的数据" + JSON.stringify( _params ) ); // this.item = _params[0]; this.item = _params.data; this.extra_data = _params.type; this.cb = _params.cb; // if (!this.item || !this.config) { // nx.error("[Merge]合成失败,参数无效!"); // return; // } // 重建 this.rebuild(); }, // 重建 rebuild: function rebuild() { var _this = this; if (this.extra_data == 1) { // 道具信息 this.cmpItem.setData(this.item); } else { // 道具信息 this.cmpItem.setData(this.item.item_bid || this.item.item_id); } // // 数量范围&&默认 var Bag = BackPackController.getInstance().getModel(); // 显示单个信息 var pfg = {}; var icon = 0; // 孵化 僚機購買 if (this.extra_data == 1) { pfg = game.configs.sprite_data.data_hatch_egg[this.item]; this.price = pfg.price[0][1]; icon = pfg.price[0][0]; } if (this.extra_data == 2 || this.extra_data == 4) { if (this.item.limit_count > 0) { pfg.limit_num = this.item.limit_count - this.item.has_buy; } if (this.item.limit_day > 0) { pfg.limit_num = this.item.limit_day - this.item.has_buy; } if (this.item.limit_week > 0) { pfg.limit_num = this.item.limit_week - this.item.has_buy; } if (this.item.limit_month > 0) { pfg.limit_num = this.item.limit_month - this.item.has_buy; } this.price = this.item.discount > 0 ? this.item.discount : this.item.price; pfg.limit_num = !pfg.limit_num ? Math.floor(parseInt(Bag.getItemNumByBid(this.item.pay_type) / this.price)) : pfg.limit_num; icon = this.item.pay_type; } // 戰體商店 if (this.extra_data == 28) { if (this.item.limit_count > 0) { pfg.limit_num = this.item.limit_count - this.item.has_buy; } if (this.item.limit_day > 0) { pfg.limit_num = this.item.limit_day - this.item.has_buy; } if (this.item.limit_week > 0) { pfg.limit_num = this.item.limit_week - this.item.has_buy; } if (this.item.limit_month > 0) { pfg.limit_num = this.item.limit_month - this.item.has_buy; } this.price = this.item.discount > 0 ? this.item.discount : this.item.price; var can = Bag.getItemNumByBid(this.item.pay_type) >= parseInt(this.price * pfg.limit_num); pfg.limit_num = !pfg.limit_num || !can ? Math.floor(parseInt(Bag.getItemNumByBid(this.item.pay_type) / this.price)) : pfg.limit_num; icon = this.item.pay_type; } // 競技場購買 if (this.extra_data == 5) { this.price = this.item.price; pfg.limit_num = !pfg.limit_num ? Math.floor(parseInt(Bag.getItemNumByBid(this.item.pay_type) / this.price)) : pfg.limit_num; icon = this.item.pay_type; } // 冠軍賽下注 if (this.extra_data == 9) { this.price = this.item.price; pfg.limit_num = this.item.own; icon = this.item.pay_type; } nx.bridge.setIconS(this.nodPrice, "icon", icon); nx.gui.setString(this.nodPrice, "txt", nx.dt.shortCount(this.price)); nx.bridge.setIconS(this.nodMat, "mat1/icon", icon); var canMergeCount = pfg.limit_num; // 设置滚动条 this.cmpCounter.build(1, canMergeCount, 1, function (_count) { _this.changeCount(_count); }); }, // 数量改变 changeCount: function changeCount(_count) { nx.gui.setActive(this.nodMat, "", _count > 0); if (this.cur == _count || !nx.dt.numPositive(_count, false)) { return; } nx.gui.setString(this.nodMat, "mat1/txt", nx.dt.shortCount(this.price * _count)); this.cur = _count; }, // 点击合成按钮 onTouchBuy: function onTouchBuy() { if (this.extra_data == 1) { var data = { type: this.extra_data, item_id: this.item, num: this.cur }; // 返回 nx.dt.fnInvoke(this.cb, data); // {"type":1,"item_id":10602,"num":1} } // 兌換商城 if (this.extra_data == 2) { // [13407]:{"order":2,"type":2,"buy_type":1,"num":1} if (this.item.limit_count > 0 && this.item.pay_type != 3) { var _data = { order: this.item.order, type: this.extra_data, buy_type: 1, num: this.cur }; // 返回 nx.dt.fnInvoke(this.cb, _data); return; } if (this.item.limit_count > 0 && this.item.pay_type == 3 || this.item.limit_count < 0) { var _data2 = { eid: this.item.id, num: this.cur }; // console.log( JSON.stringify( this.item ) + "顯示" ); nx.mTrace.trace(TTT.buyStart, this.item.id, this.cur); // 返回 nx.dt.fnInvoke(this.cb, _data2); // {"type":1,"item_id":10602,"num":1} } } if (this.extra_data == 28) { // [13407]:{"order":2,"type":2,"buy_type":1,"num":1} var _data3 = { eid: this.item.id, num: this.cur }; // 返回 nx.dt.fnInvoke(this.cb, _data3); return; } // 兌換商城 if (this.extra_data == 4) { // [13407]:{"order":2,"type":2,"buy_type":1,"num":1} var _data4 = { order: this.item.order, type: this.extra_data, buy_type: 1, num: this.cur }; // 返回 nx.dt.fnInvoke(this.cb, _data4); return; } if (this.extra_data == 5 || this.extra_data == 9) { // [13407]:{"order":2,"type":2,"buy_type":1,"num":1} var _data5 = { num: this.cur }; // 返回 nx.dt.fnInvoke(this.cb, _data5); return; } } }); cc._RF.pop();