From da2ae02c89df7dc0dc69027eca9252577e7179da Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Sun, 3 Jan 2021 23:09:24 +0700 Subject: [PATCH] Fix undo instances issue. --- Assets/IsoTools/Scripts/Internal/Editor/IsoEditorUtils.cs | 6 ++++++ Assets/IsoTools/Scripts/Internal/Editor/IsoParentEditor.cs | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/Assets/IsoTools/Scripts/Internal/Editor/IsoEditorUtils.cs b/Assets/IsoTools/Scripts/Internal/Editor/IsoEditorUtils.cs index f4c2827..e6ffacb 100644 --- a/Assets/IsoTools/Scripts/Internal/Editor/IsoEditorUtils.cs +++ b/Assets/IsoTools/Scripts/Internal/Editor/IsoEditorUtils.cs @@ -145,6 +145,9 @@ namespace IsoTools.Internal { var result_p_z = iso_orig_z + delta; if ( move ) { iso_object.positionZ = IsoUtils.FloatBeautifier(result_p_z); + if ( PrefabUtility.GetPrefabInstanceStatus(iso_object) != PrefabInstanceStatus.NotAPrefab ) { + PrefabUtility.RecordPrefabInstancePropertyModifications(iso_object); + } } var z_delta = result_p_z - iso_orig_z; return Mathf.Abs(z_delta) > Mathf.Abs(AccIn) ? z_delta : AccIn; @@ -246,6 +249,9 @@ namespace IsoTools.Internal { var result_pos_iso = iso_orig_p + iso_delta; if ( move ) { iso_object.position = IsoUtils.VectorBeautifier(result_pos_iso); + if ( PrefabUtility.GetPrefabInstanceStatus(iso_object) != PrefabInstanceStatus.NotAPrefab ) { + PrefabUtility.RecordPrefabInstancePropertyModifications(iso_object); + } } var pos_delta = result_pos_iso - iso_orig_p; return pos_delta.magnitude > AccIn.magnitude ? pos_delta : AccIn; diff --git a/Assets/IsoTools/Scripts/Internal/Editor/IsoParentEditor.cs b/Assets/IsoTools/Scripts/Internal/Editor/IsoParentEditor.cs index dfb4441..678b50c 100644 --- a/Assets/IsoTools/Scripts/Internal/Editor/IsoParentEditor.cs +++ b/Assets/IsoTools/Scripts/Internal/Editor/IsoParentEditor.cs @@ -106,6 +106,9 @@ namespace IsoTools.Internal { foreach ( var iso_object in _isoObjects[iso_world] ) { iso_object.FixIsoPosition(); iso_object.positionXY = IsoUtils.VectorBeautifier(iso_object.positionXY); + if ( PrefabUtility.GetPrefabInstanceStatus(iso_object) != PrefabInstanceStatus.NotAPrefab ) { + PrefabUtility.RecordPrefabInstancePropertyModifications(iso_object); + } } } } @@ -134,6 +137,9 @@ namespace IsoTools.Internal { foreach ( var iso_object in _isoObjects[iso_world] ) { iso_object.FixIsoPosition(); iso_object.positionXY = IsoUtils.VectorBeautifier(iso_object.positionXY); + if ( PrefabUtility.GetPrefabInstanceStatus(iso_object) != PrefabInstanceStatus.NotAPrefab ) { + PrefabUtility.RecordPrefabInstancePropertyModifications(iso_object); + } } } }