Generalize factionVariant to a TypeDictionary of Inits.

This commit is contained in:
Paul Chote
2017-08-18 17:39:20 +00:00
committed by Pavel Penev
parent 315cc966f4
commit cfac996438
10 changed files with 77 additions and 45 deletions

View File

@@ -41,7 +41,7 @@ namespace OpenRA.Mods.Common.Traits
rp = self.TraitOrDefault<RallyPoint>();
}
public override bool Produce(Actor self, ActorInfo producee, string factionVariant)
public override bool Produce(Actor self, ActorInfo producee, TypeDictionary inits)
{
var aircraftInfo = producee.TraitInfoOrDefault<AircraftInfo>();
var mobileInfo = producee.TraitInfoOrDefault<MobileInfo>();
@@ -74,16 +74,13 @@ namespace OpenRA.Mods.Common.Traits
self.World.AddFrameEndTask(w =>
{
var td = new TypeDictionary
{
new OwnerInit(self.Owner),
new LocationInit(location.Value),
new CenterPositionInit(pos),
new FacingInit(initialFacing)
};
var td = new TypeDictionary();
foreach (var init in inits)
td.Add(init);
if (factionVariant != null)
td.Add(new FactionInit(factionVariant));
td.Add(new LocationInit(location.Value));
td.Add(new CenterPositionInit(pos));
td.Add(new FacingInit(initialFacing));
var newUnit = self.World.CreateActor(producee.Name, td);