From 1c6253c3fbb9ebfc0f5b2cd4405ae3c61ef48538 Mon Sep 17 00:00:00 2001 From: abcdefg30 Date: Thu, 7 Apr 2016 22:53:13 +0200 Subject: [PATCH] Add a lua method for querying all actors that are currently InWorld --- OpenRA.Mods.Common/Scripting/Global/MapGlobal.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OpenRA.Mods.Common/Scripting/Global/MapGlobal.cs b/OpenRA.Mods.Common/Scripting/Global/MapGlobal.cs index 98f9583407..71384d39c3 100644 --- a/OpenRA.Mods.Common/Scripting/Global/MapGlobal.cs +++ b/OpenRA.Mods.Common/Scripting/Global/MapGlobal.cs @@ -21,10 +21,13 @@ namespace OpenRA.Mods.Common.Scripting public class MapGlobal : ScriptGlobal { readonly SpawnMapActors sma; + readonly World world; + public MapGlobal(ScriptContext context) : base(context) { sma = context.World.WorldActor.Trait(); + world = context.World; // Register map actors as globals (yuck!) foreach (var kv in sma.Actors) @@ -133,5 +136,8 @@ namespace OpenRA.Mods.Common.Scripting { return Context.World.ActorsHavingTrait(t => t.HasTag(tag)).ToArray(); } + + [Desc("Returns a table of all the actors that are currently on the map/in the world.")] + public Actor[] ActorsInWorld { get { return world.Actors.ToArray(); } } } }