|
|
- 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
|