protected override void OnSceneGUI() { base.OnSceneGUI(); SplineTracer tracer = (SplineTracer)target; if (triggerFoldout) { for (int i = 0; i < tracer.triggers.Length; i++) { SplineEditorHandles.SplineSliderGizmo gizmo = SplineEditorHandles.SplineSliderGizmo.DualArrow; switch (tracer.triggers[i].type) { case Trigger.Type.Backward: gizmo = SplineEditorHandles.SplineSliderGizmo.BackwardTriangle; break; case Trigger.Type.Forward: gizmo = SplineEditorHandles.SplineSliderGizmo.ForwardTriangle; break; case Trigger.Type.Double: gizmo = SplineEditorHandles.SplineSliderGizmo.DualArrow; break; } double last = tracer.triggers[i].position; if (SplineEditorHandles.Slider(tracer, ref tracer.triggers[i].position, tracer.triggers[i].color, tracer.triggers[i].name, gizmo) || last != tracer.triggers[i].position) { trigger = i; Repaint(); } } } if (customOffsetEditor.isOpen) { if (customOffsetEditor.DrawScene(tracer)) { tracer.Rebuild(false); } } if (customRotationEditor.isOpen) { if (customRotationEditor.DrawScene(tracer)) { tracer.Rebuild(false); } } }
void DrawGroupScene(int index) { TriggerGroup group = spline.triggerGroups[index]; for (int i = 0; i < group.triggers.Length; i++) { SplineEditorHandles.SplineSliderGizmo gizmo = SplineEditorHandles.SplineSliderGizmo.DualArrow; switch (group.triggers[i].type) { case SplineTrigger.Type.Backward: gizmo = SplineEditorHandles.SplineSliderGizmo.BackwardTriangle; break; case SplineTrigger.Type.Forward: gizmo = SplineEditorHandles.SplineSliderGizmo.ForwardTriangle; break; case SplineTrigger.Type.Double: gizmo = SplineEditorHandles.SplineSliderGizmo.DualArrow; break; } double last = group.triggers[i].position; if (SplineEditorHandles.Slider(spline, ref group.triggers[i].position, group.triggers[i].color, group.triggers[i].name, gizmo) || last != group.triggers[i].position) { Select(index, i); Repaint(); } } }