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 |