public void Initialize(GameSettings gameSettings,
                               InputController inputController,
                               LocalStorage.LocalStorage localStorage,
                               SoundController soundController,
                               ISequenceChecker sequenceChecker,
                               IPointsCalculator pointsCalculator)
        {
            _gameSettings    = gameSettings;
            _inputController = inputController;
            _localStorage    = localStorage;
            _soundController = soundController;
            _sequenceChecker = sequenceChecker;

            _pointsCalculator       = pointsCalculator;
            _gemSelectionController = new GemSelectionController(_inputController);
            _gridController         = gameObject.AddComponent <GridController>();
            _gridController.Initialize(_gameGrid, _gameSettings, sequenceChecker);

            _gemSelectionController.OnSelectionComplete.AddListener(
                (first, second) => StartCoroutine(ChangeGemsPosition(first, second)));
            _gemSelectionController.OnSelectionInvalid.AddListener(InvalidMove);
            _gridController.OnSequence.AddListener(CalculatePoints);

            ContextProvider.Context.OnPause.AddListener(Pause);
        }
Esempio n. 2
0
 public void Initialize(Transform container, GameSettings gameSettings, ISequenceChecker sequenceChecker)
 {
     _container       = container;
     _gameSettings    = gameSettings;
     _sequenceChecker = sequenceChecker;
 }