Have civilians come out of disturbed buildings

This commit is contained in:
Scott_NZ
2013-01-01 14:22:18 +13:00
parent e3d25f6fed
commit 185558985e
3 changed files with 54 additions and 11 deletions

View File

@@ -173,4 +173,40 @@ namespace OpenRA.Mods.RA.Missions
});
}
}
class Soviet01ClassicContainsActorsInfo : ITraitInfo
{
public readonly string[] Actors = { };
public object Create(ActorInitializer init) { return new Soviet01ClassicContainsActors(this); }
}
class Soviet01ClassicContainsActors : INotifyDamage
{
bool spawned;
Soviet01ClassicContainsActorsInfo info;
public Soviet01ClassicContainsActors(Soviet01ClassicContainsActorsInfo info)
{
this.info = info;
}
public void Damaged(Actor self, AttackInfo e)
{
if (spawned || self.IsDead())
{
return;
}
foreach (var actor in info.Actors)
{
var unit = self.World.CreateActor(actor, new TypeDictionary
{
new OwnerInit(self.Owner),
new LocationInit(self.Location)
});
unit.Trait<Mobile>().Nudge(unit, unit, true);
}
spawned = true;
}
}
}