Esempio n. 1
0
    public void Combatendo()
    {
        defensor.SetDestination(player.transform.position);            ///coloca o inimigo para ir em direção do player

        Vector3 mag1 = transform.position - player.transform.position; ///calcula quanto falta pra chegar no player

        Vector3 mag2 = pontoInicial - transform.position;              ///calcula quanto o inimigo já andou


        if (mag1.magnitude <= maxDistanciaCombate)          //se o inimigo está a pelo menos 1 andada de chegar no player, ele para
        {
            protocolo          = ProtocoloDeDefesa.Esperar; //para o inimigo
            defensor.isStopped = true;

            print("ho");

            StartCoroutine(WaitAttack());
        }

        if (mag2.magnitude >= maxDistanciaCombate)          //se o inimigo passou do limite de andar, ele para
        {
            protocolo          = ProtocoloDeDefesa.Esperar; //para o inimigo
            defensor.isStopped = true;

            print("hey");

            StartCoroutine(WaitAttack());
        }
    }
Esempio n. 2
0
    public IEnumerator WaitAttack()
    {
        transform.LookAt(player.transform.position);
        yield return(new WaitForSeconds(timeToAttack));

        protocolo = ProtocoloDeDefesa.Atacar;
        StopAllCoroutines();
    }
Esempio n. 3
0
    public void Atacando()
    {
        enemyCam.SetActive(true);
        battleCam.SetActive(false);

        anim.SetTrigger("AgressivaEnemy");
        protocolo = ProtocoloDeDefesa.Esperar;
    }
Esempio n. 4
0
    // Use this for initialization
    void Start()
    {
        pontoDePatrulha = pontos.GetComponentsInChildren <Transform>();
        numeroDoPonto   = Random.Range(1, pontoDePatrulha.Length);
        protocolo       = ProtocoloDeDefesa.Patrulhar;
        defensor.SetDestination(pontoDePatrulha[numeroDoPonto].position);
        alvo = null;

        anim = GetComponent <Animator>();
    }
Esempio n. 5
0
    public void Patrulhando()
    {
        Vector3 mag = transform.position - pontoDePatrulha[numeroDoPonto].position;

        if (mag.magnitude <= minDistancia)
        {
            protocolo          = ProtocoloDeDefesa.Esperar;
            defensor.isStopped = true;
            StartCoroutine(TempoDeEspera());
        }
    }
Esempio n. 6
0
 public void OnTriggerEnter(Collider col)
 {
     if (col.gameObject.CompareTag("Player") && (taAgressivo))
     {
         alvo = col.transform;
         defensor.isStopped = false;
         StopAllCoroutines();
         protocolo = ProtocoloDeDefesa.Perseguir;
         defensor.SetDestination(alvo.position);
         return;
     }
 }
Esempio n. 7
0
    public IEnumerator TempoDeEspera()
    {
        yield return(new WaitForSeconds(tempoParado));

        numeroDoPonto++;
        if (numeroDoPonto >= pontoDePatrulha.Length)
        {
            numeroDoPonto = 0;
        }

        defensor.SetDestination(pontoDePatrulha[numeroDoPonto].position);
        defensor.isStopped = false;
        protocolo          = ProtocoloDeDefesa.Patrulhar;
    }
Esempio n. 8
0
 public void Perder()
 {
     protocolo = ProtocoloDeDefesa.Perder;
     StopAllCoroutines();
     defensor.isStopped = true;
 }
Esempio n. 9
0
 public void IniciarTurno() //inimigo começa a andar
 {
     protocolo          = ProtocoloDeDefesa.Combater;
     defensor.isStopped = false;
     pontoInicial       = transform.position;
 }
Esempio n. 10
0
 public void IniciarCombate() //para o inimigo para o turno do player
 {
     protocolo          = ProtocoloDeDefesa.Esperar;
     defensor.isStopped = true;
 }
Esempio n. 11
0
 public void IniciarTurno() //inimigo começa a andar
 {
     protocolo          = ProtocoloDeDefesa.Combater;
     defensor.isStopped = false;
 }
Esempio n. 12
0
    public IEnumerator WaitAttack()
    {
        yield return(new WaitForSeconds(5));

        protocolo = ProtocoloDeDefesa.Atacar;
    }