"use strict";
|
cc._RF.push(module, '37f92t1dTRJi6+ivqolkPd8', 'action_limit_buy_item');
|
// Scripts/mod/action/view/action_limit_buy_item.js
|
|
"use strict";
|
|
var PathTool = require("pathtool");
|
|
var ActionController = require("action_controller");
|
|
var ActionConst = require("action_const");
|
|
var StrongerController = require("stronger_controller");
|
|
var CommonScrollView = require("common_scrollview");
|
|
var VipController = require("vip_controller");
|
|
var HeroController = require("hero_controller");
|
|
var ActionLimitBuyItem = cc.Class({
|
"extends": BasePanel,
|
ctor: function ctor() {
|
this.prefabPath = PathTool.getPrefabPath("action", "action_limit_buy_item");
|
this.ctrl = ActionController.getInstance();
|
},
|
// 可以初始化声明一些变量的
|
initConfig: function initConfig() {},
|
// 初始化一些配置数据,可以用于声明一些变量之类的
|
initPanel: function initPanel() {
|
var self = this;
|
self.main_container = self.root_wnd.getChildByName("main_container");
|
self.title_label = self.main_container.getChildByName("title_label").getComponent(cc.Label);
|
self.goods_con = self.main_container.getChildByName("goods_con");
|
self.has_bg = self.main_container.getChildByName("has_bg");
|
self.has_bg.active = false;
|
self.btn = self.main_container.getChildByName("btn");
|
self.btn_state = self.btn.getComponent(cc.Button);
|
self.old_price = self.main_container.getChildByName("old_price");
|
self.price_line = self.old_price.getChildByName("price_line");
|
self.limit_rt = self.main_container.getChildByName("limit_label").getComponent(cc.RichText);
|
self.num = self.btn.getChildByName("num").getComponent(cc.Label);
|
self.line = self.btn.getChildByName("num").getComponent(cc.LabelOutline);
|
var scroll_view_size = self.goods_con.getContentSize();
|
var setting = {
|
item_class: "backpack_item",
|
//-- 单元类
|
start_x: 3,
|
//-- 第一个单元的X起点
|
space_x: 15,
|
//-- x方向的间隔
|
start_y: 11,
|
//-- 第一个单元的Y起点
|
space_y: 4,
|
//-- y方向的间隔
|
item_width: 120 * 0.7,
|
//-- 单元的尺寸width
|
item_height: 120 * 0.7,
|
//-- 单元的尺寸height
|
row: 1,
|
//-- 行数,作用于水平滚动类型
|
col: 0,
|
//-- 列数,作用于垂直滚动类型
|
scale: 0.7
|
};
|
self.item_scrollview = new CommonScrollView();
|
self.item_scrollview.createScroll(self.goods_con, cc.v2(0, 0), ScrollViewDir.horizontal, ScrollViewStartPos.top, scroll_view_size, setting);
|
|
if (this.data) {
|
this.setData(this.data);
|
}
|
},
|
// 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
|
registerEvent: function registerEvent() {
|
var self = this;
|
this.btn.on('click', function () {
|
Utils.playButtonSound(1);
|
|
if (this.data) {
|
if (self.data.status == 0 && self.touch_limit_buy == true) {
|
// self.touch_limit_buy = null
|
var new_price = Utils.keyfind('aim_args_key', 27, self.data.aim_args) || {};
|
SDK.pay(new_price.aim_args_val, 1, self.data.aim, self.data.aim_str); // if(self.send_limit_buy_ticket == null){
|
// self.send_limit_buy_ticket = GlobalTimeTicket:getInstance():add(function()
|
// self.touch_limit_buy = true
|
// if self.send_limit_buy_ticket ~= null then
|
// GlobalTimeTicket:getInstance():remove(self.send_limit_buy_ticket)
|
// self.send_limit_buy_ticket = null
|
// end
|
// end,2)
|
// }
|
} else if (self.data.status == 2) {
|
message(Utils.TI18N("已经购买完了"));
|
}
|
}
|
}, this);
|
},
|
// 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
|
onShow: function onShow(params) {},
|
// 面板设置不可见的回调,这里做一些不可见的屏蔽处理
|
onHide: function onHide() {},
|
setData: function setData(data) {
|
if (!data) return;
|
this.data = data;
|
var self = this;
|
|
if (this.root_wnd) {
|
this.touch_limit_buy = true;
|
self.data = data;
|
var list = [];
|
|
for (var k = 0; k < data.item_list.length; ++k) {
|
var v = data.item_list[k];
|
|
if (v && v.bid) {
|
list.push(v);
|
}
|
}
|
|
self.item_scrollview.setData(list);
|
self.item_scrollview.addEndCallBack(function () {
|
self.item_scrollview.scroll_view_compend.enabled = false;
|
var itemList = self.item_scrollview.getItemList();
|
|
for (var _k = 0; _k < itemList.length; ++_k) {
|
var _v = itemList[_k];
|
|
_v.setDefaultTip(true, false);
|
}
|
}.bind(this));
|
var discount = Utils.keyfind('aim_args_key', 26, data.aim_args) || {};
|
var new_price = Utils.keyfind('aim_args_key', 27, data.aim_args) || {};
|
var txt = "原价:¥ " + discount.aim_args_val;
|
self.old_price.getComponent(cc.Label).string = txt;
|
self.price_line.active = true;
|
var price_str = "¥ " + new_price.aim_args_val;
|
self.num.string = price_str;
|
self.title_label.string = data.aim_str;
|
|
var _type = self.getValByKey(data.aim_args, 7) || 0;
|
|
var max_num = self.getValByKey(data.aim_args, 2) || 0;
|
var cur_num = self.getValByKey(data.aim_args, 6) || 0;
|
var str = "";
|
|
if (_type == 1) {
|
//--日限购
|
if (max_num >= 0 && max_num != 0 && cur_num >= 0) {
|
str = "每周限购" + max_num + "个: (" + "<color=#249003>" + cur_num + "</color>/" + max_num + ")";
|
}
|
} else if (_type == 2) {
|
// --累计限购
|
if (max_num >= 0 && max_num != 0 && cur_num >= 0) {
|
str = "总限购" + max_num + "个: (" + "<color=#249003>" + cur_num + "</color>/" + max_num + ")";
|
}
|
}
|
|
self.limit_rt.string = str;
|
|
if (data.sort_index == 2) {
|
self.btn_state.interactable = false;
|
self.btn_state.enableAutoGrayEffect = true;
|
self.line.enabled = false;
|
} else {
|
self.btn_state.interactable = true;
|
self.btn_state.enableAutoGrayEffect = false;
|
self.line.enabled = true;
|
}
|
}
|
},
|
getValByKey: function getValByKey(aim_args, key) {
|
if (!aim_args) {
|
return 0;
|
}
|
|
var val = 0;
|
|
for (var i = 0; i < aim_args.length; ++i) {
|
var v = aim_args[i];
|
|
if (v.aim_args_key == key) {
|
val = v.aim_args_val;
|
}
|
}
|
|
return val;
|
},
|
// 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
|
onDelete: function onDelete() {
|
if (this.item_scrollview) {
|
this.item_scrollview.deleteMe();
|
this.item_scrollview = null;
|
}
|
}
|
});
|
|
cc._RF.pop();
|