SupremeVipShopView = SupremeVipShopView or BaseClass(BaseItem)
|
|
local SupremeVipShopView = SupremeVipShopView
|
|
|
|
function SupremeVipShopView:__init()
|
|
self.base_file = "supremeVip"
|
|
self.layout_file = "SupremeVipShopView"
|
|
self.model = SupremeVipModel:getInstance()
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function SupremeVipShopView:Load_callback()
|
|
self.nodes = {
|
|
"starDiamondBtn:obj", "starIcon:img",
|
|
"des1Img:img",
|
|
"ScrollView", "ScrollView/Viewport/Content",
|
|
"starDiamondNum:tmp",
|
|
"shopBg:img",
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
|
|
-- self.model:Fire(SupremeVipConst.REQUEST_CCMD_EVENT,45104)--查询商城限购数据
|
|
lua_resM:setOutsideImageSprite(self,self.des1Img_img,GameResPath.GetSupremeVipIcon("supremeVip_des_7_pointfilter"),false,nil)
|
|
lua_resM:setOutsideImageSprite(self,self.shopBg_img,GameResPath.GetSupremeVipIcon("supremeVip_right_bg_long"),false,nil)
|
|
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function SupremeVipShopView:AddEvents( )
|
|
local on_click = function ( click_obj )
|
|
if self.starDiamondBtn_obj == click_obj then
|
|
OpenFun.Open(450,1)
|
|
end
|
|
end
|
|
AddClickEvent(self.starDiamondBtn_obj, on_click)--获得星钻
|
|
|
|
|
|
--查询商城限购数据后,刷新商城item展示
|
|
local function update_shop_con()
|
|
self:UpdateShopCon()
|
|
end
|
|
self:BindEvent(self.model, SupremeVipConst.UPDATE_SUPREME_VIP_SHOP_CON,update_shop_con)
|
|
|
|
--星钻数量变更
|
|
local function update_star_diamond_num()
|
|
self:UpdateStarDiamondNum()
|
|
end
|
|
self:BindEvent(self.model, SupremeVipConst.REFRESH_STAR_DIAMOND_NUM,update_star_diamond_num)
|
|
end
|
|
|
|
function SupremeVipShopView:UpdateView( )
|
|
self:UpdateStarDiamondNum()
|
|
self:UpdateShopCon()
|
|
end
|
|
|
|
--刷新星钻数
|
|
function SupremeVipShopView:UpdateStarDiamondNum( )
|
|
self.starDiamondNum_tmp.text = self.model.star_gold
|
|
end
|
|
|
|
--刷新商城列表
|
|
function SupremeVipShopView:UpdateShopCon( )
|
|
local shop_cfg = self.model:GetSupremeVipShopCfg()
|
|
|
|
-- if not self.item_list_com then
|
|
-- self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
|
|
-- end
|
|
-- local info = {
|
|
-- data_list = shop_cfg,
|
|
-- item_con = self.Content,
|
|
-- item_class = SupremeVipShopItem,
|
|
-- item_width = SupremeVipShopItem.Width,
|
|
-- item_height = SupremeVipShopItem.Height,
|
|
-- space_x = 14,
|
|
-- space_y = -5,
|
|
-- start_x = 2,
|
|
-- start_y = 7,
|
|
-- scroll_view = self.ScrollView,
|
|
-- -- create_frequency = 0.01,
|
|
-- reuse_item_num = 999,
|
|
-- on_update_item = function(item, i, v)
|
|
-- item:SetData(v,i)
|
|
-- end,
|
|
-- }
|
|
-- self.item_list_com:UpdateItems(info)
|
|
|
|
self.item_list = self.item_list or {}
|
|
for k,v in pairs(self.item_list) do
|
|
v:SetVisible(false)
|
|
end
|
|
|
|
local offset_x = 14+146
|
|
local offset_y = -5+181
|
|
local show_col = 4
|
|
for i,v in ipairs(shop_cfg) do
|
|
local item = self.item_list[i]
|
|
if not item then
|
|
item = SupremeVipShopItem.New(self.Content)
|
|
self.item_list[i] = item
|
|
end
|
|
item:SetVisible(true)
|
|
item:SetAnchoredPosition(2+offset_x*((i-1)%show_col), 7-offset_y*math.floor((i-1)/show_col))
|
|
item:SetData(v,i)
|
|
end
|
|
SetSizeDeltaY(self.Content,math.ceil(#shop_cfg/show_col)*offset_y+8)
|
|
|
|
end
|
|
|
|
function SupremeVipShopView:SetData( data )
|
|
self.data = data
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function SupremeVipShopView:__delete( )
|
|
for k,v in pairs(self.item_list) do
|
|
v:DeleteMe()
|
|
v = nil
|
|
end
|
|
self.item_list = {}
|
|
end
|