diff --git a/Source/Editor/CustomEditors/Dedicated/MissingScriptEditor.cs b/Source/Editor/CustomEditors/Dedicated/MissingScriptEditor.cs index 3f9c9cf76..13569a891 100644 --- a/Source/Editor/CustomEditors/Dedicated/MissingScriptEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/MissingScriptEditor.cs @@ -75,41 +75,28 @@ public class MissingScriptEditor : GenericEditor base.Initialize(layout); } - private List FindActorsWithMatchingMissingScript(Actor parent = null) + private List FindActorsWithMatchingMissingScript() { List missingScripts = new List(); - if (parent != null) + + foreach (Actor actor in Level.GetActors()) { - for (int child = 0; child < parent.ChildrenCount; child++) + for (int scriptIndex = 0; scriptIndex < actor.ScriptsCount; scriptIndex++) { - Actor actor = parent.Children[child]; - for (int scriptIndex = 0; scriptIndex < actor.ScriptsCount; scriptIndex++) + Script actorScript = actor.Scripts[scriptIndex]; + if (actorScript is not MissingScript missingActorScript) { - Script actorScript = actor.Scripts[scriptIndex]; - if (actorScript is not MissingScript missingActorScript) - { - continue; - } - - MissingScript currentMissing = Values[0] as MissingScript; - if (missingActorScript.MissingTypeName != currentMissing.MissingTypeName) - { - continue; - } - - Debug.Log($"Found correct missing script: {actor.Name}, {missingActorScript}, {missingScripts.Count}."); - - // Matching MissingScript. - missingScripts.Add(missingActorScript); + continue; } - missingScripts.AddRange(FindActorsWithMatchingMissingScript(actor)); - } - } else - { - foreach (Actor actor in Level.GetActors()) - { - missingScripts.AddRange(FindActorsWithMatchingMissingScript(actor)); + MissingScript currentMissing = Values[0] as MissingScript; + if (missingActorScript.MissingTypeName != currentMissing.MissingTypeName) + { + continue; + } + + // Matching MissingScript. + missingScripts.Add(missingActorScript); } }