public static Turn Create(TurnOrder turnOrder, Phase firstPhase) { var activePhase = ActivePhase.Create(firstPhase, turnOrder); return(new Turn(turnOrder.Id, activePhase.Id) { TurnOrder = turnOrder, CurrentPhase = activePhase }); }
public static ActivePhase Create(Phase phase, TurnOrder turnOrder) { var playerTurns = turnOrder.CreatePlayerTurns(phase.SimultaniousTurns); var activePhase = new ActivePhase(phase.Id) { Phase = phase }; activePhase._playerTurns.AddRange(playerTurns); return(activePhase); }