Files
crystall-punk-14/Content.Server/GameTicking/GameTicker.LobbyBackground.cs

32 lines
956 B
C#
Raw Normal View History

2022-04-14 23:00:59 -05:00
using Content.Server.GameTicking.Prototypes;
2022-03-13 19:33:19 -07:00
using Robust.Shared.Random;
using Robust.Shared.Utility;
2022-05-12 22:35:13 -07:00
using System.Linq;
2022-03-13 19:33:19 -07:00
namespace Content.Server.GameTicking;
public sealed partial class GameTicker
{
[ViewVariables]
public string? LobbyBackground { get; private set; }
[ViewVariables]
private List<ResourcePath>? _lobbyBackgrounds;
private static readonly string[] WhitelistedBackgroundExtensions = new string[] {"png", "jpg", "jpeg"};
private void InitializeLobbyBackground()
{
2022-04-14 23:00:59 -05:00
_lobbyBackgrounds = _prototypeManager.EnumeratePrototypes<LobbyBackgroundPrototype>()
.Select(x => x.Background)
.Where(x => WhitelistedBackgroundExtensions.Contains(x.Extension))
.ToList();
2022-04-16 17:23:22 -05:00
RandomizeLobbyBackground();
2022-03-13 19:33:19 -07:00
}
2022-04-16 17:23:22 -05:00
private void RandomizeLobbyBackground() {
LobbyBackground = _lobbyBackgrounds!.Any() ? _robustRandom.Pick(_lobbyBackgrounds!).ToString() : null;
}
2022-03-13 19:33:19 -07:00
}