Paste into different files bug fix, multiple selection clone bug fix, fix for collisions editing crash

This commit is contained in:
dexy 2020-01-14 12:54:45 +11:00
parent 3f24a234e6
commit acba388358
2 changed files with 20 additions and 15 deletions

View File

@ -1502,7 +1502,6 @@ namespace CodeWalker.Project
public object NewObject(MapSelection sel, bool copyPosition = false, bool selectNew = true) public object NewObject(MapSelection sel, bool copyPosition = false, bool selectNew = true)
{ {
//general method to add a new object, given a map selection //general method to add a new object, given a map selection
SetObject(ref sel);
if (sel.MultipleSelectionItems != null) if (sel.MultipleSelectionItems != null)
{ {
var objs = new List<object>(); var objs = new List<object>();
@ -6789,6 +6788,12 @@ namespace CodeWalker.Project
} }
else else
{ {
if ((sel.MultipleSelectionItems != null) && (sel.MultipleSelectionItems.Length > 0))
{
SetObject(ref sel.MultipleSelectionItems[sel.MultipleSelectionItems.Length - 1]);
return;
}
var mlo = sel.MloEntityDef; var mlo = sel.MloEntityDef;
var room = sel.MloRoomDef; var room = sel.MloRoomDef;
var ent = sel.EntityDef; var ent = sel.EntityDef;

View File

@ -1766,23 +1766,23 @@ namespace CodeWalker
public void UpdateCollisionBoundsGraphics(Bounds b) public void UpdateCollisionBoundsGraphics(Bounds b)
{ {
if (b is BoundBVH bvh) lock (Renderer.RenderSyncRoot)
{ {
bvh.BuildBVH(); if (b is BoundBVH bvh)
} {
else if (b is BoundComposite bc) bvh.BuildBVH();
{ }
bc.BuildBVH(); else if (b is BoundComposite bc)
} {
bc.BuildBVH();
}
var ib = b; var ib = b;
while (ib.Parent != null) while (ib.Parent != null)
{ {
ib = ib.Parent; ib = ib.Parent;
} }
//lock (Renderer.RenderSyncRoot)
{
Renderer.Invalidate(ib); Renderer.Invalidate(ib);
} }
} }