static void DrawGizmos(SplineSmooth path, GizmoType selectionType) { SplineEditor.DrawPathGizmo(path, (Selection.activeGameObject == path.gameObject) ? path.Appearances.PathColor : path.Appearances.InactivePathColor); DrawGuizmosUnselected(path); }
private static void CreateShapeSpline() { MovableSpline zone = CreateGenericShape <MovableSpline>("SHAPE: Spline"); SplineSmooth spline = SplineSmoothEditor.CreateSplineOnGameObject(zone.gameObject); UnityEditor.Editor splineEditorGeneric = UnityEditor.Editor.CreateEditor(zone, typeof(MovableSplineEditor)); MovableSplineEditor zoneEditor = (MovableSplineEditor)splineEditorGeneric; zoneEditor.ConstructSplineZone(spline); }
protected static void DrawGuizmosUnselected(SplineSmooth path) { if (path.gameObject == Selection.activeGameObject) { return; } Matrix4x4 localToWorld = path.transform.localToWorldMatrix; for (int i = 0; i < path.Waypoints.Length; ++i) { SplineSmooth.Waypoint wp = path.Waypoints[i]; Vector3 pos = localToWorld.MultiplyPoint(wp.Position); float size = HandleUtility.GetHandleSize(pos) * 0.05f; Color colorOld = Gizmos.color; Gizmos.color = Color.white; Gizmos.DrawSphere(pos, size); Gizmos.color = colorOld; } }