private void SetAgrUnit() { if (unitsInAgrRadius.Count == 0) { return; } AgrObject agrUnit = unitsInAgrRadius[0]; Debug.Log("SetAgrUnit, EnemyBehaviour: agrUnit has: " + agrUnit.gameObject.name); foreach (AgrObject agrObject in unitsInAgrRadius) { if (agrUnit.agr < agrObject.agr) { agrUnit = agrObject; } } this.agrUnit = agrUnit.gameObject; }
public void CheckEnemyUnitsAround() { Collider[] colliders = Physics.OverlapSphere(transform.position, agrDistance, LayerMask.GetMask("Creature")); if (colliders.Length > 0) { foreach (Collider collider in colliders) { Creature creature = collider.gameObject.GetComponent <Creature>(); foreach (string name in agrUnits) { if (name == creature.creatureName) { AgrObject agrObject = new AgrObject(); agrObject.gameObject = creature.gameObject; agrObject.agr = (uint)Vector3.Distance(creature.transform.position, transform.position); if (!(unitsInAgrRadius.Contains(agrObject))) { unitsInAgrRadius.Add(agrObject); } } } } } }