Beispiel #1
0
        public BlockEntity GetBlockerEntity(LevelBlock block)
        {
            switch (block.blockerType)
            {
            case BlockerType.bubble:
                return(bubbleBlockerPool.GetObj().GetComponent <BlockEntity>());

            case BlockerType.radiation:
                return(radiationBlockerPool.GetObj().GetComponent <BlockEntity>());
            }

            return(null);
        }
Beispiel #2
0
        public BlockEntity GetBlockEntity(LevelBlock block)
        {
            if (block is LevelBlockType)
            {
                var type = (LevelBlockType)block;
                switch (type.type)
                {
                case BlockType.empty:
                {
                    return(empty.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.red:
                {
                    return(redBlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.orange:
                {
                    return(orangeBlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.yellow:
                {
                    return(yellowBlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.green:
                {
                    return(greenBlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.blue:
                {
                    return(blueBlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.purple:
                {
                    return(purpleBlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.random:
                {
                    int        random    = Random.Range(0, GameMgr.G.availableColors.Count);
                    ColorType  colorType = GameMgr.G.availableColors[random];
                    ObjectPool temp      = null;
                    switch (colorType)
                    {
                    case ColorType.red:
                        temp = redBlockPool;
                        break;

                    case ColorType.orange:
                        temp = orangeBlockPool;
                        break;

                    case ColorType.yellow:
                        temp = yellowBlockPool;
                        break;

                    case ColorType.green:
                        temp = greenBlockPool;
                        break;

                    case ColorType.blue:
                        temp = blueBlockPool;
                        break;

                    case ColorType.purple:
                        temp = purpleBlockPool;
                        break;
                    }
                    return(temp.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.bubble:
                {
                    return(bubbleBlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.can:
                {
                    return(canBlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.paper:
                {
                    return(paperBlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.box1:
                {
                    return(box1BlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.box2:
                {
                    return(box2BlockPool.GetObj().GetComponent <BlockEntity>());
                }

                case BlockType.radiation:
                {
                    return(radiationBlockPool.GetObj().GetComponent <BlockEntity>());
                }
                }
            }
            else if (block is LevelBoosterType)
            {
                var type = (LevelBoosterType)block;
                switch (type.type)
                {
                case BoosterType.arrow:
                    return(arrowBombPool.GetObj().GetComponent <BlockEntity>());

                case BoosterType.bomb:
                    return(bombPool.GetObj().GetComponent <BlockEntity>());

                case BoosterType.rainbow:
                    return(rainbowPool.GetObj().GetComponent <BlockEntity>());
                }
            }

            return(null);
        }