public static Dictionary <String, List <Image> > GetTetrominoBitmaps(RectangleF Bounds, NominoTheme UseTheme, IGameCustomizationHandler Handler, TetrisField PlayField = null, float ScaleFactor = 1) { Dictionary <String, List <Image> > TetrominoImages = new Dictionary <String, List <Image> >(); float useSize = 18 * ScaleFactor; SizeF useTetSize = new SizeF(useSize, useSize); Nomino[] AllNominos = Handler.GetNominos(); Image[] bitmaps = new Image[AllNominos.Length]; foreach (var nom in AllNominos) { UseTheme.ApplyTheme(nom, Handler, PlayField, NominoTheme.ThemeApplicationReason.Normal); } for (int i = 0; i < AllNominos.Length; i++) { bitmaps[i] = OutLineImage(AllNominos[i].GetImage(useTetSize)); String NominoKey = UseTheme.GetNominoKey(AllNominos[i], Handler, PlayField); if (!TetrominoImages.ContainsKey(NominoKey)) { TetrominoImages.Add(NominoKey, new List <Image>()); } TetrominoImages[NominoKey].Add(bitmaps[i]); } return(TetrominoImages); }
public static Dictionary <String, List <SKBitmap> > GetTetrominoBitmapsSK(SKRect Bounds, NominoTheme UseTheme, IGameCustomizationHandler handler, TetrisField PlayField = null, float ScaleFactor = 1) { Dictionary <String, List <SKBitmap> > TetrominoImages = new Dictionary <String, List <SKBitmap> >(); float useSize = 18 * ScaleFactor; SKSize useTetSize = new SKSize(useSize, useSize); Nomino[] AllNominos = handler.GetNominos(); SKBitmap[] bitmaps = new SKBitmap[AllNominos.Length]; foreach (var iterate in AllNominos) { UseTheme.ApplyTheme(iterate, handler, PlayField, NominoTheme.ThemeApplicationReason.Normal); } for (int i = 0; i < AllNominos.Length; i++) { bitmaps[i] = TetrisGame.OutlineImageSK(AllNominos[i].GetImageSK(useTetSize)); String GetNominoKey = UseTheme.GetNominoKey(AllNominos[i], handler, PlayField); if (!TetrominoImages.ContainsKey(GetNominoKey)) { TetrominoImages.Add(GetNominoKey, new List <SKBitmap>()); } TetrominoImages[GetNominoKey].Add(bitmaps[i]); } return(TetrominoImages); }