protected override void AfterPhysics(float delta)
{
var world = LookupSystem<Midgard>();
foreach (var body in world.BodyList)
{
var entity = body.UserData as Entity;
if (entity != null)
{
var netSnycObj = entity.GetComponent<NetPhysicsObject>();
if (netSnycObj != null)
{
uint simTick = NetTime.SimTick;
var playerObj = entity.GetComponent<PlayerComponent>();
if (playerObj != null && playerObj.CurrentState != null)
{
simTick = playerObj.CurrentState.SimTick;
}
netSnycObj.Position = body.Position;
netSnycObj.LinearVelocity = body.LinearVelocity;
netSnycObj.Rotation = body.Rotation;
netSnycObj.SimTick = simTick;
}
var playerComp = entity.GetComponent<PlayerComponent>();
if (playerComp != null)
{
playerComp.RenderPosition = body.Position;
playerComp.RenderRotation = body.Rotation;
}
}
}
}