这是我的代码,

 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以便撤消它的方法有哪些?如果有人可以让我开始只是为了笨蛋,我可以做剩下的。

最佳答案

我认为这不是一个完美的答案,但是您可以使用此回调做一些事情。它不是一个完美的解决方案,但它应该是一个开始。

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

然后,您可以向虚拟对象注册撤消,然后以某种方式找出如何检测完成了哪种撤消?

07-27 13:58