Ejemplo n.º 1
0
    void OnEnable()
    {
        Tools.hidden = true;
        if (_target == null)
        {
            _target = target as PatternMovement;
        }

        if (_target.BaseObject != null && !EditorApplication.isPlaying)
        {
            _target.gameObject.transform.position = _target.BaseObject.transform.position;
        }

        Offset = _target.gameObject.transform.position;

        prop = serializedObject.FindProperty("PointList");
        if (reorderableList == null)
        {
            reorderableList = new ReorderableList(serializedObject, prop);
        }


        reorderableList.drawElementCallback = (rect, index, isActive, isFocused) => {
            _target.PointList[index] =
                EditorGUI.Vector3Field(rect, GUIContent.none, prop.GetArrayElementAtIndex(index).vector3Value);
        };

        // リストをInspecter上で変えた場合
        reorderableList.onChangedCallback = (list) =>
        {
            SceneView.RepaintAll();
            serializedObject.ApplyModifiedProperties();
        };
    }
Ejemplo n.º 2
0
 private void Awake()
 {
     _WayPoint_target = target as WayPoint;
     _SelectNo        = _WayPoint_target.PointNo;
     parent           = _WayPoint_target.transform.parent;
     _target          = parent.GetComponent <PatternMovement>();
 }
Ejemplo n.º 3
0
 //
 // Start is called before the first frame update
 void Start()
 {
     if (MovePoints != null)
     {
         pm = MovePoints.GetComponent <PatternMovement>();
         NowUsingStateChangeData.initializePatternTracking(gameObject);
         StartPosition = transform.position;
         if (pm.PointNum > 0)
         {
             Vector3 nextPoint = pm.PointList[0] + StartPosition - transform.position;
             NowUsingControlData.setRotateControlData(Vector3.SignedAngle(nextPoint, transform.forward, Vector3.up));
         }
     }
 }