82 lines
1.8 KiB
Lua
82 lines
1.8 KiB
Lua
local UIWidgetBase = require_ex('Common/Core/UIWidgetBase')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MainHudRacingEffectBtn = HL.Class('MainHudRacingEffectBtn', UIWidgetBase)
|
|
|
|
|
|
MainHudRacingEffectBtn.m_lateTickKey = HL.Field(HL.Number) << -1
|
|
|
|
|
|
MainHudRacingEffectBtn.m_remainFloatingTime = HL.Field(HL.Number) << 0
|
|
|
|
|
|
|
|
|
|
MainHudRacingEffectBtn._OnFirstTimeInit = HL.Override() << function(self)
|
|
|
|
end
|
|
|
|
|
|
|
|
MainHudRacingEffectBtn.InitMainHudRacingEffectBtn = HL.Method() << function(self)
|
|
self:_FirstTimeInit()
|
|
end
|
|
|
|
|
|
|
|
MainHudRacingEffectBtn.OnShow = HL.Method() << function(self)
|
|
self.view.floatingIcon.gameObject:SetActiveIfNecessary(false)
|
|
end
|
|
|
|
|
|
|
|
MainHudRacingEffectBtn.OnHide = HL.Method() << function(self)
|
|
self.view.floatingIcon.gameObject:SetActiveIfNecessary(false)
|
|
LuaUpdate:Remove(self.m_lateTickKey)
|
|
self.m_lateTickKey = -1
|
|
end
|
|
|
|
local noEffectBuff = {["race_item_1"] = true, ["race_item_2"] = true}
|
|
|
|
|
|
|
|
|
|
MainHudRacingEffectBtn.CanPlayEffect = HL.Method(HL.String).Return(HL.Boolean) << function(self, buffId)
|
|
return not noEffectBuff[buffId]
|
|
end
|
|
|
|
|
|
|
|
|
|
MainHudRacingEffectBtn._Update = HL.Method(HL.Number) << function(self, deltaTime)
|
|
self.m_remainFloatingTime = self.m_remainFloatingTime - deltaTime
|
|
|
|
if self.m_remainFloatingTime <= 0 then
|
|
self.view.floatingIcon.gameObject:SetActiveIfNecessary(false)
|
|
LuaUpdate:Remove(self.m_lateTickKey)
|
|
self.m_lateTickKey = -1
|
|
return
|
|
end
|
|
|
|
local localPosition = self.view.floatingIcon.transform.localPosition
|
|
|
|
self.view.floatingIcon.transform.localPosition = Vector3(
|
|
localPosition.x - localPosition.x / self.m_remainFloatingTime * deltaTime,
|
|
localPosition.y - localPosition.y / self.m_remainFloatingTime * deltaTime,
|
|
0)
|
|
|
|
end
|
|
|
|
HL.Commit(MainHudRacingEffectBtn)
|
|
return MainHudRacingEffectBtn
|
|
|