Merge remote-tracking branch 'origin/master' into linux-editor
# Conflicts: # Source/Engine/Core/Math/Color.cs # Source/Engine/Navigation/Navigation.cpp # Source/Engine/Platform/Win32/Win32Platform.cpp
This commit is contained in:
@@ -125,9 +125,8 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
}
|
||||
else
|
||||
{
|
||||
QueryFilterHelper.Range[] ranges;
|
||||
var text = Text;
|
||||
if (QueryFilterHelper.Match(filterText, text, out ranges))
|
||||
if (QueryFilterHelper.Match(filterText, text, out QueryFilterHelper.Range[] ranges))
|
||||
{
|
||||
// Update highlights
|
||||
if (_highlights == null)
|
||||
@@ -386,15 +385,14 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
|
||||
public ReparentAction(List<Actor> actors)
|
||||
{
|
||||
var allActors = new List<Actor>();
|
||||
allActors.Capacity = Mathf.NextPowerOfTwo(actors.Count);
|
||||
var allActors = new List<Actor>(Mathf.NextPowerOfTwo(actors.Count));
|
||||
|
||||
for (int i = 0; i < actors.Count; i++)
|
||||
{
|
||||
GetAllActors(allActors, actors[i]);
|
||||
}
|
||||
|
||||
var allScripts = new List<Script>();
|
||||
allScripts.Capacity = allActors.Capacity;
|
||||
var allScripts = new List<Script>(allActors.Capacity);
|
||||
GetAllScripts(allActors, allScripts);
|
||||
|
||||
int allCount = allActors.Count + allScripts.Count;
|
||||
@@ -409,6 +407,7 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
_prefabIds[i] = allActors[i].PrefabID;
|
||||
_prefabObjectIds[i] = allActors[i].PrefabObjectID;
|
||||
}
|
||||
|
||||
for (int i = 0; i < allScripts.Count; i++)
|
||||
{
|
||||
int j = _actorsCount + i;
|
||||
@@ -570,11 +569,14 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
{
|
||||
// Create actor
|
||||
var model = FlaxEngine.Content.LoadAsync<SkinnedModel>(assetItem.ID);
|
||||
var actor = new AnimatedModel();
|
||||
actor.StaticFlags = Actor.StaticFlags;
|
||||
actor.Name = assetItem.ShortName;
|
||||
actor.SkinnedModel = model;
|
||||
actor.Transform = Actor.Transform;
|
||||
|
||||
var actor = new AnimatedModel
|
||||
{
|
||||
StaticFlags = Actor.StaticFlags,
|
||||
Name = assetItem.ShortName,
|
||||
SkinnedModel = model,
|
||||
Transform = Actor.Transform
|
||||
};
|
||||
|
||||
// Spawn
|
||||
ActorNode.Root.Spawn(actor, Actor);
|
||||
@@ -583,11 +585,14 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
{
|
||||
// Create actor
|
||||
var model = FlaxEngine.Content.LoadAsync<Model>(assetItem.ID);
|
||||
var actor = new StaticModel();
|
||||
actor.StaticFlags = Actor.StaticFlags;
|
||||
actor.Name = assetItem.ShortName;
|
||||
actor.Model = model;
|
||||
actor.Transform = Actor.Transform;
|
||||
|
||||
var actor = new StaticModel
|
||||
{
|
||||
StaticFlags = Actor.StaticFlags,
|
||||
Name = assetItem.ShortName,
|
||||
Model = model,
|
||||
Transform = Actor.Transform
|
||||
};
|
||||
|
||||
// Spawn
|
||||
ActorNode.Root.Spawn(actor, Actor);
|
||||
@@ -595,11 +600,13 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
else if (assetItem.IsOfType<CollisionData>())
|
||||
{
|
||||
// Create actor
|
||||
var actor = new MeshCollider();
|
||||
actor.StaticFlags = Actor.StaticFlags;
|
||||
actor.Name = assetItem.ShortName;
|
||||
actor.CollisionData = FlaxEngine.Content.LoadAsync<CollisionData>(assetItem.ID);
|
||||
actor.Transform = Actor.Transform;
|
||||
var actor = new MeshCollider
|
||||
{
|
||||
StaticFlags = Actor.StaticFlags,
|
||||
Name = assetItem.ShortName,
|
||||
CollisionData = FlaxEngine.Content.LoadAsync<CollisionData>(assetItem.ID),
|
||||
Transform = Actor.Transform
|
||||
};
|
||||
|
||||
// Spawn
|
||||
ActorNode.Root.Spawn(actor, Actor);
|
||||
@@ -607,11 +614,13 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
else if (assetItem.IsOfType<ParticleSystem>())
|
||||
{
|
||||
// Create actor
|
||||
var actor = new ParticleEffect();
|
||||
actor.StaticFlags = Actor.StaticFlags;
|
||||
actor.Name = assetItem.ShortName;
|
||||
actor.ParticleSystem = FlaxEngine.Content.LoadAsync<ParticleSystem>(assetItem.ID);
|
||||
actor.Transform = Actor.Transform;
|
||||
var actor = new ParticleEffect
|
||||
{
|
||||
StaticFlags = Actor.StaticFlags,
|
||||
Name = assetItem.ShortName,
|
||||
ParticleSystem = FlaxEngine.Content.LoadAsync<ParticleSystem>(assetItem.ID),
|
||||
Transform = Actor.Transform
|
||||
};
|
||||
|
||||
// Spawn
|
||||
ActorNode.Root.Spawn(actor, Actor);
|
||||
@@ -619,11 +628,13 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
else if (assetItem.IsOfType<SceneAnimation>())
|
||||
{
|
||||
// Create actor
|
||||
var actor = new SceneAnimationPlayer();
|
||||
actor.StaticFlags = Actor.StaticFlags;
|
||||
actor.Name = assetItem.ShortName;
|
||||
actor.Animation = FlaxEngine.Content.LoadAsync<SceneAnimation>(assetItem.ID);
|
||||
actor.Transform = Actor.Transform;
|
||||
var actor = new SceneAnimationPlayer
|
||||
{
|
||||
StaticFlags = Actor.StaticFlags,
|
||||
Name = assetItem.ShortName,
|
||||
Animation = FlaxEngine.Content.LoadAsync<SceneAnimation>(assetItem.ID),
|
||||
Transform = Actor.Transform
|
||||
};
|
||||
|
||||
// Spawn
|
||||
ActorNode.Root.Spawn(actor, Actor);
|
||||
@@ -631,11 +642,13 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
else if (assetItem.IsOfType<AudioClip>())
|
||||
{
|
||||
// Create actor
|
||||
var actor = new AudioSource();
|
||||
actor.StaticFlags = Actor.StaticFlags;
|
||||
actor.Name = assetItem.ShortName;
|
||||
actor.Clip = FlaxEngine.Content.LoadAsync<AudioClip>(assetItem.ID);
|
||||
actor.Transform = Actor.Transform;
|
||||
var actor = new AudioSource
|
||||
{
|
||||
StaticFlags = Actor.StaticFlags,
|
||||
Name = assetItem.ShortName,
|
||||
Clip = FlaxEngine.Content.LoadAsync<AudioClip>(assetItem.ID),
|
||||
Transform = Actor.Transform
|
||||
};
|
||||
|
||||
// Spawn
|
||||
ActorNode.Root.Spawn(actor, Actor);
|
||||
@@ -728,20 +741,28 @@ namespace FlaxEditor.SceneGraph.GUI
|
||||
{
|
||||
if (assetItem.IsOfType<SkinnedModel>())
|
||||
return true;
|
||||
|
||||
if (assetItem.IsOfType<Model>())
|
||||
return true;
|
||||
|
||||
if (assetItem.IsOfType<AudioClip>())
|
||||
return true;
|
||||
|
||||
if (assetItem.IsOfType<Prefab>())
|
||||
return true;
|
||||
|
||||
if (assetItem.IsOfType<CollisionData>())
|
||||
return true;
|
||||
|
||||
if (assetItem.IsOfType<ParticleSystem>())
|
||||
return true;
|
||||
|
||||
if (assetItem.IsOfType<SceneAnimation>())
|
||||
return true;
|
||||
|
||||
if (assetItem is VisualScriptItem visualScriptItem && new ScriptType(typeof(Actor)).IsAssignableFrom(visualScriptItem.ScriptType) && visualScriptItem.ScriptType.CanCreateInstance)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -82,8 +82,7 @@ namespace FlaxEditor.SceneGraph
|
||||
if (id == Guid.Empty)
|
||||
return null;
|
||||
|
||||
SceneGraphNode result;
|
||||
Nodes.TryGetValue(id, out result);
|
||||
Nodes.TryGetValue(id, out SceneGraphNode result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -94,8 +93,7 @@ namespace FlaxEditor.SceneGraph
|
||||
/// <returns>The result node.</returns>
|
||||
public static SceneGraphNode GetNode(Guid id)
|
||||
{
|
||||
SceneGraphNode result;
|
||||
Nodes.TryGetValue(id, out result);
|
||||
Nodes.TryGetValue(id, out SceneGraphNode result);
|
||||
if (result == null)
|
||||
{
|
||||
var actor = Object.TryFind<Actor>(ref id);
|
||||
|
||||
Reference in New Issue
Block a user