Exemplo n.º 1
0
    void Awake()
    {
        if (instance != null)
        {
            Destroy(gameObject);
        }
        else
        {
            instance = this;

            battlecanvas = GameObject.Find("BattleCanvas");
            Spacer       = battlecanvas.transform.GetChild(5).transform.GetChild(0).transform;
            attackPanel  = battlecanvas.transform.GetChild(3).gameObject;
            attackPanel.SetActive(false);
            EnemySelect = battlecanvas.transform.GetChild(5).gameObject;
            EnemySelect.SetActive(false);
            SkillsPanel = battlecanvas.transform.GetChild(7).gameObject;
            SkillsPanel.SetActive(false);
            actionSpacer = battlecanvas.transform.GetChild(3).transform.GetChild(0).transform;
            Skillspacer  = battlecanvas.transform.GetChild(7).transform.GetChild(0).transform;

            battlestates = performAction.wait;
            Invoke("Playerdetect", 5);

            Debug.Log("players done");
        }
    }
Exemplo n.º 2
0
 // Use this for initialization
 void Start()
 {
     gameManager = GameObject.Find("GameManager");
     ActionList  = GameObject.Find("ActionList");
     Debug.Log(ActionList);
     battleState = performAction.WAIT;
     enemies.AddRange(GameObject.FindGameObjectsWithTag("Enemy"));
     heroes.Add(GameObject.FindGameObjectWithTag("Player"));
     heroInput = heroGUI.ACTIVATE;
     //ActionList.SetActive(false);
     myAction = GameObject.FindGameObjectWithTag("Player").GetComponent <AttackScript>();
 }
 // Start is called before the first frame update
 void Start()
 {
     battleState = performAction.Wait;
     EnemyInBattle.AddRange(GameObject.FindGameObjectsWithTag("Enemy"));
     PlayerInBattle.AddRange(GameObject.FindGameObjectsWithTag("Player"));
     victoryText.text = "";
     loseText.text    = "";
     rematchButton.SetActive(false);
     returnButton.SetActive(false);
     resultPanel.SetActive(false);
     castButton.SetActive(true);
     resetButton.SetActive(true);
     actionDisplay.SetActive(true);
     actionBar.SetActive(true);
 }
Exemplo n.º 4
0
 public void LoadScene()
 {
     action = performAction.Load;
 }
Exemplo n.º 5
0
 public void CloseApplication()
 {
     action = performAction.Quit;
 }
Exemplo n.º 6
0
    // Update is called once per frame
    public void Update()
    {
        switch (battleState)
        {
        case (performAction.Wait):
            if (PerformList.Count > 0)
            {
                battleState = performAction.TakeAction;
            }
            break;

        case (performAction.TakeAction):
            GameObject performer = GameObject.Find(PerformList[0].Attacker);
            if (PerformList[0].Type == "Enemy")
            {
                EnemyStateMachine ESM = performer.GetComponent <EnemyStateMachine>();

                for (int i = 0; i < PlayerInBattle.Count; i++)
                {
                    if (PerformList[0].AttackersTarget == PlayerInBattle[i])
                    {
                        ESM.PlayerToAttack = PerformList[0].AttackersTarget;
                        ESM.currentState   = EnemyStateMachine.turnState.action;
                    }
                    else
                    {
                        PerformList[0].AttackersTarget = PlayerInBattle[Random.Range(0, PlayerInBattle.Count)];
                        ESM.PlayerToAttack             = PerformList[0].AttackersTarget;
                        ESM.currentState = EnemyStateMachine.turnState.action;
                    }
                }
            }
            if (PerformList[0].Type == "Player")
            {
            }
            battleState = performAction.PerformAction;
            break;

        case (performAction.PerformAction):
            break;

        case (performAction.CheckAlive):
            if (PlayerInBattle.Count < 1)
            {
                battleState = performAction.Lose;
                //lose game
            }
            else if (EnemyInBattle.Count < 1)
            {
                battleState = performAction.Win;
            }
            else
            {
                //call function
            }
            break;

        case (performAction.Win):
        {
            Debug.Log("Victory!");
        }
        break;

        case (performAction.Lose):
        {
            Debug.Log("Game Over");
        }
        break;
        }
    }
Exemplo n.º 7
0
 // Start is called before the first frame update
 void Start()
 {
     battleState = performAction.Wait;
     EnemyInBattle.AddRange(GameObject.FindGameObjectsWithTag("Enemy"));
     PlayerInBattle.AddRange(GameObject.FindGameObjectsWithTag("Player"));
 }
Exemplo n.º 8
0
 public BehaviourNode(NodeType type, performAction action, List <BehaviourNode> children)
 {
     this.type     = type;
     this.action   = action;
     this.children = children;
 }
