void OnTriggerStay(Collider hitCol) { if (_targetUnit != null) { return; } var character = hitCol.GetComponent <ICharacterUnit>(); if (character == null) { return; } if (character is EnemyUnitBase) { _targetUnit = character as EnemyUnitBase; } }
protected override void OnUpdate() { base.OnUpdate(); if (_targetUnit != null) { ChaseTarget(); } Vector3 diff = transform.position - _playerUnit.transform.position; if (diff.sqrMagnitude > _maxDistance * _maxDistance) { transform.position = _playerUnit.transform.position + _maxDistance * diff.normalized; } //Reset _attackWaitTime -= Time.deltaTime; _targetUnit = TapTargetManager.instance.TargetEnemy as EnemyUnitBase; }