1using System.Collections;
2using System.Collections.Generic;
13 private readonly List<IGizmoEntry> _lines =
new List<IGizmoEntry>();
16 public ICollection<IGizmoEntry>
Lines
26 coroutineTarget.StartCoroutine(EndOfFrame());
47 if (!UnityFeatureHelper.SupportsVectrosity)
return;
49 GUILayout.BeginHorizontal(GUI.skin.box);
51 GUILayout.Label(
"Gizmos");
52 GUILayout.FlexibleSpace();
56 GUILayout.EndHorizontal();
63 if (rootTransform !=
null &&
Show)
64 UpdateStateInt(rootTransform);
67 private void ClearGizmos()
69 if (_lines.Count == 0)
return;
70 _lines.ForEach(x => x.Destroy());
74 private IEnumerator EndOfFrame()
78 yield
return new WaitForEndOfFrame();
81 foreach (var x
in _lines)
91 private void UpdateStateInt(Transform rootTransform)
93 var renderer = rootTransform.GetComponent<Renderer>();
97 foreach (Transform tr
in rootTransform)
102 var children = renderer.GetComponentsInChildren<Renderer>();
105 var s = renderer as SkinnedMeshRenderer;
107 s.updateWhenOffscreen =
true;
108 foreach (var child
in children.OfType<SkinnedMeshRenderer>())
109 child.updateWhenOffscreen =
true;
111 var bounds2D =
new RendererGizmo(renderer, children);
112 _lines.Add(bounds2D);
static bool ShowGizmosOutsideEditor
const string GizmoObjectName
static void DisplayControls()
ICollection< IGizmoEntry > Lines
GizmoDrawer(MonoBehaviour coroutineTarget)
void UpdateState(Transform rootTransform)