Example #1
0
    // Update is called once per frame
    void Update()
    {
        distanceToPlayer = Vector2.Distance(transform.position, player.transform.position);
        if (attackRadius >= distanceToPlayer && !manager.IsPaused && !manager.IsGameOver)
        {
            //set the enemyAI to use the script given.
            if (slime)
            {
                slime.Attack(player);
            }
            else if (golem)
            {
                golem.Attack(player, attackRadius, stopRadius, rb);
            }
            else if (bull)
            {
                bull.Attack();
            }
            else if (blazer)
            {
                // blazer.Attack();
            }
        }

        if (useDefaultMovement && !isDmg)
        {
            UpdateTarget();
            FollowPath();
        }

        if (isDmg)
        {
            //Vector3 direction = transform.position - (Vector3)target;
            Vector2 force = knockDir.normalized * knockbackMultiplier * 1000 * Time.deltaTime;
            rb.AddForce(force);
            //rb.velocity = (Vector2)direction.normalized * knockbackMultiplier * Time.deltaTime;
        }

        CheckIfDeath();
        //check if moving
        StartCoroutine(CheckMovement());
    }