public static void EnemyTurnsActivate() { EndButtonToggle.EnableEndTurn(); TestButton.isEnable = true; bool countRound = false; for (int i = 0; i < Board.possibleMoveableChars.Length; i++) { if ((Board.possibleMoveableChars[i].rowPosition > 34 || Board.possibleMoveableChars[i].rowPosition < 38) && (Board.possibleMoveableChars[i].colPosition == 8 || Board.possibleMoveableChars[i].colPosition == 9)) { countRound = true; break; } } if (countRound) { Piece pirateBoss = GameObject.FindGameObjectWithTag("PirateBoss").GetComponent <Piece>(); if (pirateBoss != null) { if ((pirateBoss.colPosition > 34 || Board.pirateBoss.rowPosition < 38) && (pirateBoss.colPosition == 8 || pirateBoss.colPosition == 9)) { YouWin.roundCount = 0; } } else { YouWin.roundCount++; } } else { YouWin.roundCount = 0; } for (int i = 0; i < Board.spawnedEnemies.Count; i++) { Board.spawnedEnemies[i].GetComponent <EnemyAI>().isTurnActive = true; Board.spawnedEnemies[i].GetComponent <Stats>().canAttack = true; } Board.pirateBoss.GetComponent <PirateCaptainAI>().isTurnActive = true; Board.pirateBoss.GetComponent <Stats>().canAttack = true; foreach (var item in Board.possibleMoveableChars) { if (item != null) { item.thePiece.GetComponent <Stats>().canAttack = false; } } }
// Update is called once per frame void Update() { if (!frozenForMinigame) { MoveCamera(); CheckRotateCamera(); } if (movingCamera) { RepositionCamera(cameraRotPosition, prevCameraRotPosition, cameraMovementBetween); } // if (!TextManager.playerControlsLocked && !TutorialCards.isTutorialRunning) if (!DialoguePanelManager.playerControlsLocked && !TutorialCards.isTutorialRunning && !frozenForMinigame) { CheckClick(); CheckPlayer(); if (isPlayerTurn) { if (selectedUnit != null) { MovePlayer(); } if (Input.GetKeyDown(KeyCode.Space) || EndTurnButtonScript.isButtonPressed)// || Input.GetMouseButtonDown(0)) { //Clearing all highlighted possible moves and selected character. ClearAllGrids(); // panelUnderCharacter.GetComponent<PanelUnderCharacter>().visible = false; if (selectedUnit) { DisablePanelUnderCharacter(selectedUnit); } selectedUnit = null; EndTurnButtonScript.isButtonPressed = false; TestButton.isEnable = true; GiveNumbers(); isPlayerTurn = false; roundCounter++; if (roundCounter >= 4) { GameObject.Find("GridLevelStuff").GetComponentInChildren <Board>().SpawnEnemy((int)Random.Range(1.0f, 3.99f)); roundCounter = 0; } EnemyTurnsActivate(); } } else if (EnemyMovesDone()) { turnCount++; isPlayerTurn = true; TestButton.isEnable = false; // GameObject.Find("EndTurn").transform.GetComponent<Button>().transition = Navigation.None; ExperimentalResources.ReInitializeResources(); // GameObject.Find("EndTurn").transform.GetComponent<EndButtonToggle>().isVisible = false; foreach (var item in Board.spawnedEnemies) { item.GetComponent <EnemyAI>().stats.canAttack = false; } foreach (var item in Board.possibleMoveableChars) { if (item.thePiece != null) { item.thePiece.GetComponent <Stats>().canAttack = true; } } EndButtonToggle.DisableEndTurn(); } } if (frozenForMinigame) { PlayMinigame(); } }