Пример #1
0
        /// <summary>
        /// Adds a player to the rooster
        /// </summary>
        /// <param name="joiningPlayer">A player that should not be playing for the team</param>
        public void AddPlayer(Player joiningPlayer)
        {
            if (Rooster.Contains(joiningPlayer))
            {
                throw new PlayerAlreadyInTeamException();
            }

            Rooster.Add(joiningPlayer);

            // Update the player join status
            joiningPlayer.AssignToTeam(this);
        }
Пример #2
0
        /// <summary>
        /// Removes a player from the rooster, and from the formation if he was in it
        /// </summary>
        /// <param name="leavingPlayer">The player leaving the team</param>
        public void RemovePlayer(Player leavingPlayer)
        {
            if (!Rooster.Contains(leavingPlayer))
            {
                throw new PlayerNotFoundException();
            }


            if (Formation.HasPlayer(leavingPlayer))
            {
                Formation.RemovePlayer(leavingPlayer);
            }

            Rooster.Remove(leavingPlayer);
            leavingPlayer.RemoveFromTeam();
        }