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