|
|
- EmpowerExchangeView = EmpowerExchangeView or BaseClass(BaseItem)
- local EmpowerExchangeView = EmpowerExchangeView
-
- function EmpowerExchangeView:__init()
- self.base_file = "empower"
- self.layout_file = "EmpowerExchangeView"
- self.emExchange_item_list ={}
- self.model = EmpowerModel:GetInstance()
- self:Load()
- end
-
- function EmpowerExchangeView:Load_callback()
- self.nodes = {
- "des:tmp", "icon_bg/icon:img", "icon_bg/add_btn:obj",
- "icon_bg/count:tmp", "icon_bg"
- }
- self:GetChildren(self.nodes)
- self.itemCon = self:GetChild("ScrollView/Viewport/Content")
- self.girlIcon = self:GetChild("girlIcon"):GetComponent("Image")
- -- lua_resM:setOutsideImageSprite(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.des_tmp.text = string.format('%s可兑换为%s升品石', HtmlColorTxt( "万能升品石", ColorUtil.PURPLE_DARK), HtmlColorTxt( "任意部位", ColorUtil.GREEN_DARK))
-
- SetAnchoredPositionX(self.des, -210)
- SetAnchoredPositionX(self.icon_bg, 235)
- self:AddEvents()
- if self.need_refreshData then
- self:UpdateView()
- end
- end
-
- function EmpowerExchangeView:AddEvents( )
- local on_click = function ( click_obj )
- if self.add_btn_obj == click_obj then
- local empower_coin_good_id = self.model:GetEmpowerCoinGoodId()
- UIToolTipMgr:getInstance():AppendGoodsTips(empower_coin_good_id,
- nil, nil,nil,nil,nil,nil,true)
- end
- end
- AddClickEvent(self.add_btn_obj, on_click)
-
- -- 监听材料数目变化
- local function onBagChange()
- self:UpdateGoodsCount( )
- end
- self.bag_change_event_id = GoodsModel:getInstance():Bind(GoodsModel.CHANGE_BAGLIST, onBagChange)
-
- -- 监听界面刷事件
- local function update_view_func()
- self:UpdateView( )
- end
- self:BindEvent(self.model, EmpowerConst.UPDATE_EXCHANGE_VIEW, update_view_func)
- end
-
- function EmpowerExchangeView:UpdateView( )
- local exchangeReward = self.model:GetConfigMarbleKvVal("exchange_reward")
- local list = ErlangParser:GetInstance():Parse(exchangeReward)
- local good_id,cost_num = self:GetExchangeGoodId()
- for k,v in pairs(list) do
- local item = self.emExchange_item_list[k]
- if item == nil then
- item = EmpowerShopItem.New(self.itemCon)
- self.emExchange_item_list[k] = item
- end
- local data = {}
- data.goods_id = v[2]
- data.num = v[3]
- data.price = cost_num
- data.discount = 0
- data.is_pay = false
- data.money_type = EmpowerConst.EmpowerMoneyId
- if v.state == 1 then
- data.is_gray = true
- else
- data.is_gray = false
- end
- if v[1] == 100 then
- data.bind = true
- else
- data.bind = false
- end
- self.emExchange_item_list[k]:SetData(data,k,true)
- end
-
- -- 当前持有的数目
- local asset, source = WordManager:GetCommonMoneyIcon(EmpowerConst.EmpowerMoneyId)
- self.icon.sizeDelta = co.TableXY(26,21)
- lua_resM:setImageSprite(self, self.icon_img, asset, source)
-
-
-
- --exchange_cost
- self:UpdateGoodsCount( )
- end
-
- -- 更新材料数目
- function EmpowerExchangeView:UpdateGoodsCount( )
- local empower_coin_good_id = self.model:GetEmpowerCoinGoodId()
- local num = GoodsModel:getInstance():GetTypeGoodsNum(empower_coin_good_id)
- self.count_tmp.text = num
- self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_COIN_NUM,num)
- end
-
- function EmpowerExchangeView:SetData( data )
- self.data = data
- if self.is_loaded then
- self.need_refreshData = false
- self:UpdateView()
- else
- self.need_refreshData = true
- end
- end
-
- function EmpowerExchangeView:GetExchangeGoodId( )
- local exchange_cost = self.model:GetConfigMarbleKvVal("exchange_cost")
- local exchange_cost_list = ErlangParser:GetInstance():Parse(exchange_cost)[1]
- self.exchangePropId = exchange_cost_list[2]
- local exchangePropNum = exchange_cost_list[3]
- return self.exchangePropId,exchangePropNum
- end
-
- function EmpowerExchangeView:__delete( )
- for i, v in ipairs(self.emExchange_item_list) do
- v:DeleteMe()
- v = nil
- end
- self.emExchange_item_list = {}
-
- if self.bag_change_event_id then
- GoodsModel:getInstance():UnBind(self.bag_change_event_id)
- self.bag_change_event_id = nil
- end
- end
|