32 lines
1020 B
Lua
Raw Normal View History

2025-01-04 23:00:19 +08:00
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