143 lines
5.9 KiB
Lua
143 lines
5.9 KiB
Lua
FetterItem = {}
|
|
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
|
|
local parent
|
|
function FetterItem:New(gameObject)
|
|
local b = {}
|
|
b.gameObject = gameObject
|
|
b.transform = gameObject.transform
|
|
setmetatable(b, { __index = FetterItem })
|
|
return b
|
|
end
|
|
--初始化组件(用于子类重写)
|
|
function FetterItem:InitComponent()
|
|
self.spLoader = SpriteLoader.New()
|
|
self.name = Util.GetGameObject(self.gameObject,"bg/nameDi/nameText"):GetComponent("Text")
|
|
self.mask = Util.GetGameObject(self.gameObject,"bg/mask")
|
|
self.grid = Util.GetGameObject(self.gameObject,"scroll")
|
|
self.tipText = Util.GetGameObject(self.gameObject,"tip/tipText"):GetComponent("Text")
|
|
self.activeBtn = Util.GetGameObject(self.gameObject,"activeBtn")
|
|
self.activeBtnRed = Util.GetGameObject(self.gameObject,"redpot")
|
|
self.reward = Util.GetGameObject(self.gameObject,"reward")
|
|
self.rewardIcon = Util.GetGameObject(self.reward,"icon"):GetComponent("Image")
|
|
self.rewardNum = Util.GetGameObject(self.reward,"num"):GetComponent("Text")
|
|
self.active = Util.GetGameObject(self.gameObject,"active")
|
|
self.itemList = {}
|
|
self.itemData = {}
|
|
end
|
|
|
|
--绑定事件(用于子类重写)
|
|
function FetterItem:BindEvent()
|
|
Util.AddOnceClick(self.activeBtn, function()
|
|
local oldWarPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
|
|
NetManager.PokemonBookEnableRequest(self.itemData.id,function(msg)
|
|
if msg.drop and msg.drop.itemlist and #msg.drop.itemlist > 0 then
|
|
local item = msg.drop.itemlist[1]
|
|
PopupTipPanel.ShowTip(string.format(Language[12278],item.itemNum,GetLanguageStrById(ConfigManager.GetConfigData(ConfigName.ItemConfig,item.itemId).Name)))
|
|
end
|
|
TianShuMiJuanManger.UpdateFetterId({self.itemData.id})
|
|
local newWarPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
|
|
UIManager.OpenPanel(UIName.WarPowerChangeNotifyPanelV2,{oldValue = oldWarPower,newValue = newWarPower})
|
|
parent:RefreshData()
|
|
end)
|
|
end)
|
|
end
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function FetterItem:AddListener()
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function FetterItem:RemoveListener()
|
|
|
|
end
|
|
function FetterItem:OnOpen()
|
|
end
|
|
function FetterItem:SetData(data,_parent,_index)
|
|
parent = _parent
|
|
self.itemData = data
|
|
self.name.text = self.itemData.name
|
|
if self.itemData.enabled < 1 then
|
|
self.tipText.text = string.format("<color=#FCFCF9>%s</color>",self.itemData.activeParaTip)
|
|
elseif self.itemData.enabled then
|
|
self.tipText.text = string.format("<color=#00FF66>%s</color>",self.itemData.activeParaTip)
|
|
end
|
|
-- self.tipText.text = self.itemData.activeParaTip
|
|
|
|
if (_index~=3 and _index~=5) and self.itemData.reward and #self.itemData.reward > 0 then
|
|
if self.itemData.reward[1][1]==0 then
|
|
self.reward.gameObject:SetActive(false)
|
|
else
|
|
self.reward.gameObject:SetActive(true)
|
|
self.rewardIcon = self.spLoader:LoadSprite(GetResourcePath(itemConfig[self.itemData.reward[1][1]].ResourceID))
|
|
self.rewardNum.text = self.itemData.reward[1][2]
|
|
end
|
|
|
|
else
|
|
self.reward.gameObject:SetActive(false)
|
|
end
|
|
if _index==3 then
|
|
self.reward.gameObject:SetActive(false)
|
|
end
|
|
self:SetIcon(self.itemData.enabled)
|
|
if not self.itemList then
|
|
self.itemList = {}
|
|
end
|
|
for i = 1 ,#self.itemList do
|
|
self.itemList[i].gameObject:SetActive(false)
|
|
end
|
|
for i = 1, #self.itemData.teamers do
|
|
if not self.itemList[i] then
|
|
self.itemList[i] = SubUIManager.Open(SubUIConfig.ItemView,self.grid.transform)
|
|
end
|
|
Util.SetGray(self.itemList[i].gameObject,false)
|
|
self.itemList[i].gameObject:SetActive(true)
|
|
self.itemList[i]:OnOpen(false,{self.itemData.teamers[i][1],self.itemData.teamers[i][2]},1,true,false,false,self.sortingOrder)
|
|
if self.itemData.teamers[i][2] > 1 then
|
|
self.itemList[i].num.gameObject:SetActive(true)
|
|
else
|
|
self.itemList[i].num.gameObject:SetActive(false)
|
|
end
|
|
self.itemList[i].name:GetComponent("Text").text = string.gsub(self.itemList[i].name:GetComponent("Text").text,"霸气","")
|
|
self.itemList[i].name:GetComponent("Text").text = string.gsub(self.itemList[i].name:GetComponent("Text").text,"魂...","")
|
|
if TianShuMiJuanManger.IsHaveItem(self.itemData.fetterType,self.itemData.teamers[i][1],self.itemData.teamers[i][2]) then
|
|
Util.SetGray(self.itemList[i].gameObject,false)
|
|
else
|
|
Util.SetGray(self.itemList[i].gameObject,false)
|
|
end
|
|
end
|
|
end
|
|
|
|
function FetterItem:SetIcon(status)
|
|
if status == 1 then
|
|
self.activeBtn.gameObject:SetActive(false)
|
|
self.active.gameObject:SetActive(true)
|
|
self.mask.gameObject:SetActive(false)
|
|
else
|
|
self.mask.gameObject:SetActive(false)
|
|
self.activeBtn.gameObject:SetActive(true)
|
|
self.active.gameObject:SetActive(false)
|
|
self.activeBtnRed.gameObject:SetActive(false)
|
|
Util.SetGray(self.activeBtn,false)
|
|
if status == 0 then
|
|
Util.SetGray(self.activeBtn,false)
|
|
self.activeBtnRed.gameObject:SetActive(true)
|
|
self.activeBtn:GetComponent("Button").enabled = true
|
|
self.mask.gameObject:SetActive(true)
|
|
else
|
|
Util.SetGray(self.activeBtn,false)
|
|
self.activeBtnRed.gameObject:SetActive(false)
|
|
self.activeBtn:GetComponent("Button").enabled = false
|
|
self.mask.gameObject:SetActive(false)
|
|
end
|
|
end
|
|
end
|
|
|
|
function FetterItem:OnClose()
|
|
for i = 1, #self.itemList do
|
|
Util.SetGray(self.itemList[i].gameObject,false)
|
|
SubUIManager.Close(self.itemList[i])
|
|
end
|
|
self.itemList = {}
|
|
self.spLoader:Destroy()
|
|
end
|
|
return FetterItem |