Ejemplo n.º 1
0
        private void Start()
        {
            _gameState.ResetData();
            _grid = new TetrisGrid(_gridHeight, _gridWidth);
            _grid.GridOverflowed += GridOnGridOverflowed;

            _soundManager = GetComponent <SoundManager>();
            _spawner      = GetComponent <RandomPrefabsSpawner>();
            _inputManager = new InputManagersWrapper(new List <IInputManager>()
            {
                GetComponent <InputManager>(),
                GetComponent <TouchInputManager>()
            });

            _scoreCalculator            = new ScoreCalculator(_gameState, _scoreData);
            _levelManager               = new LevelManager(_gameState, 10, _maxLevel);
            _preview                    = new GameObject("Preview", new Type[] { typeof(SpriteRenderer) });
            _preview.transform.position = _previewPosition;

            _currentTetromino = CreateTetromino();
            InitializeCurrentTetromino();

            _nextTetromino = CreateTetromino();
            SetUpPreview();
        }
Ejemplo n.º 2
0
 // TODO: can be injected using zenject
 public void Initialize(ITetrisGrid grid, IInputManager inputManager, float speed)
 {
     _gameGrid     = grid;
     _inputManager = inputManager;
     _gravityTimer = speed;
     SubscriveToInput();
     gameObject.SetActive(true);
 }