32 lines
1020 B
Lua
32 lines
1020 B
Lua
|
local EventAction_PlayerAddEnergy = {
|
|||
|
AddEnergyFrequency = 1.;
|
|||
|
}
|
|||
|
|
|||
|
-- 触发器激活时,将执行Action的Execute
|
|||
|
function EventAction_PlayerAddEnergy:Execute(...)
|
|||
|
if not UGCGameSystem.IsServer() then return end
|
|||
|
self.LastAddEnergyTime = UGCSystemLibrary.GetGameTime()
|
|||
|
self.bEnableActionTick = true
|
|||
|
return true
|
|||
|
end
|
|||
|
|
|||
|
|
|||
|
|
|||
|
function EventAction_PlayerAddEnergy:Update(DeltaSeconds)
|
|||
|
local NowTime = UGCSystemLibrary.GetGameTime()
|
|||
|
if (NowTime - self.LastAddEnergyTime) > 1. / self.AddEnergyFrequency then
|
|||
|
self.LastAddEnergyTime = self.LastAddEnergyTime + 1. / self.AddEnergyFrequency
|
|||
|
self:AddAllPlayerEnergy()
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
function EventAction_PlayerAddEnergy:AddAllPlayerEnergy()
|
|||
|
local AllPlayerPawn = UGCGameSystem.GetAllPlayerPawn()
|
|||
|
for i, Player in pairs(AllPlayerPawn) do
|
|||
|
if Player:IsAlive() then
|
|||
|
Player:AddMechanismEnergy(GlobalConfigs.GameSetting.EnergyRecovery / self.AddEnergyFrequency)
|
|||
|
end
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
return EventAction_PlayerAddEnergy
|