Пример #1
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.CompareTag("Player"))
     {
         player       = other.gameObject;
         currentState = Zstate.Berserk;
     }
 }
Пример #2
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("Player"))
     {
         brain  = other.gameObject;
         zstate = Zstate.Berserk;
     }
 }
Пример #3
0
    void Attack()
    {
        Vector3 dir = brain.transform.position - transform.position;

        if (dir.magnitude > 2)
        {
            zstate = Zstate.Berserk;
        }
    }
Пример #4
0
    void Attack()
    {
        Vector3 dir = player.transform.position - transform.position;

        if (dir.magnitude > 2)
        {
            currentState = Zstate.Berserk;
        }
        anim.SetBool("attack", true);
    }
Пример #5
0
 public void KillMe()
 {
     anim.enabled  = false;
     zstate        = Zstate.Dead;
     agent.enabled = false;
     foreach (Rigidbody rdb in rdbs)
     {
         rdb.isKinematic = false;
     }
 }
Пример #6
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player") && zState != Zstate.Dead)
        {
            targetOnSight = true;
            target        = other.gameObject;

            zState = Zstate.Bersek;
        }
    }
    /// <summary>
    /// Atrai o zumbi ao player, ao entrar na área definida
    /// </summary>
    void OnTriggerEnter(Collider col)
    {
        if (col.CompareTag("Player"))
        {
            brain  = col.gameObject;
            zstate = Zstate.Bersek;

            aud.PlayOneShot(audios[0]);
        }
    }
 private void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("Player"))
     {
         brain  = other.gameObject;
         zstate = Zstate.Berserk;
         ShootPlayer();
         audioshoot.Play();
         muzzleFlashEnemy.Play();
     }
 }
Пример #9
0
 /// <summary>
 /// Desativa os componentes necessários para simular a morte do Zombie.
 /// </summary>
 public void KillZombie()
 {
     anim.enabled      = false;
     zCharCtrl.enabled = false;
     foreach (Rigidbody rdb in rdbs)
     {
         rdb.isKinematic = false;
     }
     nAgent.enabled = false;
     anim.enabled   = false;
     currentState   = Zstate.Dead;
 }
    void Attack()
    {
        Vector3 dir = player.transform.position - transform.position;

        //causa dano ao player de acordo com a variável damage
        player.GetComponent <MovePlayer>().TakeDamage(damage);
        if (dir.magnitude > 2)
        {
            currentState = Zstate.Berserk;
        }
        anim.SetBool("attack", true);
    }
Пример #11
0
 void Berserk()
 {
     if (brain)
     {
         agent.SetDestination(brain.transform.position);
         Vector3 dir = brain.transform.position - transform.position;
         if (dir.magnitude < 2)
         {
             zstate = Zstate.Attack;
         }
     }
 }
Пример #12
0
    void Attack()
    {
        Vector3 dir = target.transform.position - transform.position;

        if (dir.magnitude > 2)
        {
            zState = Zstate.Bersek;
        }

        anim.SetBool("running", false);
        anim.SetBool("attack", true);
    }
    /// <summary>
    /// Estado de morte do zumbi
    /// </summary>
    public void KillZombie()
    {
        character.enabled = false;
        foreach (Rigidbody rdb in rdbs)
        {
            rdb.isKinematic = false;
        }
        anim.enabled  = false;
        agent.enabled = false;
        zstate        = Zstate.Dead;

        aud.PlayOneShot(audios [1]);
    }
Пример #14
0
    /// <summary>
    /// Faz o Zombie perseguir o jogador.
    /// </summary>
    void Berserk()
    {
        nAgent.SetDestination(player.transform.position);
        nAgent.speed = 2.2f;
        Vector3 dir = player.transform.position - transform.position;

        if (dir.magnitude < 2.5f)
        {
            currentState = Zstate.Attack;
        }
        anim.SetBool("attack", false);
        //transform.rotation = Quaternion.LookRotation (dir, Vector3.up);
        //transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(dir, Vector3.up), Time.deltaTime);
    }
    /// <summary>
    /// Estado de ataque do zumbi
    /// </summary>
    void Attack()
    {
        //Vector3 dir = brain.transform.position - transform.position;
        //transform.rotation = Quaternion.Lerp (transform.rotation, Quaternion.LookRotation (dir, Vector3.up), Time.fixedDeltaTime);

        //character.SimpleMove (transform.forward * 0.7f);
        Vector3 dir = brain.transform.position - transform.position;

        if (dir.magnitude > 2)
        {
            zstate = Zstate.Bersek;
        }

        anim.SetBool("attack", true);
    }
 /// <summary>
 /// Desativa os componentes necessários para simular a morte do Zombie.
 /// </summary>
 public void KillZombie()
 {
     anim.enabled      = false;
     zCharCtrl.enabled = false;
     foreach (Rigidbody rdb in rdbs)
     {
         rdb.isKinematic = false;
     }
     nAgent.enabled = false;
     anim.enabled   = false;
     currentState   = Zstate.Dead;
     if (gameObject.CompareTag("Enemy2"))
     {
         anim.SetBool("dead", true);
     }
 }
Пример #17
0
    void Berserk()
    {
        audSource.clip = audClip[1];

        navAgent.SetDestination(target.transform.position);
        navAgent.speed = running;

        Vector3 dir = target.transform.position - transform.position;

        if (dir.magnitude < 2.5f)
        {
            zState = Zstate.Attack;
        }

        anim.SetBool("running", true);
        anim.SetBool("attack", false);
    }
    /// <summary>
    /// Vai em direção ao jogador
    /// </summary>
    void Bersek()
    {
        //Vector3 dir = brain.transform.position - transform.position;
        //transform.rotation = Quaternion.Lerp (transform.rotation, Quaternion.LookRotation (dir, Vector3.up), Time.fixedDeltaTime);
        //character.SimpleMove (transform.forward * 0.7f);


        agent.SetDestination(brain.transform.position);
        agent.speed = 3;
        Vector3 dir = brain.transform.position - transform.position;

        if (dir.magnitude < 2)
        {
            zstate = Zstate.Attack;
        }
        anim.SetBool("attack", false);
    }
Пример #19
0
    private void FixedUpdate()
    {
        switch (zState)
        {
        case (Zstate.Patrol):
            Patrol();
            break;

        case (Zstate.Bersek):
            Berserk();
            break;

        case (Zstate.Attack):
            Attack();
            break;

        case (Zstate.Dead):
            Dead();
            break;
        }

        if (!targetOnSight && (zState == Zstate.Attack || zState == Zstate.Bersek))
        {
            berserkCount += Time.deltaTime;
            if (berserkCount >= berserkTime)
            {
                target = null;

                anim.SetBool("running", false);

                zState = Zstate.Patrol;

                berserkCount = 0;
            }
        }
    }
Пример #20
0
    void Die()
    {
        anim.SetBool("dying", true);

        zState = Zstate.Dead;
    }