28 lines
640 B
C#
28 lines
640 B
C#
using MessagePack;
|
|
using OECS;
|
|
|
|
namespace Game.CardWars;
|
|
|
|
/// <summary>
|
|
/// Initializes a fresh game with the given player count and seed.
|
|
/// </summary>
|
|
[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
|
|
});
|
|
}
|
|
} |