Exemplo n.º 1
0
    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (Vector2.Distance(playerPos.position, animator.transform.position) >= searchRadius)
        {
            animator.SetBool("isWalking", false);
        }

        if (Time.time > nextShootTime)
        {
            eb.Shoot();
            nextShootTime = Time.time + (1f / shootRate);
        }

        animator.transform.position = Vector2.MoveTowards(animator.transform.position, playerPos.position, followSpeed * Time.deltaTime);
    }
Exemplo n.º 2
0
    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (animator.transform.position.y <= flightHeight)
        {
            animator.transform.position = new Vector2(animator.transform.position.x, animator.transform.position.y + ascendingSpeed * Time.deltaTime);
        }
        else
        {
            animator.transform.position = new Vector2(Vector2.MoveTowards(animator.transform.position, playerPos.transform.position, flighSpeed * Time.deltaTime).x, animator.transform.position.y);
        }

        if (Time.time > nextShootTime)
        {
            eb.Shoot();
            nextShootTime = Time.time + (1f / shootRate);
        }
    }