Exemplo n.º 9
0
    // Update is called once per frame
    void Update()
    {
        switch (battleState)
        {
        case (performAction.WAIT):
            if (list.Count > 0)
            {
                battleState = performAction.TAKEACTION;
            }
            break;

        case (performAction.TAKEACTION):
            Debug.Log(list[0].Attacker);
            GameObject performer = GameObject.Find(list[0].Attacker);
            Debug.Log(performer);
            if (list[0].Type == "Enemy")
            {
                EnemyStateMachine esm = performer.GetComponent <EnemyStateMachine>();
                for (int i = 0; i < heroes.Count; i++)
                {
                    if (list[0].attackersTarget == heroes[i])
                    {
                        esm.hero         = list[0].attackersTarget;
                        esm.currentState = EnemyStateMachine.TurnState.ACTION;
                        break;
                    }     /*else
                           * {
                           * list[0].attackersTarget = heroes[Random.Range(0, heroes.Count)];
                           * }*/
                }
            }
            if (list[0].Type == "Hero")
            {
                HeroStateMachine hsm = performer.GetComponent <HeroStateMachine>();
                hsm.enemyToAttack = list[0].attackersTarget;
                hsm.currentState  = HeroStateMachine.TurnState.ACTION;
            }

            battleState = performAction.PERFORMACTION;
            break;

        case (performAction.CHECKALIVE):
            if (heroes.Count == 0)
            {
                //lose game
                Debug.Log("Lost");
                battleState = performAction.LOSE;
            }
            else if (enemies.Count == 0)
            {
                //win battle
                Debug.Log("Win");
                for (int i = 0; i < heroes.Count; i++)
                {
                    heroes[i].GetComponent <HeroStateMachine>().currentState = HeroStateMachine.TurnState.WAITING;
                }
                battleState = performAction.WIN;
            }
            else
            {
                //call function
                //ActionList.SetActive(false);
                gameManager.GetComponent <GameStates>().List.SetActive(false);
                heroInput = heroGUI.ACTIVATE;
            }
            break;

        case (performAction.PERFORMACTION):

            break;

        case (performAction.LOSE):

            break;

        case (performAction.WIN):
            Destroy(GameObject.FindGameObjectWithTag("Dead enemy"));
            Destroy(GameObject.Find("BattleManager(Clone)"));
            gameManager.GetComponent <GameStates>().state = GameStates.GameState.WORLDSTATE;
            break;
        }

        switch (heroInput)
        {
        case (heroGUI.ACTIVATE):
            if (heroesToManage.Count > 0)
            {
                //heroesToManage[0]
                heroChoice = new HandleTurn();
                //ActionList.SetActive(true);
                gameManager.GetComponent <GameStates>().List.SetActive(true);
                heroInput = heroGUI.WAITING;
            }

            break;

        case (heroGUI.WAITING):
            break;

        case (heroGUI.DONE):
            heroInputDone();
            break;
        }
    }
    // Update is called once per frame
    public void Update()
    {
        switch (battleState)
        {
        case (performAction.Wait):
            if (PerformList.Count > 0)
            {
                battleState = performAction.TakeAction;
            }
            break;

        case (performAction.TakeAction):
            GameObject performer = GameObject.Find(PerformList[0].Attacker);
            if (PerformList[0].Type == "Enemy")
            {
                EnemyStateMachine ESM = performer.GetComponent <EnemyStateMachine>();

                for (int i = 0; i < PlayerInBattle.Count; i++)
                {
                    if (PerformList[0].AttackersTarget == PlayerInBattle[i])
                    {
                        ESM.PlayerToAttack = PerformList[0].AttackersTarget;
                        ESM.currentState   = EnemyStateMachine.turnState.action;
                    }
                    else
                    {
                        PerformList[0].AttackersTarget = PlayerInBattle[Random.Range(0, PlayerInBattle.Count)];
                        ESM.PlayerToAttack             = PerformList[0].AttackersTarget;
                        ESM.currentState = EnemyStateMachine.turnState.action;
                    }
                }
            }

            battleState = performAction.PerformAction;
            break;

        case (performAction.PerformAction):
            break;

        case (performAction.CheckAlive):
            if (PlayerInBattle.Count < 1)
            {
                battleState = performAction.Lose;

                //lose game
                loseText.text = "Game Over";
                rematchButton.SetActive(true);
                returnButton.SetActive(true);
                resultPanel.SetActive(true);
                castButton.SetActive(false);
                resetButton.SetActive(false);
                actionDisplay.SetActive(false);
                actionBar.SetActive(false);
                Debug.Log("Game Over");
            }
            else if (EnemyInBattle.Count <= 0)
            {
                battleState      = performAction.Win;
                victoryText.text = "Victory!";
                rematchButton.SetActive(true);
                returnButton.SetActive(true);
                resultPanel.SetActive(true);
                castButton.SetActive(false);
                resetButton.SetActive(false);
                actionDisplay.SetActive(false);
                actionBar.SetActive(false);
            }

            break;

        case (performAction.Win):
        {
            Debug.Log("Victory!");
            for (int i = 0; i < PlayerInBattle.Count; i++)
            {
                PlayerInBattle[i].GetComponent <PlayerStateMachine>().currentState = PlayerStateMachine.turnState.alive;
            }
            victoryText.text = "Victory!";
            rematchButton.SetActive(true);
            returnButton.SetActive(true);
            resultPanel.SetActive(true);
            castButton.SetActive(false);
            resetButton.SetActive(false);
            actionDisplay.SetActive(false);
            actionBar.SetActive(false);
        }
        break;

        case (performAction.Lose):
        {
            for (int i = 0; i < PlayerInBattle.Count; i++)
            {
                EnemyInBattle[i].GetComponent <EnemyStateMachine>().currentState = EnemyStateMachine.turnState.waiting;
            }
            loseText.text = "Game Over";
            rematchButton.SetActive(true);
            returnButton.SetActive(true);
            resultPanel.SetActive(true);
            castButton.SetActive(false);
            resetButton.SetActive(false);
            actionDisplay.SetActive(false);
            actionBar.SetActive(false);
            Debug.Log("Game Over");
        }
        break;
        }
    }
