商城界面

This commit is contained in:
chenxi 2023-05-15 10:43:10 +08:00
parent aa18b68b20
commit d1f4d67668
6 changed files with 84 additions and 26 deletions

View File

@ -295,6 +295,16 @@ function UIPrefabObject:fastGetSizeDelta()
end
end
function UIPrefabObject:fastGetSizeDeltaY()
if self.prefabHelper then
self.prefabHelper:CacheSizeDelt(self.objectIndex)
return self.prefabHelper.PositionY
else
local sizeDelta = self:getSizeDelta()
return sizeDelta.y
end
end
function UIPrefabObject:setPosition(x, y, z)
if self.prefabHelper then
self.prefabHelper:SetPosition(self.objectIndex, x, y, z)

View File

@ -38,14 +38,7 @@ function BoxSellCell:init()
self.cellHeight = BASE_CELL_HEIGHT
end
function BoxSellCell:refresh(y)
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.STORE_BOX_OPEN, true) then -- 没解锁的话第三个宝箱不显示
self.cellHeight = 0
self:setVisible(false)
return
end
self:setVisible(true)
self.baseObject:setAnchoredPositionY(-y)
function BoxSellCell:refresh()
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.STORE_BOX_3_OPEN, true) then -- 没解锁的话第三个宝箱不显示
self.cellHeight = BASE_CELL_HEIGHT + 20
self.baseObject:setSizeDeltaY(BASE_CELL_HEIGHT)
@ -66,6 +59,10 @@ function BoxSellCell:getCellHeight()
return self.cellHeight
end
function BoxSellCell:getIsOpen()
return ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.STORE_BOX_OPEN, true)
end
function BoxSellCell:setVisible(visible)
self.baseObject:setVisible(visible)
end

View File

@ -29,8 +29,7 @@ function GemSellCell:init()
end
end
function GemSellCell:refresh(y)
self.baseObject:setAnchoredPositionY(-y)
function GemSellCell:refresh()
local cfg = ConfigManager:getConfig("mall_treasure")
for k, v in ipairs(self.cells) do
v:refresh(k, cfg[k])
@ -41,6 +40,10 @@ function GemSellCell:getCellHeight()
return self.cellHeight
end
function GemSellCell:getIsOpen()
return true
end
function GemSellCell:setVisible(visible)
self.baseObject:setVisible(visible)
end

View File

@ -29,8 +29,7 @@ function GoldSellCell:init()
end
end
function GoldSellCell:refresh(y)
self.baseObject:setAnchoredPositionY(-y)
function GoldSellCell:refresh()
local cfg = ConfigManager:getConfig("mall_gold")
for k, v in ipairs(self.cells) do
v:refresh(k, cfg[k])
@ -41,6 +40,10 @@ function GoldSellCell:getCellHeight()
return self.cellHeight
end
function GoldSellCell:getIsOpen()
return true
end
function GoldSellCell:setVisible(visible)
self.baseObject:setVisible(visible)
end

View File

@ -2,17 +2,34 @@ local HotSellCell = class("HotSellCell", BaseCell)
function HotSellCell:init()
local uiMap = self.baseObject:genAllChildren()
self.cellHeight = 0
self.cellHeight = self.baseObject:fastGetSizeDeltaY() + 20
uiMap["hot_sell_cell.title_bg.text"]:setText("临时文本:每日特惠")
uiMap["hot_sell_cell.help_btn"]:addClickListener(function()
end)
self.timeTx = uiMap["hot_sell_cell.time_tx"]
self.cells = {
uiMap["hot_sell_cell.cell_1"],
uiMap["hot_sell_cell.cell_2"],
uiMap["hot_sell_cell.cell_3"],
uiMap["hot_sell_cell.cell_4"],
uiMap["hot_sell_cell.cell_5"],
uiMap["hot_sell_cell.cell_6"],
}
end
function HotSellCell:refresh()
self:setVisible(false)
end
function HotSellCell:getCellHeight()
return self.cellHeight
end
function HotSellCell:getIsOpen()
return true
end
function HotSellCell:setVisible(visible)
self.baseObject:setVisible(visible)
end

View File

@ -58,18 +58,46 @@ end
function ShopComp:refreshMainPage()
local y = 0
local cellHeight = 0
self.boxSellCell:refresh(y)
cellHeight = self.boxSellCell:getCellHeight()
y = y + cellHeight
self.hotSellCell:refresh(y)
cellHeight = self.hotSellCell:getCellHeight()
y = y + cellHeight
self.gemSellCell:refresh(y)
cellHeight = self.gemSellCell:getCellHeight()
y = y + cellHeight
self.goldSellCell:refresh(y)
cellHeight = self.goldSellCell:getCellHeight()
y = y + cellHeight
-- 宝箱
if self.boxSellCell:getIsOpen() then
self.boxSellCell:setVisible(true)
self.boxSellCell:refresh()
self.boxSellCell:getBaseObject():setAnchoredPositionY(0)
cellHeight = self.boxSellCell:getCellHeight()
y = y + cellHeight
else
self.boxSellCell:setVisible(false)
end
-- 每日特惠
if self.hotSellCell:getIsOpen() then
self.hotSellCell:setVisible(true)
self.hotSellCell:refresh()
self.hotSellCell:getBaseObject():setAnchoredPositionY(-y)
cellHeight = self.hotSellCell:getCellHeight()
y = y + cellHeight
else
self.hotSellCell:setVisible(false)
end
-- 钻石
if self.gemSellCell:getIsOpen() then
self.gemSellCell:setVisible(true)
self.gemSellCell:refresh()
self.gemSellCell:getBaseObject():setAnchoredPositionY(-y)
cellHeight = self.gemSellCell:getCellHeight()
y = y + cellHeight
else
self.gemSellCell:setVisible(false)
end
-- 金币
if self.goldSellCell:getIsOpen() then
self.goldSellCell:setVisible(true)
self.goldSellCell:refresh()
self.goldSellCell:getBaseObject():setAnchoredPositionY(-y)
cellHeight = self.goldSellCell:getCellHeight()
y = y + cellHeight
else
self.goldSellCell:setVisible(false)
end
self.mainScrollContent:setSizeDeltaY(y)
end