public UniTask Initialize() { _gameSignals = DIResolver.GetObject <GameSignals>(); _scoreSystem = DIResolver.GetObject <ScoreSystem>(); _asteroidScoreDataSource = DIResolver.GetObject <AsteroidScoreDataSourceScriptableObject>(); _gameSignals.GameStartSignal.Listen(HandleGameStart, GameStartPrioritySignal.PRIORITY_SETUP_ADD_SCORE_SYSTEM).AddTo(disposables); _gameSignals.GameOverSignal.Listen(HandleGameOver).AddTo(disposables); _gameSignals.AsteroidDespawnedSignal.Listen(HandleAsteroidDespawned).AddTo(disposables); return(UniTask.CompletedTask); }