源战役客户端
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 

128 rader
3.3 KiB

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