From d47e9d071ac15f79ae770c49718c35814bcb0f7d Mon Sep 17 00:00:00 2001 From: alzeih Date: Thu, 18 Mar 2010 18:48:34 +1300 Subject: [PATCH] Now has generic action (no arguments though) --- OpenRA.Game/Traits/HasUnitOnBuild.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/OpenRA.Game/Traits/HasUnitOnBuild.cs b/OpenRA.Game/Traits/HasUnitOnBuild.cs index 5ebdcc66e5..afec5f9600 100644 --- a/OpenRA.Game/Traits/HasUnitOnBuild.cs +++ b/OpenRA.Game/Traits/HasUnitOnBuild.cs @@ -28,7 +28,21 @@ namespace OpenRA.Traits + info.SpawnOffset, self.Owner); var unitTrait = unit.traits.Get(); unitTrait.Facing = info.Facing; - //unit.QueueActivity( new Harvest() ); + + if (info.InitialActivity != null) + { + foreach (var mod in Game.ModAssemblies) + { + var fullTypeName = mod.Second + "." + info.InitialActivity; + var activity = (IActivity)mod.First.CreateInstance(fullTypeName); + if (activity == null) continue; + + unit.QueueActivity( activity ); + return; + } + + throw new InvalidOperationException("Cannot locate Activity: `{0}`".F(info.InitialActivity)); + } }); } }