public PixelField(PipeGrid pipeGrid, PictureBox pictureBox) { Color[,] colorArray = pipeGrid.GetColorArray(); Width = colorArray.GetLength(0); Height = colorArray.GetLength(1); Pixels = new Pixel[Width, Height]; Buffer = new Bitmap(Width, Height); BaseBrush = new SolidBrush(BaseColor); PipeBrush = new SolidBrush(PipeColor); WaterBrush = new SolidBrush(WaterColor); GridPictureBox = pictureBox; GridGraphics = Graphics.FromImage(Buffer); for (int x = 0; x < Width; x++) { for (int y = 0; y < Height; y++) { if (colorArray[x, y].ToArgb().Equals(pipeGrid.PipeColor.ToArgb())) { Pixels[x, y] = new WallPixel(); } } } StartPointInPixels = pipeGrid.StartPointInPixels; DeepestLevelInPixels = pipeGrid.DeepestLevelInPixels; Pixels[StartPointInPixels.X, StartPointInPixels.Y] = new WaterPixel(); }
public PipeGrid GetNearestGrid(Vector3 v) { var dist = float.MaxValue; PipeGrid nearest = null; foreach (var g in grids) { var d = Vector3.Distance(v, g.transform.position); if (d < dist) { dist = d; nearest = g; } } return(nearest); }
private GameObject buildPipeGrid() { var obj = new GameObject(); obj.AddComponent <PipeGrid>(); PipeGrid grid = obj.GetComponent <PipeGrid>(); grid.cellPrefab = new GameObject(); grid.cellPrefab.AddComponent <CellInitializer>(); grid.width = 5; grid.height = 5; var texture = new Texture2D(4, 4, TextureFormat.DXT1, false); return(obj); }
public PipePlayForm() { InitializeComponent(); PipeGrid = new PipeGridNamespace.PipeGrid(50, 30, pictureBoxPipeGrid); PipeGrid.DrawGrid(); }
private void Awake() { instance = this; }