public void InterpolateStoppedTest() { var e = new TestEntity(); var i = new EntityInterpolator(); e.Position = new Vector2(0); i.Update(e, 1); Assert.AreEqual(Vector2.Zero, i.DrawPosition); e.Move(new Vector2(16)); e.SetVelocity(new Vector2(1)); i.Update(e, 1); Assert.AreNotEqual(new Vector2(0), i.DrawPosition); e.Move(new Vector2(100)); e.SetVelocity(new Vector2(0)); i.Update(e, 1); Assert.AreNotEqual(new Vector2(16), i.DrawPosition); var last = i.DrawPosition; e.Move(new Vector2(50)); i.Update(e, 10); Assert.AreNotEqual(last, i.DrawPosition); }
public void InterpolateNoVelocityRecordTest() { var e = new TestEntity(); var i = new EntityInterpolator(); e.Position = new Vector2(0); i.Update(e, 1); Assert.AreEqual(Vector2.Zero, i.DrawPosition); e.Move(new Vector2(16)); i.Update(e, 1); Assert.AreEqual(new Vector2(16), i.DrawPosition); e.Move(new Vector2(100)); i.Update(e, 1); Assert.AreEqual(new Vector2(116), i.DrawPosition); }
public override void Initialize() { // Hook into networks events PacketService.RegisterPacket <MovementRecievedPacket>(MovementRecieved); // Query for the players we don't want foreach (var entity in ServiceManager.Entities) { if (entity.ID == _idToMonitor) { continue; } var transformComponent = (TransformComponent)entity.GetComponent(typeof(TransformComponent)); var interpolator = new EntityInterpolator(transformComponent); _entityInterpolators.Add(entity.ID, interpolator); } }