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(); }
public override void Reset() { InitiativeOrder.ForEach(x => x.HasActed = false); InitiativeOrder = InitiativeOrder.Where(_leftToAct).ToList(); }