예제 #1
0
        public void Setup(IDiceBag diceBag, IEnumerable <ICharacter> participants)
        {
            if (diceBag == null)
            {
                throw new ArgumentNullException("diceBag");
            }
            if (participants == null)
            {
                throw new ArgumentNullException("participants");
            }

            InitiativeOrder = participants.Select(x =>
                                                  new InitiativePassSlot()
            {
                Participant = x,
                HasActed    = false
            }).ToList();

            InitiativeOrder.ForEach(x => x.CurrentInitiative = x.RollInitiative(diceBag));

            InitiativeOrder.Sort();
        }
예제 #2
0
 public override void Reset()
 {
     InitiativeOrder.ForEach(x => x.HasActed = false);
     InitiativeOrder = InitiativeOrder.Where(_leftToAct).ToList();
 }