internal void Add(Entity e)
{
//Don't need to lock since the parent manager handles it.
if (states.Length <= e.BufferedStates.motionStateIndex)
{
var newStates = new RigidTransform[states.Length * 2];
states.CopyTo(newStates, 0);
states = newStates;
}
states[e.BufferedStates.motionStateIndex].Position = e.position;
states[e.BufferedStates.motionStateIndex].Orientation = e.orientation;
if (backBuffer.Length <= e.BufferedStates.motionStateIndex)
{
var newStates = new RigidTransform[backBuffer.Length * 2];
backBuffer.CopyTo(newStates, 0);
backBuffer = newStates;
}
backBuffer[e.BufferedStates.motionStateIndex].Position = e.position;
backBuffer[e.BufferedStates.motionStateIndex].Orientation = e.orientation;
}