Skip to content

Commit

Permalink
Merge pull request #118 from Lemirda/task14
Browse files Browse the repository at this point in the history
todo task 14
  • Loading branch information
13lackHawk authored May 3, 2024
2 parents 448086c + 4eb876a commit 8781d95
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
39 changes: 39 additions & 0 deletions Content.Server/Andromeda/GameTicker/GameTicker.SetGamePresetUTC.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
using System;
using Robust.Shared.Timing;

namespace Content.Server.GameTicking
{
public sealed partial class GameTicker
{
[Dependency] private readonly IGameTiming _timing = default!;
private TimeSpan _checkInterval = TimeSpan.FromMinutes(1);
private TimeSpan _moscowTimeThreshold = new TimeSpan(10, 0, 0); // 10:00 МСК
private int _playerThreshold = 25;
private string _secretPresetId = "secret";

private void CheckAndChangeGamePreset()
{
var utcNow = DateTime.UtcNow;
TimeZoneInfo moscowTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Russian Standard Time");
DateTime moscowDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcNow, moscowTimeZone);

if (_playerManager.PlayerCount >= _playerThreshold || moscowDateTime.TimeOfDay >= _moscowTimeThreshold)
{
Log.Info($"В данный момент количетсво игроков больше или ровно 25, либо время больше 10:00 МСК");
if (TryFindGamePreset(_secretPresetId, out var preset))
{
Log.Info($"Выставляем {preset} в связи с тем что в данный момент количетсво игроков больше или ровно 25, либо время больше 10:00 МСК");
SetGamePreset(preset);
}
else
{
Log.Error($"Почему то небыл найден режим {_secretPresetId}, невозможно выставить режим в связи с тем что в данный момент количетсво игроков больше или ровно 25, либо время больше 10:00 МСК");
}
}
else
{
Log.Warning($"В данный момент количетсво игроков меньше 25, либо время меньше 10:00 МСК");
}
}
}
}
1 change: 1 addition & 0 deletions Content.Server/GameTicking/GameTicker.RoundFlow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,7 @@ public void EndRound(string text = "")
RunLevel = GameRunLevel.PostRound;

ShowRoundEndScoreboard(text);
CheckAndChangeGamePreset(); //A-13 GameTicker.SetGamePresetUTC
}

public void ShowRoundEndScoreboard(string text = "")
Expand Down

0 comments on commit 8781d95

Please sign in to comment.