这是我的代码,
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
然后,您可以向虚拟对象注册撤消,然后以某种方式找出如何检测完成了哪种撤消?