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(); }; }
private void Awake() { _WayPoint_target = target as WayPoint; _SelectNo = _WayPoint_target.PointNo; parent = _WayPoint_target.transform.parent; _target = parent.GetComponent <PatternMovement>(); }
// // 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)); } } }