예제 #1
0
    public override void OnInspectorGUI()
    {
        LookAtUnityBezier _myLAUB = (LookAtUnityBezier)target;

        DrawDefaultInspector();

        if (GUILayout.Button("Make new curve"))
        {
            Debug.Log("Button pressed.  Congrats!!!");

            BezierExample newBE = _myLAUB.myModel.gameObject.AddComponent <BezierExample>();

            if (_myLAUB.curveList.Count > 0)
            {
                BezierExample lastBE = _myLAUB.curveList[_myLAUB.curveList.Count - 1];

                newBE.startPoint   = lastBE.endPoint;
                newBE.endPoint     = lastBE.endPoint;
                newBE.startTangent = lastBE.endPoint;
                newBE.endTangent   = lastBE.endPoint;
            }

            _myLAUB.curveList.Add(newBE);
        }
    }
예제 #2
0
    public override void OnInspectorGUI()
    {
        LookAtUnityBezier _myLAUB = (LookAtUnityBezier)target;

        DrawDefaultInspector();

        if (GUILayout.Button("Make new curve"))
        {
            BezierExample newBE = _myLAUB.myModel.gameObject.AddComponent <BezierExample>();

            if (_myLAUB.curveList.Count > 0)
            {
                BezierExample lastBE = _myLAUB.curveList[_myLAUB.curveList.Count - 1];

                newBE.startPoint   = lastBE.endPoint;
                newBE.endPoint     = lastBE.endPoint;
                newBE.startTangent = lastBE.endPoint;
                newBE.endTangent   = lastBE.endPoint;
            }

            _myLAUB.curveList.Add(newBE);
        }

        if (GUILayout.Button("Close Loop"))
        {
            if (_myLAUB.curveList.Count > 1)
            {
                for (int i = 0; i < _myLAUB.curveList.Count; i++)
                {
                    BezierExample curve  = _myLAUB.curveList[i];
                    int           before = i - 1;
                    if (before < 0)
                    {
                        before = _myLAUB.curveList.Count - 1;
                    }
                    int after = i + 1;
                    if (after >= _myLAUB.curveList.Count)
                    {
                        after = 0;
                    }

                    curve.startPoint = _myLAUB.curveList[before].endPoint;
                    curve.endPoint   = (_myLAUB.curveList[after].startPoint + _myLAUB.curveList[i].endPoint) / 2;
                }
            }
        }
    }
예제 #3
0
    public override void OnInspectorGUI()
    {
        LookAtUnityBezier myLAUB = (LookAtUnityBezier)target; //casting class into object

        DrawDefaultInspector();
        if (GUILayout.Button("Make new curve"))
        {
            BezierExample newBE = myLAUB.myModel.gameObject.AddComponent <BezierExample>();
            if (myLAUB.curveList.Count > 0)
            {
                BezierExample lastBE = myLAUB.curveList[myLAUB.curveList.Count - 1];
                newBE.startPoint   = lastBE.endPoint;
                newBE.endPoint     = lastBE.endPoint;
                newBE.startTangent = lastBE.endPoint;
                newBE.endTangent   = lastBE.endPoint;
            }

            myLAUB.curveList.Add(newBE);
        }
    }