Update - 1.7.0.88
EN: 1.7.0.88 CN: 1.7.0.90 JP: 1.7.0.91 KR: 1.7.0.94
This commit is contained in:
@@ -1,39 +1,69 @@
|
||||
local PenguinCardItemCtrl = class("PenguinCardItemCtrl", BaseCtrl)
|
||||
local WwiseManger = CS.WwiseAudioManager.Instance
|
||||
local _, NotMaxLevel = ColorUtility.TryParseHtmlString("#FFF7EA")
|
||||
local _, MaxLevel = ColorUtility.TryParseHtmlString("#ffe075")
|
||||
PenguinCardItemCtrl._mapNodeConfig = {
|
||||
AnimRoot = {sComponentName = "Animator"},
|
||||
imgBg = {},
|
||||
imgIcon = {sComponentName = "Image"},
|
||||
txtLevel = {sComponentName = "TMP_Text"},
|
||||
txtName = {sComponentName = "TMP_Text"},
|
||||
imgUp = {},
|
||||
txtTrigger = {nCount = 2, sComponentName = "TMP_Text"},
|
||||
aniTrigger = {
|
||||
sNodeName = "txtTrigger",
|
||||
nCount = 2,
|
||||
sComponentName = "Animator"
|
||||
},
|
||||
goTrigger = {},
|
||||
btnOpenInfo = {
|
||||
sComponentName = "UIButton",
|
||||
callback = "OnBtnClick_OpenInfo"
|
||||
}
|
||||
}
|
||||
PenguinCardItemCtrl._mapEventConfig = {
|
||||
PenguinCardTriggered = "OnEvent_Triggered"
|
||||
PenguinCardTriggered = "OnEvent_Triggered",
|
||||
PenguinCardWaitPlay = "OnEvent_WaitPlay"
|
||||
}
|
||||
function PenguinCardItemCtrl:Refresh_Select(mapCard, nSelectIndex)
|
||||
function PenguinCardItemCtrl:Refresh_Select(mapCard, nSelectIndex, bRoll)
|
||||
self.mapCard = mapCard
|
||||
self.nSelectIndex = nSelectIndex
|
||||
self._mapNode.txtLevel.gameObject:SetActive(false)
|
||||
self._mapNode.txtName.gameObject:SetActive(true)
|
||||
self._mapNode.imgBg:SetActive(true)
|
||||
self._mapNode.imgBg:SetActive(bRoll)
|
||||
self._mapNode.imgIcon.gameObject:SetActive(true)
|
||||
self._mapNode.goTrigger:SetActive(false)
|
||||
self:SetSprite(self._mapNode.imgIcon, "UI/Play_PenguinCard/SpriteAtlas/Sprite/" .. mapCard.sIcon)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtName, mapCard.sName)
|
||||
local bUpgrade = self._panel.mapLevel:CheckUpgradePenguinCard(mapCard)
|
||||
self._mapNode.imgUp:SetActive(bUpgrade)
|
||||
self._mapNode.AnimRoot:Play("PengUinCard_Bd_Shopin", 0, 0)
|
||||
end
|
||||
function PenguinCardItemCtrl:Refresh_Slot(mapCard)
|
||||
self.mapCard = mapCard
|
||||
self.nEffectCount = 0
|
||||
self.bWaitPlay = false
|
||||
self._mapNode.txtLevel.gameObject:SetActive(true)
|
||||
self._mapNode.txtName.gameObject:SetActive(false)
|
||||
self._mapNode.imgBg:SetActive(false)
|
||||
self._mapNode.imgUp:SetActive(false)
|
||||
self._mapNode.goTrigger:SetActive(false)
|
||||
self:SetSprite(self._mapNode.imgIcon, "UI/Play_PenguinCard/SpriteAtlas/Sprite/" .. mapCard.sIcon)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtLevel, orderedFormat(ConfigTable.GetUIText("PenguinCard_CardLevel"), mapCard.nLevel))
|
||||
if mapCard.nLevel == mapCard.nMaxLevel then
|
||||
NovaAPI.SetTMPColor(self._mapNode.txtLevel, MaxLevel)
|
||||
else
|
||||
NovaAPI.SetTMPColor(self._mapNode.txtLevel, NotMaxLevel)
|
||||
end
|
||||
end
|
||||
function PenguinCardItemCtrl:RefreshUpgrade(nGroupId)
|
||||
if self.mapCard.nGroupId == nGroupId then
|
||||
self._mapNode.imgUp:SetActive(false)
|
||||
end
|
||||
end
|
||||
function PenguinCardItemCtrl:PlayFlipAni()
|
||||
self._mapNode.imgBg:SetActive(true)
|
||||
self._mapNode.txtName.gameObject:SetActive(false)
|
||||
self._mapNode.AnimRoot:Play("PengUinCard_Bd_Shopturn", 0, 0)
|
||||
local nAnimTime = NovaAPI.GetAnimClipLength(self._mapNode.AnimRoot, {
|
||||
"PengUinCard_Bd_Shopturn"
|
||||
@@ -47,6 +77,7 @@ function PenguinCardItemCtrl:PlayHideAni()
|
||||
end
|
||||
function PenguinCardItemCtrl:PlaySelectAni(callback)
|
||||
self._mapNode.AnimRoot:Play("PengUinCard_Bd_Bdin", 0, 0)
|
||||
WwiseManger:PostEvent("Mode_Card_appear")
|
||||
local nAnimTime = NovaAPI.GetAnimClipLength(self._mapNode.AnimRoot, {
|
||||
"PengUinCard_Bd_Bdin"
|
||||
})
|
||||
@@ -58,6 +89,7 @@ function PenguinCardItemCtrl:PlaySelectAni(callback)
|
||||
end
|
||||
function PenguinCardItemCtrl:PlayUpgradeAni(callback)
|
||||
self._mapNode.AnimRoot:Play("PengUinCard_Bd_Up", 0, 0)
|
||||
WwiseManger:PostEvent("Mode_Card_levelup")
|
||||
self:AddTimer(1, 0.2, function()
|
||||
if callback then
|
||||
callback()
|
||||
@@ -65,7 +97,9 @@ function PenguinCardItemCtrl:PlayUpgradeAni(callback)
|
||||
end, true, true, true)
|
||||
end
|
||||
function PenguinCardItemCtrl:PlaySaleAni(callback)
|
||||
self._mapNode.goTrigger:SetActive(false)
|
||||
self._mapNode.AnimRoot:Play("PengUinCard_Bd_Bdout", 0, 0)
|
||||
WwiseManger:PostEvent("Mode_Card_giveup")
|
||||
local nAnimTime = NovaAPI.GetAnimClipLength(self._mapNode.AnimRoot, {
|
||||
"PengUinCard_Bd_Bdout"
|
||||
})
|
||||
@@ -75,6 +109,53 @@ function PenguinCardItemCtrl:PlaySaleAni(callback)
|
||||
end
|
||||
end, true, true, true)
|
||||
end
|
||||
function PenguinCardItemCtrl:PlayTriggerAni()
|
||||
if self.bTriggerCd then
|
||||
self:PlayEffectAni()
|
||||
return
|
||||
end
|
||||
if not self.bTriggerCd then
|
||||
self.bTriggerCd = true
|
||||
self:AddTimer(1, 1.433, function()
|
||||
self.bTriggerCd = false
|
||||
end, true, true, true)
|
||||
end
|
||||
self._mapNode.AnimRoot:Play("PengUinCard_Bd_Open", 0, 0)
|
||||
self._mapNode.AnimRoot.speed = self._panel.mapLevel.nSpeed
|
||||
WwiseManger:PostEvent("Mode_Card_cast")
|
||||
self.nEffectCount = 0
|
||||
self:PlayEffectAni()
|
||||
end
|
||||
function PenguinCardItemCtrl:PlayEffectAni()
|
||||
if self.nEffectCount == nil then
|
||||
self.nEffectCount = 0
|
||||
end
|
||||
local sDesc = ""
|
||||
if self.mapCard.nEffectType == GameEnum.PenguinCardEffectType.IncreaseBasicChips then
|
||||
self.nEffectCount = self.nEffectCount + self.mapCard.tbEffectParam[1]
|
||||
sDesc = orderedFormat(ConfigTable.GetUIText("PenguinCard_Trigger_AddScore"), self.nEffectCount)
|
||||
elseif self.mapCard.nEffectType == GameEnum.PenguinCardEffectType.IncreaseMultiplier then
|
||||
self.nEffectCount = self.nEffectCount + self.mapCard.tbEffectParam[1]
|
||||
sDesc = orderedFormat(ConfigTable.GetUIText("PenguinCard_Trigger_AddRatio"), self.nEffectCount)
|
||||
elseif self.mapCard.nEffectType == GameEnum.PenguinCardEffectType.MultiMultiplier then
|
||||
self.nEffectCount = self.nEffectCount + self.mapCard.tbEffectParam[1]
|
||||
sDesc = orderedFormat(ConfigTable.GetUIText("PenguinCard_Trigger_MultiRatio"), self.nEffectCount)
|
||||
end
|
||||
self._mapNode.goTrigger:SetActive(sDesc ~= "")
|
||||
if self.mapCard.nEffectType == GameEnum.PenguinCardEffectType.IncreaseBasicChips then
|
||||
self._mapNode.txtTrigger[1].gameObject:SetActive(false)
|
||||
self._mapNode.txtTrigger[2].gameObject:SetActive(true)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtTrigger[2], sDesc)
|
||||
self._mapNode.aniTrigger[2]:Play("PengUinCard_Bd_Trigger_in", 0, 0)
|
||||
self._mapNode.aniTrigger[2].speed = self._panel.mapLevel.nSpeed
|
||||
elseif self.mapCard.nEffectType == GameEnum.PenguinCardEffectType.IncreaseMultiplier or self.mapCard.nEffectType == GameEnum.PenguinCardEffectType.MultiMultiplier then
|
||||
self._mapNode.txtTrigger[1].gameObject:SetActive(true)
|
||||
self._mapNode.txtTrigger[2].gameObject:SetActive(false)
|
||||
NovaAPI.SetTMPText(self._mapNode.txtTrigger[1], sDesc)
|
||||
self._mapNode.aniTrigger[1]:Play("PengUinCard_Bd_Trigger_in", 0, 0)
|
||||
self._mapNode.aniTrigger[1].speed = self._panel.mapLevel.nSpeed
|
||||
end
|
||||
end
|
||||
function PenguinCardItemCtrl:Awake()
|
||||
end
|
||||
function PenguinCardItemCtrl:OnEnable()
|
||||
@@ -91,7 +172,16 @@ function PenguinCardItemCtrl:OnEvent_Triggered(nSlotIndex)
|
||||
if not (self.mapCard and self.mapCard ~= 0 and self.mapCard.nSlotIndex) or nSlotIndex ~= self.mapCard.nSlotIndex then
|
||||
return
|
||||
end
|
||||
self._mapNode.AnimRoot:Play("PengUinCard_Bd_Open", 0, 0)
|
||||
self._mapNode.AnimRoot.speed = self._panel.mapLevel.nSpeed
|
||||
if self.mapCard.nTriggerPhase == GameEnum.PenguinCardTriggerPhase.Settlement then
|
||||
self.bWaitPlay = true
|
||||
return
|
||||
end
|
||||
self:PlayTriggerAni()
|
||||
end
|
||||
function PenguinCardItemCtrl:OnEvent_WaitPlay()
|
||||
if self.bWaitPlay == true then
|
||||
self.bWaitPlay = false
|
||||
self:PlayTriggerAni()
|
||||
end
|
||||
end
|
||||
return PenguinCardItemCtrl
|
||||
|
||||
Reference in New Issue
Block a user