Пример #1
0
    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;
            }
        }
    }
Пример #2
0
    // 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();
        }
    }