Пример #1
0
        public void BeChallenged(Player challenger, Round round)
        {
            GuardAgainstDisallowedGames(challenger);

               // Notify domain of event.
            ApplyChange(new PlayerWasChallenged(Id, Username, _externalId, _authToken, round.Id, challenger.Username, challenger.Id));
        }
Пример #2
0
        public void IssueChallenge(Player opponent, Round round)
        {
            GuardAgainstDisallowedGames(opponent);

            opponent.BeChallenged(this, round);

            ApplyChange(new PlayerChallenged(Id, opponent.Id, round.Id));
        }
Пример #3
0
 private void GuardAgainstDisallowedGames(Player opponent)
 {
     if (_ongoingOpponentsIds.Contains(opponent.Id))
         throw new InvalidOperationException(string.Format("An existing game aginst {0} is in progress.", opponent));
 }