public override void OnInspectorGUI() { serializedObject.Update(); if (GUILayout.Button("Set Target To This")) { TransformPlaceholder transformPlaceholder = target as TransformPlaceholder; transformPlaceholder.SetTargetToThis(); } EditorGUILayout.PropertyField(_targetTransformProperty); serializedObject.ApplyModifiedProperties(); }
public static void CreatePlaceHolderObject(MenuCommand command) { GameObject gameObject = Selection.activeGameObject; if (null == gameObject) { Debug.LogWarning("No GameObject Selected."); return; } GameObject placeholderGameObject = new GameObject(gameObject.name + "Placeholder"); placeholderGameObject.transform.SetParent(gameObject.transform.parent); placeholderGameObject.transform.SetSiblingIndex(gameObject.transform.GetSiblingIndex()); TransformPlaceholder transformPlaceholder = placeholderGameObject.AddComponent <TransformPlaceholder>(); transformPlaceholder.transform.position = gameObject.transform.position; transformPlaceholder.transform.rotation = gameObject.transform.rotation; SerializedObject serializedObject = new SerializedObject(transformPlaceholder); SerializedProperty serializedProperty = serializedObject.FindProperty("_targetTransform"); serializedProperty.objectReferenceValue = gameObject.transform; serializedObject.ApplyModifiedProperties(); }