Fix actors spawning in prefab editor
This commit is contained in:
@@ -336,7 +336,7 @@ namespace FlaxEditor.SceneGraph.Actors
|
||||
StaticFlags = Actor.StaticFlags,
|
||||
Transform = Actor.Transform,
|
||||
};
|
||||
Editor.Instance.SceneEditing.Spawn(actor, Actor);
|
||||
Root.Spawn(actor, Actor);
|
||||
}
|
||||
|
||||
private void OnAddSplineCollider()
|
||||
@@ -347,7 +347,7 @@ namespace FlaxEditor.SceneGraph.Actors
|
||||
Transform = Actor.Transform,
|
||||
};
|
||||
// TODO: auto pick the collision data if already using spline model
|
||||
Editor.Instance.SceneEditing.Spawn(actor, Actor);
|
||||
Root.Spawn(actor, Actor);
|
||||
}
|
||||
|
||||
private void OnAddSplineRopeBody()
|
||||
@@ -357,7 +357,7 @@ namespace FlaxEditor.SceneGraph.Actors
|
||||
StaticFlags = StaticFlags.None,
|
||||
Transform = Actor.Transform,
|
||||
};
|
||||
Editor.Instance.SceneEditing.Spawn(actor, Actor);
|
||||
Root.Spawn(actor, Actor);
|
||||
}
|
||||
|
||||
internal static void OnSplineEdited(Spline spline)
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace FlaxEditor.SceneGraph.Actors
|
||||
StaticFlags = Actor.StaticFlags,
|
||||
Transform = Actor.Transform,
|
||||
};
|
||||
Editor.Instance.SceneEditing.Spawn(actor, Actor);
|
||||
Root.Spawn(actor, Actor);
|
||||
return;
|
||||
}
|
||||
if (modelPath.EndsWith("/Primitives/Sphere.flax", StringComparison.Ordinal))
|
||||
@@ -53,7 +53,7 @@ namespace FlaxEditor.SceneGraph.Actors
|
||||
StaticFlags = Actor.StaticFlags,
|
||||
Transform = Actor.Transform,
|
||||
};
|
||||
Editor.Instance.SceneEditing.Spawn(actor, Actor);
|
||||
Root.Spawn(actor, Actor);
|
||||
return;
|
||||
}
|
||||
if (modelPath.EndsWith("/Primitives/Plane.flax", StringComparison.Ordinal))
|
||||
@@ -64,7 +64,7 @@ namespace FlaxEditor.SceneGraph.Actors
|
||||
Transform = Actor.Transform,
|
||||
Size = new Float3(100.0f, 100.0f, 1.0f),
|
||||
};
|
||||
Editor.Instance.SceneEditing.Spawn(actor, Actor);
|
||||
Root.Spawn(actor, Actor);
|
||||
return;
|
||||
}
|
||||
if (modelPath.EndsWith("/Primitives/Capsule.flax", StringComparison.Ordinal))
|
||||
@@ -91,7 +91,7 @@ namespace FlaxEditor.SceneGraph.Actors
|
||||
Transform = Actor.Transform,
|
||||
CollisionData = collisionData,
|
||||
};
|
||||
Editor.Instance.SceneEditing.Spawn(actor, Actor);
|
||||
Root.Spawn(actor, Actor);
|
||||
};
|
||||
var collisionDataProxy = (CollisionDataProxy)Editor.Instance.ContentDatabase.GetProxy<CollisionData>();
|
||||
collisionDataProxy.CreateCollisionDataFromModel(model, created);
|
||||
|
||||
@@ -629,7 +629,7 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
actor.StaticFlags = spawnParent.StaticFlags;
|
||||
actor.Name = item.ShortName;
|
||||
actor.Transform = spawnParent.Transform;
|
||||
Editor.Instance.SceneEditing.Spawn(actor, spawnParent, false);
|
||||
ActorNode.Root.Spawn(actor, spawnParent);
|
||||
actor.OrderInParent = newOrder;
|
||||
}
|
||||
result = DragDropEffect.Move;
|
||||
@@ -640,8 +640,6 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
for (int i = 0; i < _dragActorType.Objects.Count; i++)
|
||||
{
|
||||
var item = _dragActorType.Objects[i];
|
||||
|
||||
// Create actor
|
||||
var actor = item.CreateInstance() as Actor;
|
||||
if (actor == null)
|
||||
{
|
||||
@@ -651,8 +649,6 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
actor.StaticFlags = Actor.StaticFlags;
|
||||
actor.Name = item.Name;
|
||||
actor.Transform = Actor.Transform;
|
||||
|
||||
// Spawn
|
||||
ActorNode.Root.Spawn(actor, Actor);
|
||||
}
|
||||
|
||||
|
||||
@@ -298,13 +298,13 @@ namespace FlaxEditor.Windows.Assets
|
||||
}
|
||||
|
||||
// Custom options
|
||||
bool showCustomNodeOptions = Editor.SceneEditing.Selection.Count == 1;
|
||||
if (!showCustomNodeOptions && Editor.SceneEditing.Selection.Count != 0)
|
||||
bool showCustomNodeOptions = Selection.Count == 1;
|
||||
if (!showCustomNodeOptions && Selection.Count != 0)
|
||||
{
|
||||
showCustomNodeOptions = true;
|
||||
for (int i = 1; i < Editor.SceneEditing.Selection.Count; i++)
|
||||
for (int i = 1; i < Selection.Count; i++)
|
||||
{
|
||||
if (Editor.SceneEditing.Selection[0].GetType() != Editor.SceneEditing.Selection[i].GetType())
|
||||
if (Selection[0].GetType() != Selection[i].GetType())
|
||||
{
|
||||
showCustomNodeOptions = false;
|
||||
break;
|
||||
@@ -313,7 +313,7 @@ namespace FlaxEditor.Windows.Assets
|
||||
}
|
||||
if (showCustomNodeOptions)
|
||||
{
|
||||
Editor.SceneEditing.Selection[0].OnContextMenu(contextMenu);
|
||||
Selection[0].OnContextMenu(contextMenu);
|
||||
}
|
||||
ContextMenuShow?.Invoke(contextMenu);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user