Ejemplo n.º 1
0
    public override void OnStatetEnter(GameObject gameObject)
    {
        AT_Enemy enemy = gameObject.GetComponent <AT_Enemy>();

        enemy.MyAnimator.SetBool("Walking", true);
        enemy.GetAgent().isStopped = false;
        //StartCoroutine(Chase(enemy));
    }
Ejemplo n.º 2
0
 private IEnumerator Chase(AT_Enemy enemy)
 {
     while (true)
     {
         target = enemy.GetTarget().transform.position;
         enemy.MoveTowardsTargetPosition();
         //enemy.GetAgent().speed = enemy.GetMovementSpeed();
         //enemy.GetAgent().SetDestination(enemy.GetTarget().transform.position);
         //yield return new WaitForSeconds(seconds);
         yield return(null);
     }
 }
Ejemplo n.º 3
0
    public override void Execute(GameObject gameObject)
    {
        AT_Enemy enemy = gameObject.GetComponent <AT_Enemy>();

        if (enemy.IsTargetWithinAttackDistance())
        {
            StopCoroutine(Chase(enemy));
            enemy.GetAgent().velocity  = Vector3.zero;
            enemy.GetAgent().isStopped = true;
            enemy.GetStateMachine().SetState(AttackState.Instance);
        }
        else
        {
            enemy.MoveTowardsTargetPosition();
        }
    }
Ejemplo n.º 4
0
    public override void Execute(GameObject gameObject = null)
    {
        AT_Enemy enemy = gameObject.GetComponent <AT_Enemy>();

        if (!enemy.IsTargetWithinAttackDistance() && !enemy.isAttacking)
        {
            enemy.GetStateMachine().SetState(ChaseState.Instance);
        }
        else
        {
            if (!enemy.isAttacking)
            {
                enemy.MyAnimator.SetTrigger("Attack");
                int attack = Random.Range(1, 4);
                enemy.MyAnimator.SetTrigger("Attack" + attack);
                enemy.StartCoroutine("WaitForNextAttack");
            }
        }
    }
Ejemplo n.º 5
0
    public override void OnStateExit(GameObject gameObject)
    {
        AT_Enemy enemy = gameObject.GetComponent <AT_Enemy>();

        enemy.MyAnimator.SetBool("Walking", false);
    }
Ejemplo n.º 6
0
    public override void OnStateExit(GameObject gameObject = null)
    {
        AT_Enemy enemy = gameObject.GetComponent <AT_Enemy>();

        enemy.StopCoroutine("WaitForNextAttack");
    }