コード例 #1
0
ファイル: ShapeElement.cs プロジェクト: krvkrava/gen-test
        private void Initialize(InputReceiver inputReceiver, GameGrid gameGrid,
                                IBlockItemsPoolModule blockItemsPoolModule, Option <BlockItem[]> blockItems)
        {
            GameGrid              = gameGrid;
            BlockItems            = blockItems;
            _blockItemsPoolModule = blockItemsPoolModule;

            SubscribeToObservables(inputReceiver);
        }
コード例 #2
0
        private void InitModuleReferences()
        {
            _blockItemsPoolModule = ModulesRegister.Get <IBlockItemsPoolModule>()
                                    .ThrowIfError(() => $"Cannot initialize module references at {nameof(GameLevelInitializer)}")
                                    .Value;

            _gameStateModule = ModulesRegister.Get <IGameStateModule>()
                               .ThrowIfError(() => $"Cannot initialize module references at {nameof(GameLevelInitializer)}")
                               .Value;
        }
コード例 #3
0
ファイル: ShapeElement.cs プロジェクト: krvkrava/gen-test
        public static ShapeElement Create(InputReceiver inputReceiver, GameGrid gameGrid,
                                          IBlockItemsPoolModule blockItemsPoolModule, Option <BlockItem[]> blockItems)
        {
            var shapeGameObject = new GameObject("Shape");
            var blockGroups     = shapeGameObject.AddComponent <ShapeElement>();

            blockGroups.Initialize(inputReceiver, gameGrid, blockItemsPoolModule, blockItems);

            return(blockGroups);
        }
コード例 #4
0
        public GameGrid(Vector2Int playAreaBounds, Option <BlockItem[]> blockItems,
                        IBlockItemsPoolModule blockItemsPoolPoolPool)
        {
            GridArea            = new BlockItem[playAreaBounds.x, playAreaBounds.y];
            _blockItemsPoolPool = blockItemsPoolPoolPool;

            if (blockItems.isSome)
            {
                InitBlocks(blockItems.value);
            }
        }
コード例 #5
0
        public static BlockItem[] Create(ShapeType type, IBlockItemsPoolModule blockItemsPoolModule)
        {
            if (type == ShapeType.Combined)
            {
                type = Random.Range(0, 2) == 0 ? ShapeType.TType : ShapeType.Corner;
            }

            var itemsQuantity = type == ShapeType.Corner ? 5 : 4;
            var blocks        = blockItemsPoolModule.GetBlockItems(itemsQuantity, true);

            if (type == ShapeType.TType)
            {
                SetItemsTTypeItemsPosition(blocks);
            }
            else
            {
                SetItemsCornerItemsPosition(blocks);
            }

            return(blocks);
        }