public bool Shoot() { float currentTime = _timer.Time; if (currentTime < _lastLaunchTime + _coolTime) { // クールタイム中であれば失敗 return(false); } if (_blocker.Block()) { // 発射遮断中であれば失敗 return(false); } _launcher.Launch(); // 発射時間を更新 _lastLaunchTime = currentTime; return(true); }
public void Dispose() { _blocker.Block(_applicationLifecycleSubject.OnStop()); }