Пример #1
0
        private void DrawACard()
        {
            firstDuelist.DrawCard();
            var duelistState = DuelistState.From(firstDuelist);

            DomainEvents.Add(new CardDrawed(id, duelistState.Id, duelistState.Hand.Last()));
        }
 public DuelState(string id, DuelistState firstDuelist, DuelistState secondDuelist, TurnState turn)
 {
     Id            = id;
     FirstDuelist  = firstDuelist;
     SecondDuelist = secondDuelist;
     Turn          = turn;
 }
Пример #3
0
        private void DrawInitialHand()
        {
            firstDuelist.DrawCard();
            firstDuelist.DrawCard();
            firstDuelist.DrawCard();
            var initialHand = DuelistState.From(firstDuelist).Hand;

            DomainEvents.Add(new InitialHandDrawed(id, firstDuelist.Id, initialHand));
        }
Пример #4
0
        public static Duel Start(string id, string firstDuelistId, string secondDuelistId)
        {
            var firstDuelist  = Duelist.Create(firstDuelistId, Deck.Create());
            var secondDuelist = Duelist.Create(secondDuelistId, Deck.Create());
            var duel          = new Duel(id, firstDuelist, secondDuelist, null);

            duel.DomainEvents.Add(
                new DuelStarted(id,
                                DuelistState.From(firstDuelist),
                                DuelistState.From(secondDuelist)));
            return(duel);
        }
Пример #5
0
 public DuelBuilder WithSecondDuelist(DuelistBuilder duelist)
 {
     this.secondDuelist = duelist.BuildState();
     return(this);
 }
Пример #6
0
 public DuelBuilder WithFirstDuelist(DuelistBuilder duelist)
 {
     this.firstDuelist = duelist.BuildState();
     return(this);
 }
Пример #7
0
 public DuelStarted(string duelId, DuelistState firstDuelist, DuelistState secondDuelist)
 {
     FirstDuelist  = firstDuelist;
     SecondDuelist = secondDuelist;
     this.DuelId   = duelId;
 }