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