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)) }); } }
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); }
public abstract void ApplyTheme(Nomino Group, IGameCustomizationHandler GameHandler, TetrisField Field, ThemeApplicationReason Reason);
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; } } } }