コード例 #1
0
ファイル: Turn.cs プロジェクト: JolantaSk/CivIsLaif
        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
            });
        }
コード例 #2
0
ファイル: ActivePhase.cs プロジェクト: JolantaSk/CivIsLaif
        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);
        }
コード例 #3
0
 public void Start(TurnOrder turnOrder, Phase firstPhase)
 {
     Turn = Turn.Create(turnOrder, firstPhase);
 }
コード例 #4
0
ファイル: ActivePhase.cs プロジェクト: JolantaSk/CivIsLaif
 public ActivePhase Next(TurnOrder turnOrder)
 {
     return(Create(Phase.NextPhase, turnOrder));
 }
コード例 #5
0
ファイル: Turn.cs プロジェクト: JolantaSk/CivIsLaif
 public Turn Next()
 {
     return(Create(TurnOrder.Shift(), CurrentPhase.Phase.First()));
 }