introduce collection of Turrets on AttackBase, too -- turret sharing w/ recoil works again

This commit is contained in:
Chris Forbes
2010-07-31 22:19:29 +12:00
parent 9a218f7b52
commit fa245aaa08
3 changed files with 72 additions and 45 deletions

View File

@@ -202,5 +202,18 @@ namespace OpenRA.Mods.RA
return (Util.RotateVectorByFacing(offset.RelOffset(), quantizedFacing, .7f) + GetRecoil(self, recoil))
+ offset.AbsOffset();
}
public static float2 GetTurretPosition(Actor self, Unit unit, Turret turret)
{
if (unit == null) return turret.ScreenSpacePosition;
var ru = self.traits.GetOrDefault<RenderUnit>();
var numDirs = (ru != null) ? ru.anim.CurrentSequence.Facings : 8;
var bodyFacing = unit.Facing;
var quantizedFacing = Util.QuantizeFacing(bodyFacing, numDirs) * (256 / numDirs);
return (Util.RotateVectorByFacing(turret.UnitSpacePosition, quantizedFacing, .7f) + GetRecoil(self, turret.Recoil))
+ turret.ScreenSpacePosition;
}
}
}