using MessagePack; using OECS; namespace Game.CardWars; /// /// Initializes a fresh game with the given player count and seed. /// [MessagePackObject] public struct NewGameCommand : ICommand { [Key(0)] public int PlayerCount; [Key(1)] public uint Seed; [Key(2)] public string CardDataCsv; public void Execute(World world) { world.SetSingleton(new GameState { Phase = GamePhase.Setup, PlayerCount = PlayerCount, CurrentPlayerIndex = 0, StartingPlayerIndex = 0, RoundNumber = 0, Seed = Seed }); } }