dispose method

void dispose()

Implementation

void dispose(){
  if(_disposed) return;
  _disposed = true;
  _debounceTimer?.cancel(); // Cancel timer if active
  _debounceTimer = null;
  WidgetsBinding.instance.removeObserver(this);
  ticker?.dispose();
  ticker = null;
  renderer?.dispose();
  renderer = null;
  renderTarget?.dispose();
  renderTarget = null;
  scene.dispose();
  for(final event in disposeEvents){
    event.call();
  }

  camera.dispose();
  events.clear();
  disposeEvents.clear();

  allNativeData.dispose();

  angle?.dispose([texture]);
  loadingWidget = null;
  _fixedSize = null;
  screenSize = null;

  rendererUpdate = null;
  windowResizeUpdate = null;
  postProcessor = null;
  setup = null;
}