Example #1
0
    void Update()
    {
        base.Update();

        if (HP.isDead)
        {
            Destroy(this);
        }
        //print("tgt " + target);
        CurrTarget = CalculateTarget();

        if (CurrTarget != null && TgtScript == null)
        {
            TgtScript = CurrTarget.GetComponent <Movement>();
        }

        //PERSEGUINDO/ATACANDO
        if (CurrTarget != null && TgtScript != null)
        {
            if (TgtScript.isDead)
            {
                CurrTarget = null;
                TgtScript  = null;
            }
            else
            {
                LookAtTarget();

                if (!isAttacking)
                {
                    //Raio de ataque
                    if ((CurrTarget.transform.position - transform.position).magnitude <= navAgent.stoppingDistance)
                    {
                        Stop();
                        claws.Attack();
                    }
                    else
                    {
                        Chase();
                    }
                }
            }
        }
        //PATRULHANDO/PARADO
        else
        {
            Stop();
        }
    }