public void TriggerTileClick(Vector2 position) { switch (currentSubPhase) { case InGameSubPhases.player1_turn: // Debug.Log("Position: " + position); if (GameManager.instance.ticTacToeBoardReference.PlayerClaimsPosition(0, position)) { GameManager.instance.ticTacToeBoardReference.boardViewer.PlayerClaimedGridAtPosition(0, position); if (GameManager.instance.ticTacToeBoardReference.CheckWinState()) { GameManager.instance.TriggerResultsGeneration(0); GameManager.instance.TriggerPhaseTransition(GameManager.GamePhases.end); } else if (GameManager.instance.ticTacToeBoardReference.GetCurrentTurnCount() >= (Mathf.Pow(GameManager.instance.ticTacToeBoardReference.width, 2))) { GameManager.instance.TriggerResultsGeneration(-1); GameManager.instance.TriggerPhaseTransition(GameManager.GamePhases.end); } currentSubPhase = InGameSubPhases.player2_turn; ReportCurrentPlayerTurn(1); } break; case InGameSubPhases.player2_turn: Debug.Log("Position: " + position); if (GameManager.instance.ticTacToeBoardReference.PlayerClaimsPosition(1, position)) { GameManager.instance.ticTacToeBoardReference.boardViewer.PlayerClaimedGridAtPosition(1, position); if (GameManager.instance.ticTacToeBoardReference.CheckWinState()) { GameManager.instance.TriggerResultsGeneration(1); GameManager.instance.TriggerPhaseTransition(GameManager.GamePhases.end); } else if (GameManager.instance.ticTacToeBoardReference.GetCurrentTurnCount() >= (Mathf.Pow(GameManager.instance.ticTacToeBoardReference.width, 2))) { GameManager.instance.TriggerResultsGeneration(-1); GameManager.instance.TriggerPhaseTransition(GameManager.GamePhases.end); } currentSubPhase = InGameSubPhases.player1_turn; ReportCurrentPlayerTurn(0); } break; } }
public override void StartPhase() { base.StartPhase(); if (GameManager.instance) { Camera.main.transform.position = new Vector3 ( (GameManager.instance.ticTacToeBoardReference.width * GameManager.instance.ticTacToeBoardReference.boardViewer.spriteSize) / 2, (GameManager.instance.ticTacToeBoardReference.width * GameManager.instance.ticTacToeBoardReference.boardViewer.spriteSize) / 2, Camera.main.transform.position.z ); GameManager.instance.ticTacToeBoardReference.Init(); GameManager.OnTileClicked += TriggerTileClick; GameManager.OnBackClicked += TriggerBackClick; currentSubPhase = InGameSubPhases.player1_turn; ReportCurrentPlayerTurn(0); } }