public BlockStateController(BlockGameGenerator blockGameGenerator, BlockGamePoleController blockGamePole, DestroyBlock destroyBlock) { _blockGameGenerator = blockGameGenerator; _blockGamePole = blockGamePole; _destroyBlock = destroyBlock; _blockGameGenerator.GenerateStartBorder(); CurrentState = StateUpdate; _blockGamePole.EndMove += OnEndMove; _blockGamePole.MoveClick += OnMoveClick; _blockGamePole.EndNotMove += OnEndNotMove; }
public BlockGameController(BlockPoolView blockPool, IDictionary <Side, Sprite> sideSprites, BlockSpritesViewDescription spritesViewDescription, BlockView previewBlock) { _blockPool = blockPool; _sideSprites = sideSprites; _spritesViewDescription = spritesViewDescription; _previewBlock = previewBlock; _blocksGenerator = new BlocksGenerator(_blockPool, _spritesViewDescription); _blocksGenerator.ChangeBlockPrewiew += _blocksGenerator_ChangeBlockPrewiew; _blocks = new BlockController[_weightGamePole, _heightGamePole]; _blockGameGenerator = new BlockGameGenerator(_blocks, _borderGamePole, _weightGamePole, _heightGamePole, _blocksGenerator, _spritesViewDescription, _sideSprites); _blockGamePoleController = new BlockGamePoleController(_blocks, _weightGamePole, _heightGamePole, _borderGamePole, _blockGameGenerator); _destroyBlock = new DestroyBlock(_blocksGenerator, _blocks, _blockGameGenerator, _blockPool); _blockStateController = new BlockStateController(_blockGameGenerator, _blockGamePoleController, _destroyBlock); }