Exemplo n.º 11
0
    // Update is called once per frame
    void Update()
    {
        if (Gamemanager.instance.detectE == true)
        {
            enemysinBattle.AddRange(GameObject.FindGameObjectsWithTag("Enemy"));
            characterInput = characterGUI.activate;
            attackPanel.SetActive(false);
            EnemySelect.SetActive(false);
            SkillsPanel.SetActive(false);
            EnemyButtons();
            Gamemanager.instance.noEnemys = false;
            Gamemanager.instance.detectE  = false;
        }

        switch (battlestates)
        {
        case (performAction.wait):
            if (PerformList.Count > 0)
            {
                battlestates = performAction.takeaction;
            }
            break;

        case (performAction.takeaction):
            GameObject performer = GameObject.Find(PerformList [0].attacker);
            if (PerformList [0].Type == "Enemy")
            {
                EnemyStateMachine ESM = performer.GetComponent <EnemyStateMachine> ();
                for (int i = 0; i < charactersinBattle.Count; i++)
                {
                    if (PerformList [0].attackersTarget == charactersinBattle [i])
                    {
                        ESM.charactertoattack = PerformList [0].attackersTarget;
                        ESM.currentState      = EnemyStateMachine.TurnState.action;
                        break;
                    }
                    else
                    {
                        PerformList[0].attackersTarget = charactersinBattle[Random.Range(0, charactersinBattle.Count)];
                        ESM.charactertoattack          = PerformList [0].attackersTarget;
                        ESM.currentState = EnemyStateMachine.TurnState.action;
                    }
                }
            }
            if (PerformList [0].Type == "Player c")
            {
                HeroStateMachine HSM = performer.GetComponent <HeroStateMachine> ();
                HSM.enemytoAttack = PerformList [0].attackersTarget;
                HSM.currentState  = HeroStateMachine.TurnState.action;
            }
            battlestates = performAction.performaction;
            break;

        case (performAction.performaction):
            //idle
            break;

        case (performAction.checkAlive):
            if (charactersinBattle.Count < 1)
            {
                battlestates = performAction.lose;
                //lose
            }
            else if (enemysinBattle.Count < 1)
            {
                Gamemanager.instance.noEnemys = true;
                battlestates = performAction.win;
                //win
            }
            else
            {
                clearAttackPanel();
                characterInput = characterGUI.activate;
                battlestates   = performAction.wait;
            }
            break;

        case (performAction.lose):
        {
            Debug.Log("lose");
        }
        break;

        case (performAction.win):
        {
            Debug.Log("win");
            for (int i = 0; i < charactersinBattle.Count; i++)
            {
                charactersinBattle[i].GetComponent <HeroStateMachine>().currentState = HeroStateMachine.TurnState.waiting;
            }
            battlestates = performAction.wait;
        }
        break;
        }
        switch (characterInput)
        {
        case (characterGUI.activate):
            if (charactersToManage.Count > 0)
            {
                characterChoise = new HandleTurn();

                attackPanel.SetActive(true);

                CreateAttackButtons();
                characterInput = characterGUI.waiting;
            }
            break;

        case (characterGUI.waiting):
            //Idle
            break;

        case (characterGUI.done):
            characterInputDone();
            break;
        }
    }