/// <summary> /// Draw from the first point to all of the rest /// </summary> private void DrawStar(List <Vector2> points) { Vector2 pointPos = points[0]; for (int i = 1; i < points.Count; i++) { Vector2 nextPointPos = points[i]; HandleAAUtil.DrawAALine(pointPos, nextPointPos, LDtkPrefs.FieldPointsThickness); } }
/// <summary> /// Draw a daisy-chain of points /// </summary> private void DrawPath(List <Vector2> points) { Vector3[] pathPoints = new Vector3[points.Count]; for (int i = 0; i < points.Count; i++) { pathPoints[i] = points[i]; } HandleAAUtil.DrawAAPath(pathPoints, LDtkPrefs.FieldPointsThickness); }
/// <summary> /// Draw points in isolation /// </summary> private void DrawPoints(List <Vector2> points) { const float boxUnitSize = 0.2f; float extraThickness = (LDtkPrefs.FieldPointsThickness - 1) * (boxUnitSize / 2); Vector3 size = Vector2.one * (boxUnitSize + extraThickness); foreach (Vector2 point in points) { HandleAAUtil.DrawAABox(point, size, fillAlpha: 0, thickness: LDtkPrefs.FieldPointsThickness); } }
public void OnDrawHandles() { if (!LDtkPrefs.ShowLevelBorder) { return; } Handles.color = _bgColor; Vector3 halfSize = _size / 2; Vector3 pos = _position + halfSize; HandleAAUtil.DrawAABox(pos, _size, LDtkPrefs.LevelBorderThickness, 0); }
private void DrawShape(Vector2 pos, Vector2 size, float fillAlpha, float lineAlpha) { switch (_data.EntityMode) { case RenderMode.Cross: HandleAAUtil.DrawAACross(pos, size, LDtkPrefs.EntityShapeThickness); break; case RenderMode.Ellipse: HandleAAUtil.DrawAAEllipse(pos, size, LDtkPrefs.EntityShapeThickness, fillAlpha, lineAlpha); break; case RenderMode.Rectangle: HandleAAUtil.DrawAABox(pos, size, LDtkPrefs.EntityShapeThickness, fillAlpha, lineAlpha); break; } }
private void DrawRadius(float gridSize) { if (gridSize == 0) { Debug.LogError("Did not draw, avoided dividing by zero"); return; } float radius = GetRadius() / gridSize; float diameter = radius * 2; if (_fields.GetSmartColor(out Color color)) { UnityEditor.Handles.color = color; } HandleAAUtil.DrawAAEllipse(_fields.transform.position, Vector2.one * diameter, LDtkPrefs.FieldRadiusThickness, 0); }
/// <summary> /// Draw a daisy-chain of points that loops back to the start /// </summary> private void DrawPathLoop(List <Vector2> points) { DrawPath(points); HandleAAUtil.DrawAALine(points.First(), points.Last(), LDtkPrefs.FieldPointsThickness); }