fix #1052; tidy up *Init; route initial turret facing for husks through new TurretFacingInit

This commit is contained in:
Chris Forbes
2011-07-28 23:07:14 +12:00
parent 096fe7759c
commit 2bf7cb1496
7 changed files with 84 additions and 164 deletions

View File

@@ -43,8 +43,13 @@ namespace OpenRA.Mods.RA
new SkipMakeAnimsInit()
};
if (self.HasTrait<IFacing>())
td.Add(new FacingInit( self.Trait<IFacing>().Facing ));
var facing = self.TraitOrDefault<IFacing>();
if (facing != null)
td.Add(new FacingInit( facing.Facing ));
var turreted = self.TraitOrDefault<Turreted>();
if (turreted != null)
td.Add( new TurretFacingInit(turreted.turretFacing) );
// Allows the husk to drag to its final position
var mobile = self.TraitOrDefault<Mobile>();
@@ -55,11 +60,7 @@ namespace OpenRA.Mods.RA
.Select(ihm => ihm.HuskActor(self))
.FirstOrDefault(a => a != null);
var husk = w.CreateActor(huskActor ?? Info.HuskActor, td);
var turreted = self.TraitOrDefault<Turreted>();
if (turreted != null)
foreach (var p in husk.TraitsImplementing<ThrowsParticle>())
p.InitialFacing = turreted.turretFacing;
w.CreateActor(huskActor ?? Info.HuskActor, td);
});
}
}