Esempio n. 1
0
        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]);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
                     */
                }
            }
        }
Esempio n. 4
0
 public StandardTetrominoTheme(StandardColouredBlock.BlockStyle pBlockStyle)
 {
     _Style = pBlockStyle;
 }