Unity3d Undo - это окно EditorWock [для bools и строк]

Вот мой код,

 CoreGlobal.OnMobile = EditorGUILayout.Toggle("Mobile Build", CoreGlobal.OnMobile);

         if (Selection.activeGameObject && Selection.activeGameObject.tag == "CBC")
         {
             selectedTransform = Selection.activeGameObject.transform;
             fold = EditorGUILayout.InspectorTitlebar(fold, selectedTransform);
             if (fold)
             {
                 selectedTransform.position =
                     EditorGUILayout.Vector3Field("Position", selectedTransform.position);
                 EditorGUILayout.Space();
                 rotationComponents =
                     EditorGUILayout.Vector4Field("Detailed Rotation", QuaternionToVector4(selectedTransform.localRotation));
                 EditorGUILayout.Space();
                 selectedTransform.localScale =
                     EditorGUILayout.Vector3Field("Scale", selectedTransform.localScale);
             }
             selectedTransform.localRotation = ConvertToQuaternion(rotationComponents);
             EditorGUILayout.Space();
         }

это код у меня в окне редактора, функция onGUI.

Я пытаюсь создать отмену для кода. Я не уверен, как отменить значение Toogle.Undo.RecordObject(OBJECT, STRING);

Каким образом я могу изменить bool на Object, чтобы я мог отменить его? если бы кто-то мог заставить меня начать только для булла, я мог бы сделать все остальное.

1 ответ

Я не думаю, что это идеальный ответ, но вы могли бы что-то сделать с этим обратным вызовом. Это не идеальное решение, но оно должно быть началом.

http://docs.unity3d.com/ScriptReference/Undo-undoRedoPerformed.html

И тогда вы могли бы зарегистрировать отмену с помощью фиктивного Объекта, а затем каким-то образом выяснить, как определить, какая отмена была сделана?

Другие вопросы по тегам