源战役客户端
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 

154 righe
5.0 KiB

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