| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- local UICardBlessTipsView = require("UIRoleMain/UICardBlessTipsView_Generate")
- function UICardBlessTipsView:OnAwake(data)
- self.controller = require("UIRoleMain/UICardBlessTipsCtr"):new()
- self.controller:Init(self)
- self.controller:SetData(data)
- end
- function UICardBlessTipsView:AddEventListener()
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
- end
- function UICardBlessTipsView:FillContent(data, uiBase)
- self.uiBase = uiBase
- local gameObject = self.uiBase:GetRoot()
- if gameObject ~= nil then
- self.gameObject = gameObject
- self.transform = gameObject.transform
- end
- self:InitGenerate(self.transform, data)
- self:Init()
- end
- function UICardBlessTipsView:Init()
- self:Refresh()
- end
- function UICardBlessTipsView:Refresh()
- local curLv, isMax = self.controller:GetCurCardSuitLv()
- local cfgData = ManagerContainer.CfgMgr:GetCardSuitNewCfgById(curLv)
- self:RefreshTop(curLv, isMax, cfgData)
- self:RefreshAttrs(curLv, isMax, cfgData)
- end
- function UICardBlessTipsView:RefreshTop(curLv, isMax, cfgData)
- local allCfgDatas = ManagerContainer.CfgMgr:GetAllCardSuitNewCfg()
- local state = self.controller:GetState()
- if not state then
- curLv = curLv - 1
- end
- self.cardBlessLv.lv0:SetActive(curLv == 0)
- for i = 1, #allCfgDatas do
- if self.cardBlessLv["lv"..i] then
- self.cardBlessLv["lv"..i]:SetActive(curLv == i)
- end
- end
- end
- function UICardBlessTipsView:RefreshAttrs(curLv, isMax, cfgData)
- local curCount, totalCount = self.controller:GetSuitCount()
- local state = self.controller:GetState()
- self:RefreshLvAttrs(self.currentLv, state, curCount, totalCount, cfgData)
- local nextLv = curLv + 1
- local nextCfgData = ManagerContainer.CfgMgr:GetCardSuitNewCfgById(nextLv)
- self.nextLv:SetActive(state and not isMax and nextCfgData ~= nil)
- if state and not isMax and nextCfgData ~= nil then
- local totalCount, nextCount = self.controller:GetSatisfyCardCountByLv(nextLv)
- self:RefreshLvAttrs(self.nextLv, false, nextCount, totalCount, nextCfgData)
- end
- end
- function UICardBlessTipsView:RefreshLvAttrs(parent, state, curCount, totalCount, cfgData)
- parent.lv.text.text = I18N.SetLanguageValue("CardSuitTips1", cfgData.Id)
- parent.activedState:SetActive(state)
- parent.condition1:SetActive(#curCount >= 1)
- parent.condition2:SetActive(#curCount >= 2)
- for i = 1,#curCount do
- parent["condition"..i].count.text.text = curCount[i].."/"..totalCount[i]
- parent["condition"..i].activedState:SetActive(curCount[i]>=totalCount[i])
- local condition = cfgData.TriggerConditions[i]
- local type = condition[1]
- local lv = condition[2]
- local typeDsc = "Normal"
- if type == 2 then
- typeDsc = "Mini"
- elseif type == 3 then
- typeDsc = "Mvp"
- end
- parent["condition"..i].dscAttr.text.text = I18N.SetLanguageValue("CardSuitTips", lv, typeDsc)
- end
- local color = state and Constant.GreenColorText or Constant.GrayColorText
- for i = 1, 5 do
- local attr = cfgData.Suit1[i]
- local itemLua = parent["cardBlessAttrItem"..i]
- itemLua:SetActive(attr ~= nil)
- if attr then
- local attrId = attr[1]
- local attrNum = attr[2]*0.0001
- attrNum = attrId > 21 and CommonUtil.GetPreciseDecimal(attrNum, 3) or math.floor(attrNum)
- itemLua.text.text.text = I18N.T("Attr_" .. attrId)
- itemLua.number.text.text = CommonUtil.HeroAttrFormatValue(attrId, attrNum, true)
- CommonUtil.SetTextColor(itemLua.text.text, color)
- CommonUtil.SetTextColor(itemLua.number.text, color)
- end
- end
- end
- function UICardBlessTipsView:RemoveEventListener()
- ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
- end
- function UICardBlessTipsView:AddUIEventListener()
- self.uiBase:AddButtonEventListener(self.AnyBtn.button,self,self.OnCloseClick)
- self.uiBase:AddButtonEventListener(self.btnClose.button,self,self.OnCloseClick)
- end
- function UICardBlessTipsView:OnCloseClick()
- self:UIClose()
- end
- function UICardBlessTipsView:OnHide()
- end
- function UICardBlessTipsView:OnShow(data)
- self.controller:SetData(data)
- end
- function UICardBlessTipsView:OnClose()
- end
- function UICardBlessTipsView:OnDispose()
- self.controller:OnDispose()
- end
- return UICardBlessTipsView
|