public static Image GetBevelImage(StandardColouredBlock.BlockStyle DisplayStyle, Color DisplayColor) { String baseimage = "block_lightbevel_red"; if (DisplayStyle == StandardColouredBlock.BlockStyle.Style_CloudBevel) { baseimage = "block_lightbevel_red"; } else if (DisplayStyle == StandardColouredBlock.BlockStyle.Style_Shine) { baseimage = "block_shine_red"; } else if (DisplayStyle == StandardColouredBlock.BlockStyle.Style_HardBevel) { baseimage = "block_std_red"; } else if (DisplayStyle == StandardColouredBlock.BlockStyle.Style_Chisel) { baseimage = "block_chisel_red"; } else if (DisplayStyle == StandardColouredBlock.BlockStyle.Style_Pixeled) { baseimage = "block_pixeled_red"; } Size TargetSize = new Size(100, 100); if (StandardColourBlocks == null) { StandardColourBlocks = new Dictionary <StandardColouredBlock.BlockStyle, Dictionary <Color, Image> >(); } if (!StandardColourBlocks.ContainsKey(DisplayStyle)) { StandardColourBlocks.Add(DisplayStyle, new Dictionary <Color, Image>()); } if (StandardColourBlocks[DisplayStyle].Count == 0) { foreach (Color c in new Color[] { Color.Cyan, Color.Yellow, Color.Purple, Color.Green, Color.Blue, Color.Red, Color.Orange }) { StandardColourBlocks[DisplayStyle].Add(c, ResizeImage(GDIPlusHelpers.RecolorImage(TetrisGame.Imageman[baseimage], c), TargetSize)); } } if (!StandardColourBlocks[DisplayStyle].ContainsKey(DisplayColor)) { StandardColourBlocks[DisplayStyle].Add(DisplayColor, ResizeImage(GDIPlusHelpers.RecolorImage(TetrisGame.Imageman[baseimage], DisplayColor), TargetSize)); } return(StandardColourBlocks[DisplayStyle][DisplayColor]); }
private Dictionary <Type, StandardColouredBlock.BlockStyle> GetBlockStyleLookup(Type[] Types) { Dictionary <Type, StandardColouredBlock.BlockStyle> Result = new Dictionary <Type, StandardColouredBlock.BlockStyle>(); foreach (var iterate in Types) { StandardColouredBlock.BlockStyle selectstyle = TetrisGame.Choose(usabletypes); Result.Add(iterate, selectstyle); } return(Result); }
private void ApplyColorSet(Nomino bg, int Level) { if (bg == null) { return; } if (UseStyles == null) { UseStyles = GetBlockStyleLookup(new Type[] { typeof(Tetromino_I), typeof(Tetromino_J), typeof(Tetromino_L), typeof(Tetromino_O), typeof(Tetromino_S), typeof(Tetromino_T), typeof(Tetromino_Z), typeof(Tetromino_Y) }); } StandardColouredBlock.BlockStyle applystyle = _Style; if (UseStyles.ContainsKey(bg.GetType())) { applystyle = UseStyles[bg.GetType()]; } foreach (var iterate in bg) { if (iterate.Block is StandardColouredBlock) { StandardColouredBlock bl = iterate.Block as StandardColouredBlock; bl.DisplayStyle = applystyle; //TetrisGame.Choose(new StandardColouredBlock.BlockStyle[] { StandardColouredBlock.BlockStyle.Style_HardBevel, StandardColouredBlock.BlockStyle.Style_CloudBevel, StandardColouredBlock.BlockStyle.Style_Shine }); Color useColor = GetStandardColor(bg, Level); bl.BlockColor = bl.InnerColor = useColor; /*QColorMatrix qc = new QColorMatrix(); * qc.RotateHue(Level * 50); * * useColor = HSLColor.RotateHue(useColor, Level * 50); * bl.BlockColor = bl.InnerColor = useColor; */ } } }
public StandardTetrominoTheme(StandardColouredBlock.BlockStyle pBlockStyle) { _Style = pBlockStyle; }