Vector3.Distance keeps growing
When tracking the distance between my player and my enemy, the Vector3.Distance continues to go higher and higher even when the player is standing stationary in front of the enemy. The enemy keeps attacking like the "playerInRange" bool is true, but the console is saying "false" Also, the anim.SetBool just flickers on and off. Why would the Distance still be growing when my two gameObjects are standing still?
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; using UnityEngine.SocialPlatforms;
public class EnemyAtk : MonoBehaviour {
[SerializeField] private float attackRange = 3f;
[SerializeField] private float timeBetweenAtks = 1f;
private Animator anim;
private GameObject player;
private bool playerInRange;
private BoxCollider[] weaponColliders;
private EnemyHealth enemyHealth;
// Use this for initialization
void Start () {
weaponColliders = GetComponentsInChildren<BoxCollider> ();
player = GameMgr.instance.Player;
anim = GetComponent<Animator> ();
StartCoroutine (atk ());
enemyHealth = GetComponent<EnemyHealth> ();
}
// Update is called once per frame
void Update () {
//print (Vector3.Distance(transform.position, player.transform.position));
print (playerInRange);
//Check for attack range
if(Vector3.Distance(transform.position, player.transform.position) <= attackRange && enemyHealth.IsAlive){
playerInRange = true;
anim.SetBool("InRange", true);
}else{
playerInRange = false;
anim.SetBool ("InRange", false);
}
}
IEnumerator atk(){
if(playerInRange && !GameMgr.instance.GameOver){
anim.Play ("Attack");
yield return new WaitForSeconds (timeBetweenAtks); //atk speed
}
yield return null;
StartCoroutine (atk ());
}
public void EnemyBeginAttack(){
foreach (var weapon in weaponColliders) {
weapon.enabled = true;
}
}
public void EnemyEndAttack(){
foreach (var weapon in weaponColliders) {
weapon.enabled = false;
}
}
}
Your answer
Follow this Question
Related Questions
Moving GameObject a specific distance in the Z direction and back again - regardless of rotation 1 Answer
PROBLEM WITH ANIM.SETBOOL NOT WORKING 0 Answers
Unity Animation 0 Answers
Is there an "IF" statement for "RectTransform"? 1 Answer
How can I get a two-dimensional blend tree to match direction and rotation? 0 Answers