private void Awake()
 {
     _updateManager    = new UpdateManager();
     _roundManager     = new RoundManager();
     _boundsManager    = new BoundsManager();
     _cursorManager    = new CursorManager();
     _particlesManager = new ParticlesManager();
     _scoreManager     = new ScoreManager();
 }
 public ParticlesManager()
 {
     _bounds                      = Enum.GetValues(typeof(Bound));
     _intRandom                   = new System.Random();
     _particlesPool               = new ObjectPool <ParticleController>();
     _roundSettings               = SceneContext.Instance.RoundSettings;
     _roundManager                = SceneContext.Instance.RoundManager;
     _roundManager.RoundStarted  += OnRoundStarted;
     _roundManager.RoundEnded    += OnRoundEndedOrGameOver;
     _roundManager.RoundGameOver += OnRoundEndedOrGameOver;
     _boundsManager               = SceneContext.Instance.BoundsManager;
     _updateManager               = SceneContext.Instance.UpdateManager;
     _updateManager.Add(this);
 }