EmpowerShopView = EmpowerShopView or BaseClass(BaseItem)
|
|
local EmpowerShopView = EmpowerShopView
|
|
|
|
function EmpowerShopView:__init()
|
|
self.base_file = "empower"
|
|
self.layout_file = "EmpowerShopView"
|
|
self.emShop_item_list ={}
|
|
self.model = EmpowerModel:GetInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function EmpowerShopView:Load_callback()
|
|
self.nodes = {
|
|
"freshBtn/confirmBtnText:tmp",
|
|
"lb_des:tmp", "freshBtn:obj"
|
|
}
|
|
self:GetChildren(self.nodes)
|
|
self.itemCon = self:GetChild("ScrollView/Viewport/Content")
|
|
self.girlIcon = self:GetChild("girlIcon"):GetComponent("RawImage")
|
|
lua_resM:setOutsideRawImage(self, self.girlIcon, GameResPath.GetRoleBg("empower_shop_girl"), false)
|
|
-- self.freshBtn = self:GetChild("freshBtn").gameObject
|
|
self.num_txt = self:GetChild("moneyBg/num"):GetComponent("TextMeshProUGUI")
|
|
self.timeText = self:GetChild("text"):GetComponent("TextMeshProUGUI")
|
|
|
|
self.lb_des_tmp.text = string.format('%s均会刷出%s', HtmlColorTxt( "每次重置", ColorUtil.GREEN_DARK) , HtmlColorTxt( "免费材料", ColorUtil.PURPLE_DARK) )
|
|
|
|
SetAnchoredPositionX(self.freshBtn, 280)
|
|
SetAnchoredPositionX(self.lb_des, 85)
|
|
self:AddEvents()
|
|
if self.need_refreshData then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function EmpowerShopView:AddEvents( )
|
|
local function UPDATA_EMTREASURE_SHOP_INFO_fun(vo)
|
|
self:UpdateView()
|
|
end
|
|
self.updata_emtreasure_shop_info = self.model:Bind(EmpowerConst.UPDATA_EMTREASURE_SHOP_INFO, UPDATA_EMTREASURE_SHOP_INFO_fun) --41404成功后返回
|
|
|
|
local function onBtnClickHandler(target, x, y)
|
|
--Message.show("刷新")
|
|
self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41407)
|
|
end
|
|
AddClickEvent(self.freshBtn_obj, onBtnClickHandler, 1)
|
|
end
|
|
|
|
function EmpowerShopView:UpdateView( )
|
|
local list = self.model:GetEquipShopList()
|
|
|
|
--local bool = self.model:GetEmpowerRedDotList()[EmpowerConst.EmpowerViewType.EmpowerShop]
|
|
-- self.shopRedDot_obj:SetActive(bool)
|
|
|
|
for k,v in pairs(list) do
|
|
local item = self.emShop_item_list[k]
|
|
if item == nil then
|
|
item = EmpowerShopItem.New(self.itemCon)
|
|
self.emShop_item_list[k] = item
|
|
end
|
|
|
|
local goodsList = ErlangParser:GetInstance():Parse(v.shopList.goods)[1]
|
|
local data = {}
|
|
data.goods_id = goodsList[2]
|
|
data.num = goodsList[3]
|
|
data.price = v.shopList.price
|
|
data.discount = v.shopList.discount
|
|
data.is_pay = v.shopList.is_pay
|
|
data.state = v.state
|
|
data.money_type = 1--EmpowerConst.EmpowerMoneyId
|
|
if v.state == 1 then
|
|
data.is_gray = true
|
|
else
|
|
data.is_gray = false
|
|
end
|
|
if goodsList[1] == 100 then
|
|
data.bind = true
|
|
else
|
|
data.bind = false
|
|
end
|
|
self.emShop_item_list[k]:SetData(data,v.shopList.index)
|
|
end
|
|
|
|
-------------------重置金额
|
|
local equipShopResetNextNum = self.model:GetEquipShopResetNum() +1
|
|
local freshCost = Config.Latticekv["shop_reset_cost"].val -- 升品寻宝和弹珠寻宝区分开 self.model:GetConfigMarbleKvVal("shop_reset_cost")
|
|
freshCost = stringtotable(freshCost)
|
|
local money_num = 0
|
|
local index_num = 0
|
|
for k,v in pairs(freshCost) do
|
|
if equipShopResetNextNum >= v[1] and index_num < v[1] then
|
|
index_num = v[1]
|
|
end
|
|
end
|
|
self.num_txt.text = ""
|
|
for k,v in pairs(freshCost) do
|
|
if v[1] == index_num then
|
|
-- print('Msh:EmpowerShopView.lua[93] data', WordManager:GetMoneyFaceStr( 0 ))
|
|
-- self.num_txt.text = WordManager:GetMoneyFaceStr( 1 ) .. v[2][3]
|
|
self.confirmBtnText_tmp.text = WordManager:GetMoneyFaceStr( 1 ) .. v[2][3] .. " 重置"
|
|
end
|
|
end
|
|
|
|
local empower_coin_good_id = self.model:GetEmpowerCoinGoodId()
|
|
self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_COIN_NUM,GoodsModel:getInstance():GetTypeGoodsNum(empower_coin_good_id))
|
|
|
|
----------time
|
|
self:ClearHideTimer()
|
|
local function hide_timer()
|
|
if not self.model:GetEquipShopResetTime() then return end
|
|
self.left_time = self.model:GetEquipShopResetTime() - TimeUtil:getServerTime()
|
|
local time_str = TimeUtil:timeConvert(math.ceil(self.left_time+1), "hh:mm:ss")
|
|
self.timeText.text = self.left_time >= 0 and string.format("重置倒计时 %s", HtmlColorTxt( time_str, ColorUtil.GREEN_DARK)) or ""
|
|
if self.left_time < 0 then
|
|
self:ClearHideTimer( )
|
|
end
|
|
end
|
|
hide_timer()
|
|
self.hide_timer_id = GlobalTimerQuest:AddPeriodQuest(hide_timer, 0.1, -1)
|
|
|
|
|
|
|
|
end
|
|
function EmpowerShopView:ClearHideTimer()
|
|
if self.hide_timer_id then
|
|
GlobalTimerQuest:CancelQuest(self.hide_timer_id)
|
|
self.hide_timer_id = nil
|
|
end
|
|
end
|
|
|
|
|
|
function EmpowerShopView:SetData( data )
|
|
self.data = data
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self:UpdateView()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function EmpowerShopView:__delete( )
|
|
self:ClearHideTimer()
|
|
for i, v in ipairs(self.emShop_item_list) do
|
|
v:DeleteMe()
|
|
v = nil
|
|
end
|
|
self.emShop_item_list = {}
|
|
|
|
if self.updata_emtreasure_shop_info then
|
|
self.model:UnBind(self.updata_emtreasure_shop_info)
|
|
self.updata_emtreasure_shop_info = nil
|
|
end
|
|
|
|
end
|