protected override GameObject[,] CreatePixels(PixelDescription[,] pixelsDescription) { SimplePixel[,] pixels = new SimplePixel[(int)PixelsCount.X, (int)PixelsCount.Y]; for (int x = 0; x < PixelsCount.X; x++) { for (int y = 0; y < PixelsCount.Y; y++) { PixelDescription pixelDescribtion = pixelsDescription[x, y]; if (pixelDescribtion == null) { continue; } //if ((x % 2 == 0 && y % 2 == 0) || (x % 2 == 1 && y % 2 == 1)) pixelDescribtion = new PixelDescribtion(Color.Aqua); Vector2 pixelIndex = new Vector2(x, y); SimplePixel pixel = pixels[x, y] = new SimplePixel(Level, PixelMath.PixelToGamePosition(pixelIndex, PixelsCount), PixelOptions.PixelSize); // Change pixels color according to description. pixel.ColorChanger.ResetColor(pixelDescribtion.Color); } } return(pixels); }
protected sealed override GameObject[,] CreatePixels(PixelDescription[,] pixelsDescription) { var pixels = new GameObject[(int)PixelsCount.X, (int)PixelsCount.Y]; for (int x = 0; x < PixelsCount.X; x++) { for (int y = 0; y < PixelsCount.Y; y++) { var pixelDescribtion = pixelsDescription[x, y]; if (pixelDescribtion == null) { continue; } var pixelIndex = new Vector2(x, y); CollisionPixel pixel; pixels[x, y] = pixel = new CollisionPixel(Level, _world, PixelMath.PixelToGamePosition(pixelIndex, PixelsCount), PixelOptions.PixelSize); PixelCreated(pixel); // Change pixels color according to description. pixel.ColorChanger.ResetColor(pixelDescribtion.Color); ConnectNeighbours(pixels, pixel, x, y); SetNeighbourBorders(pixel, x, y); } } return(pixels); }
public static Vector2 GetMiddlePosition(Vector2 leftTopIndexPosition, Vector2 basicSize, Vector2 pixelsCountInMap) { var result = PixelMath.PixelToGamePosition(leftTopIndexPosition, pixelsCountInMap) + basicSize / 2f - PixelOptions.PixelSize; return(result); }