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))) }; } } } }
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 virtual String GetNominoKey(Nomino Group, IGameCustomizationHandler GameHandler, TetrisField Field) { return(GetNominoTypeKey(Group.GetType(), GameHandler, Field)); }