Support dynamic initial turret facings.
This commit is contained in:
@@ -45,8 +45,8 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
var t = init.Actor.TraitInfos<TurretedInfo>()
|
||||
.First(tt => tt.Turret == Turret);
|
||||
|
||||
var turretFacing = Turreted.GetInitialTurretFacing(init, t.InitialFacing, Turret);
|
||||
var anim = new Animation(init.World, image, () => turretFacing);
|
||||
var turretFacing = Turreted.TurretFacingFromInit(init, t.InitialFacing, Turret);
|
||||
var anim = new Animation(init.World, image, turretFacing);
|
||||
anim.Play(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), Sequence));
|
||||
|
||||
Func<int> facing = init.GetFacing();
|
||||
|
||||
@@ -45,8 +45,8 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
|
||||
var voxel = VoxelProvider.GetVoxel(image, Sequence);
|
||||
|
||||
var turretFacing = Turreted.GetInitialTurretFacing(init, t.InitialFacing, t.Turret);
|
||||
Func<WRot> turretOrientation = () => body.QuantizeOrientation(WRot.FromYaw(WAngle.FromFacing(turretFacing) - orientation().Yaw), facings);
|
||||
var turretFacing = Turreted.TurretFacingFromInit(init, t.InitialFacing, t.Turret);
|
||||
Func<WRot> turretOrientation = () => body.QuantizeOrientation(WRot.FromYaw(WAngle.FromFacing(turretFacing()) - orientation().Yaw), facings);
|
||||
|
||||
Func<WRot> quantizedTurret = () => body.QuantizeOrientation(turretOrientation(), facings);
|
||||
Func<WRot> quantizedBody = () => body.QuantizeOrientation(orientation(), facings);
|
||||
|
||||
@@ -41,8 +41,8 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
var voxel = VoxelProvider.GetVoxel(image, Sequence);
|
||||
Func<WVec> turretOffset = () => body.LocalToWorld(t.Offset.Rotate(orientation()));
|
||||
|
||||
var turretFacing = Turreted.GetInitialTurretFacing(init, t.InitialFacing, Turret);
|
||||
Func<WRot> turretBodyOrientation = () => WRot.FromYaw(WAngle.FromFacing(turretFacing) - orientation().Yaw);
|
||||
var turretFacing = Turreted.TurretFacingFromInit(init, t.InitialFacing, Turret);
|
||||
Func<WRot> turretBodyOrientation = () => WRot.FromYaw(WAngle.FromFacing(turretFacing()) - orientation().Yaw);
|
||||
yield return new VoxelAnimation(voxel, turretOffset,
|
||||
() => new[] { turretBodyOrientation(), body.QuantizeOrientation(orientation(), facings) }, () => false, () => 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user