private void Replace(IButton button, ButtonEventData eventData, MeshCollider mc) { if (CheckReplacementBoundsSetting()) { World.BeginUndoBatch("Replace MeshCollider"); switch (replacementColliderComponent.Value) { case ReplacementColliderComponent.BoxCollider: var bc = mc.Slot.AttachComponent <BoxCollider>(); bc.CreateSpawnUndoPoint(); SetupNewCollider(bc, mc); break; case ReplacementColliderComponent.SphereCollider: var sc = mc.Slot.AttachComponent <SphereCollider>(); sc.CreateSpawnUndoPoint(); SetupNewCollider(sc, mc); break; case ReplacementColliderComponent.ConvexHullCollider: mc.Slot.AttachComponent <ConvexHullCollider>().CreateSpawnUndoPoint(); break; } mc.UndoableDestroy(); World.EndUndoBatch(); PopulateList(); ShowResults($"MeshCollider replaced."); } else { ShowResults($"{replacementColliderComponent.Value} cannot be used with {setupBoundsType.Value}"); } }
private void Remove(IButton button, ButtonEventData eventData, MeshCollider mc) { mc.UndoableDestroy(); PopulateList(); ShowResults($"MeshCollider removed."); }