removeScene method

E removeScene(
  1. Scene<T> scene
)

Implementation

E removeScene(Scene<T> scene) {
  emit(EventSceneRemoving(app, scene));

  if (!_doOnBeforeSceneRemove(scene)) {
    emit(EventSceneRemoveCancelled(app, scene));
    return self;
  }

  if (!scene._doOnBeforeRemove()) {
    emit(EventSceneRemoveCancelled(app, scene));
    return self;
  }

  _doOnSceneRemove(scene);
  scene._doRemove();
  _scenes.remove(scene);

  scene._doOnAfterRemove();
  _doOnAfterSceneRemove(scene);
  emit(EventSceneRemoved(app, scene));
  return self;
}