private void Update() { FireTimer -= Time.deltaTime; if (FireTimer <= 0f) { if (_TargetBehaviour is ISingleTargetBehaviour s) { _Launcher.Fire(s.Target); } else if (_TargetBehaviour is IMultiTargetBehaviour m) { _Launcher.Fire(m.Targets); } ResetFireTimer(); } }