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();
        }
Beispiel #2
0
        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();
        }