onSessionEnd method
void
onSessionEnd()
Implementation
void onSessionEnd() {
session?.removeEventListener( 'select', onSessionEvent.jsify() );
session?.removeEventListener( 'selectstart', onSessionEvent.jsify() );
session?.removeEventListener( 'selectend', onSessionEvent.jsify() );
session?.removeEventListener( 'squeeze', onSessionEvent.jsify() );
session?.removeEventListener( 'squeezestart', onSessionEvent.jsify() );
session?.removeEventListener( 'squeezeend', onSessionEvent.jsify() );
session?.removeEventListener( 'end', onSessionEnd.jsify() );
session?.removeEventListener( 'inputsourceschange', onInputSourcesChange.jsify() );
for ( int i = 0; i < controllers.length; i ++ ) {
final inputSource = controllerInputSources[ i ];
if ( inputSource == null ) continue;
controllerInputSources[ i ] = null;
controllers[ i ]?.disconnect( inputSource );
}
_currentDepthNear = null;
_currentDepthFar = null;
depthSensing.reset();
// restore framebuffer/rendering state
renderer.setRenderTarget( initialRenderTarget );
glBaseLayer = null;
glProjLayer = null;
glBinding = null;
session = null;
newRenderTarget = null;
//
animation.stop();
isPresenting = false;
renderer.setPixelRatio( currentPixelRatio ?? 1.0 );
renderer.setSize( currentSize.width, currentSize.height, false );
dispatchEvent(Event(type: 'sessionend'));
}