update method

  1. @override
void update(
  1. double deltaTime
)
override

Update the system

Implementation

@override
void update(double deltaTime) {
  if (_physics?.isDisposed ?? false) return;
  _refresh();
  // Nothing 3-D yet: no world to make, step or read.
  if (_physics == null && _bodies.isEmpty && _characters.isEmpty) return;
  _syncBodies(deltaTime);
  _syncJoints();
  if (deltaTime > 0) _moveCharacters(deltaTime);
  if (deltaTime > 0) {
    physics.step(
      deltaTime,
      collisionSteps: math.max(1, (deltaTime / collisionStep - 1e-6).ceil()),
    );
    _stepIndex++;
  }
  _readBack();
  _dispatchEvents(deltaTime > 0);
}