Exemplo n.º 1
0
        public override void ApplyTheme(Nomino Group, IGameCustomizationHandler GameHandler, TetrisField Field, ThemeApplicationReason Reason)
        {
            char DesiredNomino = 'I';
            Dictionary <Type, char> NominoLookup = new Dictionary <Type, char>()
            {
                { typeof(Tetromino_T), 'T' },
                { typeof(Tetromino_S), 'S' },
                { typeof(Tetromino_Z), 'Z' },
                { typeof(Tetromino_L), 'L' },
                { typeof(Tetromino_J), 'J' },
                { typeof(Tetromino_O), 'O' },
                { typeof(Tetromino_I), 'I' },
                { typeof(Tetromino_Y), 'Y' }
            };

            if (NominoLookup.ContainsKey(Group.GetType()))
            {
                DesiredNomino = NominoLookup[Group.GetType()];
            }
            else
            {
                DesiredNomino = TetrisGame.Choose(TetOrder);
            }
            foreach (var iterate in Group)
            {
                if (iterate.Block is StandardColouredBlock)
                {
                    StandardColouredBlock sbc = iterate.Block as StandardColouredBlock;
                    sbc.DisplayStyle = StandardColouredBlock.BlockStyle.Style_Custom;
                    sbc.BlockColor   = Color.Black;
                    if (Field.GetActiveBlockGroups().Contains(Group))
                    {
                        sbc._RotationImagesSK = new SKImage[] { SKImage.FromBitmap(GetUnsetImage(ColourData[Field.Level > 12 ? 12 : Field.Level].GetColor(DesiredNomino))) }
                    }
                    ;
                    else
                    {
                        sbc._RotationImagesSK = new SKImage[] { SKImage.FromBitmap(GetSetImage(ColourData[Field.Level > 12 ? 12 : Field.Level].GetColor(DesiredNomino))) };
                    }
                }
            }
        }
        public override void ApplyTheme(Nomino Group, IGameCustomizationHandler handler, TetrisField Field, ThemeApplicationReason Reason)
        {
            var LineCount = (handler.Statistics is TetrisStatistics ts) ? ts.LineCount : 0;
            int CurrLevel = Field == null ? 0 : (int)(LineCount / 10);

            if (Group is Tetromino_I)
            {
                ApplyTheme_I(Group, CurrLevel);
            }
            else if (Group is Tetromino_J)
            {
                ApplyTheme_J(Group, CurrLevel);
            }
            else if (Group is Tetromino_L)
            {
                ApplyTheme_L(Group, CurrLevel);
            }
            else if (Group is Tetromino_O)
            {
                ApplyTheme_O(Group, CurrLevel);
            }
            else if (Group is Tetromino_S)
            {
                ApplyTheme_S(Group, CurrLevel);
            }
            else if (Group is Tetromino_Z)
            {
                ApplyTheme_Z(Group, CurrLevel);
            }
            else if (Group is Tetromino_T)
            {
                ApplyTheme_T(Group, CurrLevel);
            }
            else
            {
                ApplyImages(Group, new Image[] { GetOutlinedImage(BlockOutlines.Outline_Bottom | BlockOutlines.Outline_Top | BlockOutlines.Outline_Right | BlockOutlines.Outline_Left, GetLevelColor(CurrLevel)) });
            }
        }
Exemplo n.º 3
0
        public override void ApplyTheme(Nomino Group, IGameCustomizationHandler GameHandler, TetrisField Field, ThemeApplicationReason Reason)
        {
            var LineCount = (GameHandler.Statistics is TetrisStatistics ts) ? ts.LineCount : 0;
            int CurrLevel = Field == null ? 0 : (int)(LineCount / 10);

            ApplyColorSet(Group, CurrLevel);
        }
Exemplo n.º 4
0
 public abstract void ApplyTheme(Nomino Group, IGameCustomizationHandler GameHandler, TetrisField Field, ThemeApplicationReason Reason);
Exemplo n.º 5
0
        public override void ApplyTheme(Nomino Group, IGameCustomizationHandler GameHandler, TetrisField Field, ThemeApplicationReason Reason)
        {
            PrepareTheme();
            var LineCount = (GameHandler.Statistics is TetrisStatistics ts) ? ts.LineCount : 0;
            int CurrLevel = Field == null ? 0 : (int)(LineCount / 10);

            if (Group is Tetromino_L)
            {
                Apply_L(Group as Tetromino_L, Field, CurrLevel);
            }
            else if (Group is Tetromino_J)
            {
                Apply_J(Group as Tetromino_J, Field, CurrLevel);
            }
            else if (Group is Tetromino_I)
            {
                Apply_I(Group as Tetromino_I, Field, CurrLevel);
            }
            else if (Group is Tetromino_O)
            {
                Apply_O(Group as Tetromino_O, Field, CurrLevel);
            }
            else if (Group is Tetromino_S)
            {
                Apply_S(Group as Tetromino_S, Field, CurrLevel);
            }
            else if (Group is Tetromino_Z)
            {
                Apply_Z(Group as Tetromino_Z, Field, CurrLevel);
            }
            else if (Group is Tetromino_T)
            {
                Apply_T(Group as Tetromino_T, Field, CurrLevel);
            }
            else
            {
                foreach (var blockcheck in Group)
                {
                    if (blockcheck.Block is StandardColouredBlock)
                    {
                        StandardColouredBlock scb = blockcheck.Block as StandardColouredBlock;
                        scb.DisplayStyle = StandardColouredBlock.BlockStyle.Style_Custom;
                        TetrisGame.Choose(new Image[] { GetSolidSquare(CurrLevel), GetDottedLight(CurrLevel), GetDottedDark(CurrLevel), GetFatDotted(CurrLevel), GetInsetBevel(CurrLevel) });
                        scb._RotationImagesSK = new SKImage[] { SkiaSharp.Views.Desktop.Extensions.ToSKImage(new Bitmap(GetInsetBevel(CurrLevel))) };
                        //scb.BaseImageKey = Solid_Square;
                    }
                }
            }
        }