Пример #1
0
        /// <summary>
        /// Move Next Blocks to activeBlocks
        /// </summary>
        public void SetNext()
        {
            PlaceableData block1;

            if (blockCount > 0 && blockCount % data.diamondCounter == 0)
            {
                block1 = data.diamond;
            }
            else
            {
                block1 = RollForBlockWeighted();
            }
            blockCount++;

            PlaceableData block2;

            if (blockCount > 0 && blockCount % data.diamondCounter == 0)
            {
                block2 = data.diamond;
            }
            else
            {
                block2 = RollForBlockWeighted();
            }
            blockCount++;

            this.nextBlock1 = block1;
            this.nextBlock2 = block2;

            OnSetNext?.Invoke(block1, block2);
        }
Пример #2
0
        /// <summary>
        /// Spawn next blocks, (Spawn blocks and put them into nextBlock Set)
        /// </summary>
        public void SpawnNext()
        {
            Block block = Spawn(nextBlock1);

            SetupBlock(block, BlockSpawnPosition.center);
            activeBlocks.Add(block);

            Block block2 = Spawn(nextBlock2);

            SetupBlock(block2, BlockSpawnPosition.top);
            activeBlocks.Add(block2);

            nextBlock1 = null;
            nextBlock2 = null;
        }
Пример #3
0
        /// <summary>
        /// Get block from pool
        /// </summary>
        /// <param name="index"></param>
        /// <returns></returns>
        public Block GetPool(PlaceableData pData)
        {
            List <Block> pool = pools[pData];

            for (int i = 0; i < pool.Count; i++)
            {
                if (pool[i].isActiveAndEnabled == false)
                {
                    return(pool[i]);
                }
            }

            Block block = Instantiate(pData.prefab);

            pool.Add(block);

            return(block);
        }
Пример #4
0
        public Block Spawn(PlaceableData pData)
        {
            Block block = GetPool(pData);

            return(block);
        }
Пример #5
0
 public void SetBlocks(PlaceableData block1, PlaceableData block2)
 {
     this.centerBlock.sprite = block1.original;
     this.topBlock.sprite    = block2.original;
 }