Exemple #1
0
    void Update()
    {
        //Debug.Log(GameManager.rand + "is the deciding thing");



        //cheats
        if (Input.GetKeyDown(KeyCode.T))
        {
            Activate.activateflag = true;
            Debug.Log("IS TROO");
        }
        else if (Input.GetKeyDown(KeyCode.F))
        {
            Activate.activateflag = false;
            Debug.Log("IZZ FALSZ");
        }
        else if (Input.GetKeyDown(KeyCode.Q))
        {
            isPlayerTurn = true;
            Debug.Log("Playturn has changed");
        }


        isPlayerTurn = GameManager.playerTurn; //

        //Debug.Log("isPlayerTurn is: "+ isPlayerTurn);



        if (isPlayerTurn)
        {
            strikeFlag = false;//reset bool
            if (buttonsMade == false)
            {
                attack.SetActive(true);
                defend.SetActive(false);
                strike.SetActive(true);
                counter.SetActive(false);
                charge.SetActive(true);
                AtkMag.SetActive(true);
                DefMag.SetActive(false);
                giveUp.SetActive(false);

                ButtonCreate();
            }

            if (Input.GetKeyDown(KeyCode.LeftArrow))
            {
                buttonList[prevButton].image.color = Color.white;
                prevButton     = 3;
                selectedButton = 3;
                buttonList[selectedButton].image.color = Color.yellow;
            }
            else if (Input.GetKeyDown(KeyCode.RightArrow))
            {
                buttonList[prevButton].image.color = Color.white;
                prevButton     = 2;
                selectedButton = 2;
                buttonList[selectedButton].image.color = Color.yellow;
            }
            else if (Input.GetKeyDown(KeyCode.UpArrow))
            {
                buttonList[prevButton].image.color = Color.white;
                prevButton     = 0;
                selectedButton = 0;
                buttonList[selectedButton].image.color = Color.yellow;
            }
            else if (Input.GetKeyDown(KeyCode.DownArrow))
            {
                buttonList[prevButton].image.color = Color.white;
                prevButton     = 1;
                selectedButton = 1;
                buttonList[selectedButton].image.color = Color.yellow;
            }



            if (Input.GetKeyDown(KeyCode.Space)) //players actions only work on his/her turn
            {
                //buttonList[selectedButton].action();
                //buttonList[selectedButton].image.color = Color.yellow;

                foreach (GameObject go in gos)
                {
                    if (go.layer == (9) && go.CompareTag("OffenseChoice"))
                    {
                        go.SetActive(false); //turns off the button objects :o only when space is pressed
                                             // Debug.Log("DESTROY BUTTONS-PLAYER CHOICE MADE");
                    }
                }

                // GameObject[] gos = GameObject.FindObjectsOfType(typeof(GameObject)) as GameObject[]; //will return an array of all GameObjects in the scene

                //foreach (GameObject go in gos)
                //{
                //  if (go.layer == (9) && go.CompareTag("OffsenseChoice"))
                //{
                //  go.SetActive(false); //turns off the button objects :o only when space is pressed
                // Debug.Log("DESTROY BUTTONS-PLAYER CHOICE MADE");
                //}
                //}
                //Debug.Log("PRESSED");
                action = GameObject.FindWithTag("Enemy").GetComponent <EnemyActions>();

                move = Random.Range(1, 5); //chooses a number between 1 and 4 //neeed 5
                //Set the appropiate methods
                if (move == 1)
                {
                    enemyMove = "defend";
                    action.defenseMethod(); //call the attack action from the skeleton script
                }
                else if (move == 2)
                {
                    enemyMove = "counter";
                    action.counterMethod();
                }
                else if (move == 3)
                {
                    enemyMove = "giveUp";
                    action.giveUpMethod();
                }
                else if (move == 4)
                {
                    enemyMove = "defMagic";
                    action.defMagMethod();
                }

                buttonList[selectedButton].action();
                buttonList[selectedButton].image.color = Color.yellow;

                GameManager.rand = 2;
                GameManager.addCount(); //increase turn number
                                        // Debug.Log(GameManager.count + " has increased");
                buttonsMade = false;
            }
        }
        else //enemy turn
        {
            //counterFlag = false; //reset upon turn switch so no repeat guarentee
            //GameManager.rand = 2; THIS WAS THE PROBLEM

            foreach (GameObject go in gos)
            {
                if (go.layer == (9) && go.CompareTag("DefenseChoice"))
                {
                    go.SetActive(true); //turns on/off the button objects
                }
            }

            if (buttonsMade == false)
            {
                ButtonCreate();
            }

            //give player actions
            if (Input.GetKeyDown(KeyCode.LeftArrow))
            {
                buttonList[prevButton].image.color = Color.white;
                prevButton     = 3;
                selectedButton = 3;
                buttonList[selectedButton].image.color = Color.yellow;
            }
            else if (Input.GetKeyDown(KeyCode.RightArrow))
            {
                //counterFlag = true;
                buttonList[prevButton].image.color = Color.white;
                prevButton     = 2;
                selectedButton = 2;
                buttonList[selectedButton].image.color = Color.yellow;
            }
            else if (Input.GetKeyDown(KeyCode.UpArrow))
            {
                buttonList[prevButton].image.color = Color.white;
                prevButton     = 0;
                selectedButton = 0;
                buttonList[selectedButton].image.color = Color.yellow;
            }
            else if (Input.GetKeyDown(KeyCode.DownArrow))
            {
                buttonList[prevButton].image.color = Color.white;
                prevButton     = 1;
                selectedButton = 1;
                buttonList[selectedButton].image.color = Color.yellow;
            }

            else if (Input.GetKeyDown(KeyCode.P))
            {
                GameManager.playerTurn = true;
            }

            if (Input.GetKeyDown(KeyCode.Space)) //players actions only work on his/her turn
            {
                //enemy selection OFFENSE


                action = GameObject.FindWithTag("Enemy").GetComponent <EnemyActions>();

                move        = 2;// Random.Range(1, 5); //chooses a number between 1 and 4
                counterFlag = false;

                buttonList[selectedButton].action();
                buttonList[selectedButton].image.color = Color.yellow; //Do action after the changes are made

                //Set the appropiate methods
                if (move == 1)
                {
                    action.attackMethod(); //call the attack action from the skeleton script
                    enemyMove = "attack";
                }
                else if (move == 2)
                {
                    enemyMove  = "strike";
                    strikeFlag = true;
                    action.strikeMethod();
                }
                else if (move == 3)
                {
                    action.chargeMethod();
                    enemyMove = "charge";
                }
                else if (move == 4)
                {
                    action.atkMagMethod();
                    enemyMove = "atkMagic";
                }

                //Debug.Log(strikeFlag);



                // GameObject[] gos = GameObject.FindObjectsOfType(typeof(GameObject)) as GameObject[]; //will return an array of all GameObjects in the scene
                foreach (GameObject go in gos)
                {
                    if (go.layer == (9) && go.CompareTag("DefenseChoice"))
                    {
                        go.SetActive(false); //turns off the button objects :o only when space is pressed
                                             // Debug.Log("DESTROY BUTTONS-PLAYER CHOICE MADE");
                    }
                }
                //Debug.Log("PRESSED");
                GameManager.rand = 1;
                GameManager.addCount(); //increase turn number
                                        //  Debug.Log(GameManager.count + " has increased");
                buttonsMade = false;
            }

            //To do here
            // Debug.Log("Skelly time");
            if (Input.GetKeyDown(KeyCode.P))
            {
                GameManager.rand = 1;
            }
        }
    }