From b80f9463191ffc6253b405d3473b26e1fcc9cbf4 Mon Sep 17 00:00:00 2001 From: Santiago Ariel Mansilla <56666653+Gann4Life@users.noreply.github.com> Date: Wed, 12 Jul 2023 16:58:33 -0300 Subject: [PATCH] Fix undo when creating collisions --- .../Scripts/States/BoxColliderComponentState.cs | 6 ++---- .../Scripts/States/CapsuleColliderComponentState.cs | 8 ++++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Gann4Games/Ragdoll Factory/Scripts/States/BoxColliderComponentState.cs b/Gann4Games/Ragdoll Factory/Scripts/States/BoxColliderComponentState.cs index ba96540..aa4c3b8 100644 --- a/Gann4Games/Ragdoll Factory/Scripts/States/BoxColliderComponentState.cs +++ b/Gann4Games/Ragdoll Factory/Scripts/States/BoxColliderComponentState.cs @@ -35,17 +35,15 @@ public override void Create() collisionObject.transform.localPosition = Vector3.zero; collisionObject.transform.forward = objB.position - objA.position; collisionObject.transform.localScale = Vector3.one; - BoxCollider _selectedBoxCollider = Undo.AddComponent(collisionObject); + BoxCollider _selectedBoxCollider = collisionObject.AddComponent(); _selectedBoxCollider.center = Vector3.forward * height; _selectedBoxCollider.size = new Vector3(Context.boxColliderWidth, Context.boxColliderDepth, distance); Context.boxColliderLength = height; Undo.RegisterCreatedObjectUndo(collisionObject, "Created Box Collider Object"); - Undo.RegisterCompleteObjectUndo(Context, "Created Box Collider Object"); - - Select(_selectedBoxCollider); + Undo.RegisterCompleteObjectUndo(Context, "Created Box Collider Object"); } public override void ConvertTo(Component component) diff --git a/Gann4Games/Ragdoll Factory/Scripts/States/CapsuleColliderComponentState.cs b/Gann4Games/Ragdoll Factory/Scripts/States/CapsuleColliderComponentState.cs index 7d03168..b707bc5 100644 --- a/Gann4Games/Ragdoll Factory/Scripts/States/CapsuleColliderComponentState.cs +++ b/Gann4Games/Ragdoll Factory/Scripts/States/CapsuleColliderComponentState.cs @@ -32,13 +32,13 @@ public override void Create() // throw new Exception("The second bone must be child of the first bone!"); float distance = Vector3.Distance(objA.position, objB.position); - + GameObject collisionObject = new GameObject(objA.name + " - " + objB.name); collisionObject.transform.SetParent(objA); collisionObject.transform.localPosition = Vector3.zero; collisionObject.transform.forward = objB.position - objA.position; collisionObject.transform.localScale = Vector3.one; - CapsuleCollider selectedCapsuleCollider = Undo.AddComponent(collisionObject); + CapsuleCollider selectedCapsuleCollider = collisionObject.AddComponent(); selectedCapsuleCollider.direction = 2; selectedCapsuleCollider.radius = Context.capsuleColliderRadius; selectedCapsuleCollider.center = Vector3.forward * distance / 2; @@ -46,9 +46,9 @@ public override void Create() Context.capsuleColliderLength = distance; - Undo.RegisterCompleteObjectUndo(Context, "Created Capsule Collider Object"); - + Undo.RegisterCreatedObjectUndo(collisionObject, "Created Capsule Collider Object"); Select(selectedCapsuleCollider); + Undo.RegisterCompleteObjectUndo(Context, "Created Capsule Collider Object"); } public override void ConvertTo(Component component)