void DrawGrid() { Coord2D coord = (Coord2D)target; Color color = Color.blue; color.a = 0.8f; Handles.color = color; float gridMaxSize = coord.gridArea * 2 - 1; for (int i = 0; i <= gridMaxSize; i++) { Vector3 horizontalStart = coord.CoordToWorldPoint( new Vector2(i - gridMaxSize / 2, -gridMaxSize / 2), coord.gridSize, coord.gridAngel, -9 ); Vector3 horizontalEnd = coord.CoordToWorldPoint( new Vector2(i - gridMaxSize / 2, gridMaxSize / 2), coord.gridSize, coord.gridAngel, -9 ); Handles.DrawLine(horizontalStart, horizontalEnd); Vector3 VerticalStart = coord.CoordToWorldPoint( new Vector2(-gridMaxSize / 2, i - gridMaxSize / 2), coord.gridSize, coord.gridAngel, -9 ); Vector3 VerticalEnd = coord.CoordToWorldPoint( new Vector2(gridMaxSize / 2, i - gridMaxSize / 2), coord.gridSize, coord.gridAngel, -9 ); Handles.DrawLine(VerticalStart, VerticalEnd); } }
void DrawTerrain(Vector2 v2, Color color) { Handles.color = Color.white; Coord2D coord = (Coord2D)target; Color face = new Color(color.r, color.g, color.b, color.a * 0.5f); float x = v2.x; float y = v2.y; Vector3[] verts = new Vector3[] { coord.CoordToWorldPoint(new Vector2(x - 0.5f, y - 0.5f), coord.gridSize, coord.gridAngel, -9), coord.CoordToWorldPoint(new Vector2(x + 0.5f, y - 0.5f), coord.gridSize, coord.gridAngel, -9), coord.CoordToWorldPoint(new Vector2(x + 0.5f, y + 0.5f), coord.gridSize, coord.gridAngel, -9), coord.CoordToWorldPoint(new Vector2(x - 0.5f, y + 0.5f), coord.gridSize, coord.gridAngel, -9) }; Handles.DrawSolidRectangleWithOutline(verts, face, color); }