| 12345678910111213141516171819202122232425262728293031 |
- using Content.Server.GameTicking.Prototypes;
- using Robust.Shared.Random;
- using Robust.Shared.Utility;
- using System.Linq;
- namespace Content.Server.GameTicking;
- public sealed partial class GameTicker
- {
- [ViewVariables]
- public string? LobbyBackground { get; private set; }
- [ViewVariables]
- private List<ResPath>? _lobbyBackgrounds;
- private static readonly string[] WhitelistedBackgroundExtensions = new string[] {"png", "jpg", "jpeg", "webp"};
- private void InitializeLobbyBackground()
- {
- _lobbyBackgrounds = _prototypeManager.EnumeratePrototypes<LobbyBackgroundPrototype>()
- .Select(x => x.Background)
- .Where(x => WhitelistedBackgroundExtensions.Contains(x.Extension))
- .ToList();
- RandomizeLobbyBackground();
- }
- private void RandomizeLobbyBackground() {
- LobbyBackground = _lobbyBackgrounds!.Any() ? _robustRandom.Pick(_lobbyBackgrounds!).ToString() : null;
- }
- }
|