public void EarlySimulate() { if (HasParent) { return; } if (VelocityChanged) { VelocityFastMagnitude = Velocity.FastMagnitude(); VelocityChanged = false; } if (VelocityFastMagnitude != 0) { Position.x += Velocity.x; Position.y += Velocity.y; PositionChanged = true; } if (PositionChanged) { Partition.UpdateObject(this); } if (RotationChanged) { } else { } }