public static void UpdateTest(int currentAngle, int destinationAngle, int framesCount, int expectedCurrentAngle) { var transformable = new TransformableAngle(1f, currentAngle); transformable.Destination = destinationAngle; Assert.IsTrue(transformable.IsRotationRequired()); for (int frameIndex = 0; frameIndex < framesCount; frameIndex++) transformable.Update(); Assert.IsFalse(transformable.IsRotationRequired()); Assert.AreEqual(expectedCurrentAngle, (int)transformable.Current, delta:2f); Assert.AreEqual(1f, transformable.CurrentOffset,delta:0.05f); }
public TankTurret(TankBase tank, float turretRotationSpeed, float cannonRotationSpeed) { _rotation=new TransformableAngle(turretRotationSpeed,0); _cannon = new TankCannon(tank, cannonRotationSpeed); }