Beispiel #1
0
        public Player(PlayerSeat seat, TeamData teamData = null, LibraryData deckData = null,
                      Configurations configurations      = null)
        {
            Configurations = configurations;
            Seat           = seat;

            Hand = new Collection <IRuntimeCard>();

            if (teamData != null)
            {
                Team = new Team(this, teamData);
            }

            if (deckData != null)
            {
                Library = new Library(this, deckData, Configurations);
            }

            Graveyard = new Graveyard(this);

            #region Mechanics

            DrawMechanics       = new DrawMechanics(this);
            DiscardMechanics    = new DiscardMechanics(this);
            PlayCardMechanics   = new PlayCardMechanics(this);
            StartTurnMechanics  = new StartTurnMechanics(this);
            FinishTurnMechanics = new FinishTurnMechanics(this);
            SpawnMechanics      = new SpawnMechanics(this);
            ManaMechanics       = new ManaMechanics(this);

            #endregion
        }
Beispiel #2
0
 void IPlayer.StartTurn() => StartTurnMechanics.StartTurn();