void Awake() { m_path = GetComponent<BezierPath>(); if (m_path == null) this.enabled = false; }
void displayScale(BezierPath p) { p.DoScale = EditorGUILayout.Toggle("Enable Scale", p.DoScale); for (int i = 0; i < p.NumPoints; i++) { p.GetPoint(i).Scale = EditorGUILayout.FloatField("Point " + i.ToString() + " scale:", p.GetPoint(i).Scale); } }
void displayEvents(BezierPath p) { for (int i = 0; i < p.Events.Count; i++) { EditorGUILayout.BeginHorizontal(); p.Events[i].EventName = EditorGUILayout.TextField("Event", p.Events[i].EventName); p.Events[i].Timestamp = EditorGUILayout.FloatField("Time", p.Events[i].Timestamp); if (GUILayout.Button("Delete", EditorStyles.miniButton)) { p.Events.RemoveAt(i); } EditorGUILayout.EndHorizontal(); } if (GUILayout.Button("Add Event")) p.Events.Add(new BezierEvent()); }
void displayPoints(BezierPath p) { for (int i = 0; i < p.NumPoints; i++) { EditorGUILayout.BeginHorizontal(); p.SetPointPosition(i, EditorGUILayout.Vector3Field("Point " + i.ToString(), p.GetPointPosition(i))); if (GUILayout.Button("Insert After", EditorStyles.miniButton)) { p.InsertPointAfter(i); SceneView.RepaintAll(); } else if (GUILayout.Button("Delete", EditorStyles.miniButton)) { p.DeletePoint(i); SceneView.RepaintAll(); } EditorGUILayout.EndHorizontal(); } }
void displayTime(BezierPath p) { for (int i = 0; i < p.NumPoints; i++) { EditorGUILayout.BeginHorizontal(); float prev = p.GetPoint(i).TimeStamp; p.GetPoint(i).TimeStamp = EditorGUILayout.FloatField("Point " + i.ToString(), p.GetPoint(i).TimeStamp); if(prev!=p.GetPoint(i).TimeStamp) SceneView.RepaintAll(); p.GetPoint(i).Curve=EditorGUILayout.CurveField(p.GetPoint(i).Curve); EditorGUILayout.EndHorizontal(); } if (GUILayout.Button("Calculate By Length")) { p.CalculateTimesByLength(); SceneView.RepaintAll(); } }
void displayControls(BezierPath p) { for (int i = 0; i < p.NumPoints; i++) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Point " + i.ToString()); if (GUILayout.Button("Zero Controlpoint", EditorStyles.miniButton)) { p.SetLeftControlPosition(i, p.GetPointPosition(i)); SceneView.RepaintAll(); } EditorGUILayout.EndHorizontal(); } }