Beispiel #1
0
        void Awake()
        {
            m_path = GetComponent<BezierPath>();

            if (m_path == null)
                this.enabled = false;
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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());
        }
Beispiel #4
0
        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();
            }
        }
Beispiel #5
0
        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();
            }
        }
Beispiel #6
0
        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();
            }
        }