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