Merge branch 'ensure-prefab-staticflags' of https://github.com/Tryibion/FlaxEngine into Tryibion-ensure-prefab-staticflags

This commit is contained in:
Wojtek Figat
2023-05-07 10:46:20 +02:00

View File

@@ -625,7 +625,16 @@ namespace FlaxEditor.SceneGraph.GUI
{
var item = _dragAssets.Objects[i];
var actor = item.OnEditorDrop(this);
actor.StaticFlags = spawnParent.StaticFlags;
if (spawnParent.GetType() != typeof(Scene))
{
// Set all Actors static flags to match parents
List<Actor> childActors = new List<Actor>();
GetActorsTree(childActors, actor);
foreach (var child in childActors)
{
child.StaticFlags = spawnParent.StaticFlags;
}
}
actor.Name = item.ShortName;
actor.Transform = spawnParent.Transform;
Editor.Instance.SceneEditing.Spawn(actor, spawnParent, false);
@@ -670,6 +679,16 @@ namespace FlaxEditor.SceneGraph.GUI
return result;
}
private void GetActorsTree(List<Actor> list, Actor a)
{
list.Add(a);
int cnt = a.ChildrenCount;
for (int i = 0; i < cnt; i++)
{
GetActorsTree(list, a.GetChild(i));
}
}
private bool ValidateDragActor(ActorNode actorNode)
{