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); }
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); } }
public BlockGroupInfo(BlockShapeType group, BlockColorType color) { GroupType = group; ColorType = color; }