155 lines
4.2 KiB
Lua
155 lines
4.2 KiB
Lua
local RewardCell = class("RewardCell", BaseCell)
|
|
|
|
function RewardCell:init()
|
|
local uiMap = self:getUIMap()
|
|
self.icon = uiMap["reward_cell.item_bg.icon"]
|
|
self.frameBg = uiMap["reward_cell.item_bg"]
|
|
self.mask = uiMap["reward_cell.item_bg.mask"]
|
|
self.check = uiMap["reward_cell.check"]
|
|
self.numTx = uiMap["reward_cell.item_bg.num"]
|
|
self.fragment = uiMap["reward_cell.item_bg.fragment"]
|
|
self.leftUpIcon = uiMap["reward_cell.item_bg.left_up_icon"]
|
|
self.sImg = uiMap["reward_cell.item_bg.s"]
|
|
self.frameAni = uiMap["reward_cell.frame_ani"]
|
|
self:hideFrameAnimation()
|
|
self.baseObject:addClickListener(function()
|
|
if self.clickCallback then
|
|
self.clickCallback()
|
|
elseif self.rewardId ~= nil then
|
|
ModuleManager.TipsManager:showRewardTips(self.rewardId, self.rewardType, self.baseObject)
|
|
end
|
|
end)
|
|
end
|
|
|
|
function RewardCell:refresh(reward)
|
|
self:showMask(false, false)
|
|
if reward.type == GConst.REWARD_TYPE.ITEM then
|
|
local info = ConfigManager:getConfig("item")[reward.item.id]
|
|
if info == nil then
|
|
return
|
|
end
|
|
self:_refreshItem(info, reward.item.count)
|
|
self.rewardId = reward.item.id
|
|
self.rewardType = reward.type
|
|
else
|
|
self.rewardId = nil
|
|
end
|
|
end
|
|
|
|
function RewardCell:refreshByConfig(reward, mask, check)
|
|
self:showMask(mask, check)
|
|
if reward.type == GConst.REWARD_TYPE.ITEM then
|
|
local info = ConfigManager:getConfig("item")[reward.id]
|
|
if info == nil then
|
|
return
|
|
end
|
|
self:_refreshItem(info, reward.num)
|
|
self.rewardId = reward.id
|
|
self.rewardType = reward.type
|
|
else
|
|
self.rewardId = nil
|
|
end
|
|
end
|
|
|
|
function RewardCell:refreshItemById(itemId, count, mask, check)
|
|
self:showMask(mask, check)
|
|
local info = ConfigManager:getConfig("item")[itemId]
|
|
if info == nil then
|
|
return
|
|
end
|
|
self.rewardId = itemId
|
|
self.rewardType = GConst.REWARD_TYPE.ITEM
|
|
self:_refreshItem(info, count)
|
|
end
|
|
|
|
function RewardCell:_refreshItem(info, count)
|
|
self.numTx:setVisible(true)
|
|
self.frameBg:setSprite(GConst.ATLAS_PATH.ICON_ITEM, GConst.FRAME_QLT[info.qlt])
|
|
if count > 0 then
|
|
if count > 100 then
|
|
self.numTx:setText(GFunc.num2Str(count))
|
|
else
|
|
self.numTx:setText(GFunc.intToString(count))
|
|
end
|
|
else
|
|
self.numTx:setText(GConst.EMPTY_STRING)
|
|
end
|
|
if info.type == GConst.ItemConst.ITEM_TYPE.HERO_FRAGMENT then
|
|
local heroInfo = ConfigManager:getConfig("hero")[info.parameter]
|
|
if heroInfo then
|
|
self.icon:setLocalScale(0.86, 0.86, 0.86)
|
|
self.icon:setSprite(GConst.ATLAS_PATH.ICON_HERO, heroInfo.icon)
|
|
self.sImg:setVisible(heroInfo.qlt >= 4)
|
|
else
|
|
self.icon:setSprite(GConst.ATLAS_PATH.COMMON, "common_alpha")
|
|
self.sImg:setVisible(false)
|
|
end
|
|
self.fragment:setVisible(true)
|
|
else
|
|
self.icon:setLocalScale(1, 1, 1)
|
|
self.icon:setSprite(GConst.ATLAS_PATH.ICON_ITEM, info.icon)
|
|
self.fragment:setVisible(false)
|
|
self.sImg:setVisible(false)
|
|
end
|
|
end
|
|
|
|
function RewardCell:setNumTx(str)
|
|
self.numTx:setText(str)
|
|
end
|
|
|
|
function RewardCell:showMask(show, syncCheck)
|
|
self.mask:setVisible(show == true)
|
|
self:showCheck(syncCheck)
|
|
end
|
|
|
|
function RewardCell:hideCountTx()
|
|
end
|
|
|
|
function RewardCell:showCheck(show)
|
|
self.check:setVisible(show == true)
|
|
end
|
|
|
|
function RewardCell:setVisible(visible)
|
|
self.baseObject:setActive(visible)
|
|
end
|
|
|
|
function RewardCell:setAnchoredPositionX(x)
|
|
self.baseObject:setAnchoredPositionX(x)
|
|
end
|
|
|
|
function RewardCell:setTouchEnable(enable)
|
|
self.baseObject:setTouchEnable(enable)
|
|
end
|
|
|
|
function RewardCell:addClickListener(callback)
|
|
self.clickCallback = callback
|
|
end
|
|
|
|
function RewardCell:setLocalScale(x, y, z)
|
|
self.baseObject:setLocalScale(x, y, z)
|
|
end
|
|
|
|
function RewardCell:showFrameAnimation(rewardType)
|
|
self.frameAni:setVisible(true)
|
|
self.frameAni:getComponent(GConst.TYPEOF_UNITY_CLASS.ANIMATOR).enabled = true
|
|
if self.frameAniType ~= GConst.REWARD_TYPE.ITEM then
|
|
-- CS.UnityEngine.Animator.StringToHash("frame_reward") 结果是997722489
|
|
self.frameAni:getComponent(GConst.TYPEOF_UNITY_CLASS.ANIMATOR):Play(997722489, -1, 0)
|
|
self.frameAniType = GConst.REWARD_TYPE.ITEM
|
|
end
|
|
end
|
|
|
|
function RewardCell:hideFrameAnimation()
|
|
self.frameAni:getComponent(GConst.TYPEOF_UNITY_CLASS.ANIMATOR).enabled = false
|
|
self.frameAni:setVisible(false)
|
|
end
|
|
|
|
function RewardCell:showLeftUpIcon(show, atlas, iconName)
|
|
self.leftUpIcon:setVisible(show)
|
|
if not show then
|
|
return
|
|
end
|
|
self.leftUpIcon:setSprite(atlas, iconName)
|
|
end
|
|
|
|
return RewardCell |