Update - 1.9.0.103
EN: 1.9.0.103 CN: 1.9.0.104 JP: 1.9.0.106 KR: 1.9.0.108
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
local GoldenSpyBaseItem = require("Game.UI.Activity.GoldenSpy.GoldenSpyBaseItem")
|
||||
local GoldenSpyNormalItem = class("GoldenSpyNormalItem", GoldenSpyBaseItem)
|
||||
GoldenSpyNormalItem._mapNodeConfig = {
|
||||
HitArea = {
|
||||
sNodeName = "HitArea",
|
||||
sComponentName = "RectTransform"
|
||||
},
|
||||
flash = {}
|
||||
}
|
||||
GoldenSpyNormalItem._mapEventConfig = {
|
||||
GM_GoldenSpy_Show = "OnEvent_GM_GoldenSpy_Show",
|
||||
GoldenSpy_ItemUpdateScore = "OnEvent_GoldenSpy_ItemUpdateScore"
|
||||
}
|
||||
GoldenSpyNormalItem._mapRedDotConfig = {}
|
||||
function GoldenSpyNormalItem:InitData()
|
||||
local nScore = self.itemCfg.Score
|
||||
for _, v in ipairs(self.floorCtrl.levelCtrl.GoldenSpyLevelData:GetBuffData()) do
|
||||
local buffCfg = ConfigTable.GetData("GoldenSpyBuffCard", v.buffId)
|
||||
if buffCfg ~= nil and buffCfg.EffectType == GameEnum.GoldenSpyBuffEffect.AddScore and buffCfg.Params[1] == self.itemCfg.ItemType and self:IsBuffActive(v) then
|
||||
nScore = nScore + buffCfg.Params[2]
|
||||
end
|
||||
end
|
||||
self:InitFlash(nScore)
|
||||
end
|
||||
function GoldenSpyNormalItem:InitFlash(nScore)
|
||||
if self.itemCfg.NeedShowFlash == false then
|
||||
return
|
||||
end
|
||||
self._mapNode.flash:SetActive(nScore >= self.commonCfg.HighValueEffect)
|
||||
end
|
||||
function GoldenSpyNormalItem:GetHitArea()
|
||||
local tr = self.gameObject:GetComponent("RectTransform")
|
||||
local hitArea = {
|
||||
nType = self.nHitAreaType,
|
||||
center = self._mapNode.HitArea.anchoredPosition + tr.anchoredPosition,
|
||||
width = self._mapNode.HitArea.sizeDelta.x,
|
||||
height = self._mapNode.HitArea.sizeDelta.y
|
||||
}
|
||||
return hitArea
|
||||
end
|
||||
function GoldenSpyNormalItem:IsBuffActive(buffData)
|
||||
local bResult = false
|
||||
local nCurFloor = self.floorCtrl.levelCtrl.GoldenSpyLevelData:GetCurFloor()
|
||||
local buffCfg = ConfigTable.GetData("GoldenSpyBuffCard", buffData.buffId)
|
||||
if buffCfg == nil then
|
||||
return false
|
||||
end
|
||||
if buffCfg.BuffType == GameEnum.GoldenSpyBuffType.TemporaryBuff then
|
||||
if buffData.bActive and table.indexof(buffData.tbActiveFloor, nCurFloor) > 0 then
|
||||
bResult = true
|
||||
end
|
||||
elseif buffCfg.BuffType == GameEnum.GoldenSpyBuffType.DelayBuff then
|
||||
if buffData.bActive and table.indexof(buffData.tbActiveFloor, nCurFloor) > 0 then
|
||||
bResult = true
|
||||
end
|
||||
elseif buffCfg.BuffType == GameEnum.GoldenSpyBuffType.PermanentBuff then
|
||||
if buffData.bActive then
|
||||
bResult = true
|
||||
end
|
||||
elseif buffCfg.BuffType == GameEnum.GoldenSpyBuffType.SkillCountBuff then
|
||||
end
|
||||
return bResult
|
||||
end
|
||||
function GoldenSpyNormalItem:OnSkill_InVision()
|
||||
self.floorCtrl:RemoveItem(self)
|
||||
self.gameObject:SetActive(false)
|
||||
end
|
||||
function GoldenSpyNormalItem:OnSkill_Boom(callback)
|
||||
if callback then
|
||||
callback()
|
||||
end
|
||||
if self.gameObject then
|
||||
self.gameObject:SetActive(false)
|
||||
end
|
||||
end
|
||||
function GoldenSpyNormalItem:OnSkill_Frozen(callback)
|
||||
if callback then
|
||||
callback()
|
||||
end
|
||||
end
|
||||
function GoldenSpyNormalItem:OnEvent_GoldenSpy_ItemUpdateScore(tbBuff)
|
||||
if self.gameObject.activeSelf == false then
|
||||
return
|
||||
end
|
||||
local nScore = self.itemCfg.Score
|
||||
for _, v in ipairs(tbBuff) do
|
||||
local buffCfg = ConfigTable.GetData("GoldenSpyBuffCard", v.buffId)
|
||||
if buffCfg ~= nil and buffCfg.EffectType == GameEnum.GoldenSpyBuffEffect.AddScore and buffCfg.Params[1] == self.itemCfg.ItemType and self:IsBuffActive(v) then
|
||||
nScore = nScore + buffCfg.Params[2]
|
||||
end
|
||||
end
|
||||
self:InitFlash(nScore)
|
||||
end
|
||||
function GoldenSpyNormalItem:OnEvent_GM_GoldenSpy_Show()
|
||||
local img = self._mapNode.HitArea:GetComponent("Image")
|
||||
if img then
|
||||
img.enabled = true
|
||||
end
|
||||
end
|
||||
return GoldenSpyNormalItem
|
||||
Reference in New Issue
Block a user