示例#1
0
    // Update is called once per frame
    void Update()
    {
        switch (phase)
        {
        case battlePhase.PLAYER:
            cursor.SetActive(true);
            if (!checkingWait && allAreWaiting || Input.GetKeyDown(KeyCode.Alpha0))
            {
                phase = battlePhase.ALLY;
            }
            break;

        case battlePhase.ALLY:
            cursor.SetActive(false);
            if (tileData.alliesInGame.Count == 0)
            {
                phase = battlePhase.ENEMY;
                RemoveWaitEnemy();
                GiveTurnToAI();
            }
            break;

        case battlePhase.ENEMY:
            cursor.SetActive(false);
            if (tileData.enemiesInGame.Count == 0)
            {
                RemoveWaitPlayer();
                allAreWaiting = false;
                phase         = battlePhase.PLAYER;
            }
            break;
        }
    }
示例#2
0
    IEnumerator ActionTime()
    {
        phase = battlePhase.Action;
        // Debug.Log ("Current Phase: " + phase);
        yield return(new WaitForSeconds(actionDuration));

        phase = battlePhase.Choice;
        // Debug.Log ("Current Phase: " + phase);
    }
示例#3
0
 // Use this for initialization
 void Start()
 {
     enemy                   = enemy.GetComponent <Animator>();
     choicePanel             = GameObject.Find("Choice Panel");
     playerMovement          = GameObject.Find("Player").GetComponent <PlayerMovement> ();
     playerAttacking         = GameObject.Find("PlayerAttack").GetComponent <PlayerAttacking> ();
     playerSpecial           = GameObject.Find("PlayerSpecial").GetComponent <PlayerSpecial> ();
     playerItem              = GameObject.Find("Player").GetComponent <PlayerItem> ();
     playerMovement.enabled  = false;
     playerAttacking.enabled = false;
     phase                   = battlePhase.Choice;
     // Debug.Log ("Current Phase: " + phase);
 }
示例#4
0
 public void GiveTurnToAI()
 {
     if (tileData.enemiesInGame.Count > 0 && enemyIndex < tileData.enemiesInGame.Count)
     {
         tileData.enemiesInGame[enemyIndex].GetComponent <EnemyAI>().GetTarget();
     }
     else
     {
         RemoveWaitPlayer();
         allAreWaiting = false;
         enemyIndex    = 0;
         phase         = battlePhase.PLAYER;
     }
 }
示例#5
0
    void Update()
    {
        if (currentPhase == battlePhase.ATKEXECUTION)
        {
            atkpoDmg = CalculateDamage(po, eo, poSelectedMove);
            atkeoDmg = CalculateDamage(eo, po, eoSelectedMove);
            Debug.Log("Player Damage: " + atkpoDmg);
            Debug.Log("Enemy Damage: " + atkeoDmg);

            StartCoroutine(executeTurn());

            turnNumber++;

            Debug.Log("Turn: " + turnNumber);

            buih.encounterMessage.index = 0;
            currentPhase = battlePhase.START_PHASE;
        }
    }
示例#6
0
 // Use this for initialization
 public void changePhase(battlePhase change)
 {
     mapChange = true;
     phase     = change;
     turnText.GetComponent <Text>().text = "Player " + turn + " Turn";
 }
示例#7
0
 // Start is called before the first frame update
 void Start()
 {
     cursor   = GameObject.FindGameObjectWithTag("Cursor");
     tileData = GameObject.FindGameObjectWithTag("TileManager").GetComponent <TileData>();
     phase    = battlePhase.PLAYER;
 }