Asgard.Client.AsgardClient.AfterPhysics C# (CSharp) Метод

AfterPhysics() защищенный Метод

protected AfterPhysics ( float delta ) : void
delta float
Результат void
        protected override void AfterPhysics(float delta)
        {
            base.AfterPhysics(delta);

            var ents = EntityManager.GetEntities(Aspect.One(typeof(NetPhysicsObject)));
            foreach (var ent in ents)
            {
                var pComp = ent.GetComponent<Physics2dComponent>();
                var dObj = ent.GetComponent<NetPhysicsObject>();
                if (pComp == null || dObj == null || pComp.Body == null)
                    continue;

                if (dObj.IsUpdated)
                {
                    if (!dObj.PlayerControlled)
                    {
                        dObj.position_error = (pComp.Body.Position + dObj.position_error) - dObj.Position;
                        dObj.rotation_error = pComp.Body.Rotation;
                        if (dObj.position_error.LengthSquared() > 5f)
                        {
                            dObj.position_error = Farseer.Framework.Vector2.Zero;
                        }

                        pComp.Body.Position = dObj.Position;
                        pComp.Body.LinearVelocity = dObj.LinearVelocity;
                        pComp.Body.Rotation = dObj.Rotation;
                    }

                    dObj.IsUpdated = false;
                }
            }
        }