public void Explode() { _target.Decrease(1); _target = null; ProjectilePool pool = ProjectilePool.GetInstance(); pool.DestroyProjectile(this); }
void FixedUpdate() { if (_isUsed) { if (!_target._isAlive) { _target = null; ProjectilePool pool = ProjectilePool.GetInstance(); pool.DestroyProjectile(this); } if (_target) { float distance = Vector3.Distance(transform.position, _target.gameObject.transform.position); transform.position = Vector3.MoveTowards(transform.position, _target.gameObject.transform.position, speed / distance); } } }