Esempio n. 1
0
    public static BlockGroup CreateBlockGroup(BlockShapeType shape, BlockColorType color)
    {
        BlockGroup group      = null;
        var        posList    = GetBlockLocalPosList(shape);
        var        pivotIndex = GetDefaultPivotIndex(shape);

        if (CheckAbleCreateBlock(posList) == false)
        {
            GameContext.Instance.IsGameover = true;

            var grid = IngameController.Instance.Grid;
            foreach (var pos in posList.LocalToWorld())
            {
                var block = grid[pos.GetIntY(), pos.GetIntX()];

                if (block.IsActive)
                {
                    continue;
                }

                block.Color    = color.ToColor();
                block.IsActive = true;
            }
        }
        else
        {
            group = new BlockGroup(shape,
                                   posList.LocalToWorld(),
                                   pivotIndex,
                                   color.ToColor());
        }

        return(group);
    }
Esempio n. 2
0
    public static Color ToColor(this BlockColorType type)
    {
        switch (type)
        {
        case BlockColorType.Blue:
            return("#81C7FCFF".ToColorByHex());

        case BlockColorType.Sky:
            return("#9ED5FDFF".ToColorByHex());

        case BlockColorType.Yellow:
            return("#FAE7C6FF".ToColorByHex());

        case BlockColorType.Orange:
            return("#FEC19DFF".ToColorByHex());

        case BlockColorType.Red:
            return("#FC8885FF".ToColorByHex());

        default:
            return(Color.white);
        }
    }
Esempio n. 3
0
 public BlockGroupInfo(BlockShapeType group, BlockColorType color)
 {
     GroupType = group;
     ColorType = color;
 }