"use strict"; cc._RF.push(module, 'f884fyhs61Mo5eEn3EXxUsV', 'cmp.guildmarket.buy'); // Scripts/mod/guild/marketplace/cmp/cmp.guildmarket.buy.js "use strict"; var GuildMarketMod = require("guildmarketplace_controller"); var BridgeWindow = require("bridge.window"); var MarketEvent = require("guildmarketplace_event"); var MarketConst = require("guildmarketplace_const"); var BackPackConst = require("backpack_const"); var BackPackController = require("backpack_controller"); cc.Class({ "extends": BridgeWindow, properties: { fabItem: { "default": null, type: cc.Prefab }, tag: { "default": null, type: cc.Node }, tips: { "default": null, type: cc.Node }, sld: { "default": null, type: cc.Slider }, bar: { "default": null, type: cc.ProgressBar }, totalPrice: { "default": null, type: cc.Node }, iname: { "default": null, type: cc.Node }, buyTxt: { "default": null, type: cc.Node }, buyBtn: { "default": null, type: cc.Node }, sellBtn: { "default": null, type: cc.Node } }, // LIFE-CYCLE CALLBACKS: onLoad: function onLoad() { this.mod = GuildMarketMod.getInstance(); this.buy_num = 0; this.sld.node.on("slide", this.onSliding.bind(this)); // this.bindGEvent(MarketEvent.GUILD_MARKET_PLACE_ITEM_EVENT,this.updateMarketItems.bind(this)); }, onSliding: function onSliding() { var num = Math.ceil(this.sld.progress * this.totalNum); if (num >= this.totalNum) { num = this.totalNum; } this.buy_num = num; this.updateNum(); }, onOpenConfigs: function onOpenConfigs(params) { if (!params || !params.data) { return this.delayClose(); } this.data = params.data; this.totalNum = this.data.num || this.data.quantity; this.is_sell = params.is_sell; this.iCfg = this.mod.getModel().getMarketCfg(this.data.base_id); if (this.iCfg) { if (params.is_sell) { nx.gui.setString(this.tips, "", ""); this.buyBtn.active = false; this.sellBtn.active = true; } else { nx.gui.setString(this.totalPrice, "", cc.js.formatStr("%s", this.iCfg.price[0], 0)); var sec = nx.bridge.time.toNeedSeconds(this.data.end_time[0].end_unixtime - client.socket.getTime()); nx.gui.setString(this.tips, "", cc.js.formatStr(nx.text.getKey("GuildMktOver"), this.data.end_time[0].end_num, sec)); this.buyBtn.active = true; this.sellBtn.active = false; } this.updateNum(); nx.gui.setString(this.iname, "", this.iCfg.name); var item = cc.instantiate(this.fabItem); item.parent = this.tag; var cmp = nx.gui.getComponent(item, "", "cmp.item.base"); if (cmp) { cmp.rebind(0, { bid: this.iCfg.id, num: 0 }, ""); } } }, onPreClosed: function onPreClosed() {}, updateNum: function updateNum() { nx.gui.setString(this.buyTxt, "", this.buy_num); this.bar.progress = this.buy_num / this.totalNum; this.sld.progress = this.buy_num / this.totalNum; if (this.is_sell) { var ico = 0; var pri = 0; if (this.iCfg.sell.length > 0) { ico = this.iCfg.sell[0][0]; pri = this.iCfg.sell[0][1]; } nx.gui.setString(this.totalPrice, "", cc.js.formatStr("%s", ico, pri * this.buy_num)); } else { nx.gui.setString(this.totalPrice, "", cc.js.formatStr("%s", this.iCfg.price[0][0], this.iCfg.price[0][1] * this.buy_num)); } }, touchMax: function touchMax() { this.buy_num = this.totalNum; this.updateNum(); }, touchAdd: function touchAdd() { this.buy_num++; if (this.buy_num >= this.totalNum) this.buy_num = this.totalNum; this.updateNum(); }, touchSub: function touchSub() { this.buy_num--; if (this.buy_num <= 0) this.buy_num = 0; this.updateNum(); }, touchBuy: function touchBuy() { var _this = this; if (this.buy_num > 0 && this.data.id) { this.mod.sender26902(this.data.id, this.buy_num, function (_data) { if (_data) { _this.close(); } }); } else { if (this.buy_num <= 0) { nx.tbox("arean_loop_str2"); this.close(); } else if (!this.data.id) { this.close(); } } }, touchSell: function touchSell() { var _this2 = this; var stor_type = this.mod.getModel().getStorageType(this.data.config.sub_type); this.mod.sender26901(this.data.id, this.buy_num, stor_type, function (_data) { if (_data) { _this2.close(); } }); } }); cc._RF.pop();