Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
            }
        }