private WindowTransitionEffectSignal transitionEffectSignal;
private KeyboardRepeatSettingsChangedEventCallbackType keyboardRepeatSettingsChangedEventCallback;
private KeyboardRepeatSettingsChangedSignal keyboardRepeatSettingsChangedSignal;
- private WindowFocusSignalType windowFocusChangedSignal;
- private WindowFocusSignalType windowFocusChangedSignal2;
- private TouchDataSignal touchDataSignal;
- private TouchSignal touchSignal;
- private WheelSignal wheelSignal;
- private StageWheelSignal stageWheelSignal;
- private KeyEventSignal keyEventSignal;
- private VoidSignal sceneCreatedSignal;
- private ResizeSignal resizeSignal;
- private VoidSignal eventProcessingFinishedSignal;
- private VoidSignal contextLostSignal;
- private VoidSignal contextRegainedSignal;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
private delegate void WindowFocusChangedEventCallbackType(IntPtr window, bool focusGained);
if (windowFocusChangedEventHandler == null)
{
windowFocusChangedEventCallback = OnWindowFocusedChanged;
- windowFocusChangedSignal = WindowFocusChangedSignal();
+ using WindowFocusSignalType windowFocusChangedSignal = WindowFocusChangedSignal();
windowFocusChangedSignal?.Connect(windowFocusChangedEventCallback);
}
{
windowFocusChangedEventHandler -= value;
+ using WindowFocusSignalType windowFocusChangedSignal = WindowFocusChangedSignal();
if (windowFocusChangedEventHandler == null && windowFocusChangedSignal?.Empty() == false && windowFocusChangedEventCallback != null)
{
windowFocusChangedSignal?.Disconnect(windowFocusChangedEventCallback);
if (rootLayerTouchDataEventHandler == null)
{
rootLayerTouchDataCallback = OnWindowTouch;
- touchDataSignal = this.TouchDataSignal();
+ using TouchDataSignal touchDataSignal = this.TouchDataSignal();
touchDataSignal?.Connect(rootLayerTouchDataCallback);
}
rootLayerTouchDataEventHandler += value;
remove
{
rootLayerTouchDataEventHandler -= value;
- touchSignal = TouchSignal();
- if (rootLayerTouchDataEventHandler == null && touchSignal?.Empty() == false && rootLayerTouchDataCallback != null)
+ using TouchDataSignal touchDataSignal = this.TouchDataSignal();
+ if (rootLayerTouchDataEventHandler == null && touchDataSignal?.Empty() == false && rootLayerTouchDataCallback != null)
{
touchDataSignal?.Disconnect(rootLayerTouchDataCallback);
}
if (stageWheelHandler == null)
{
wheelEventCallback = OnStageWheel;
- wheelSignal = WheelEventSignal();
+ using WheelSignal wheelSignal = WheelEventSignal();
wheelSignal?.Connect(wheelEventCallback);
}
stageWheelHandler += value;
if (DetentEventHandler == null)
{
DetentEventCallback = OnDetentEvent;
- stageWheelSignal = StageWheelEventSignal();
+ using StageWheelSignal stageWheelSignal = StageWheelEventSignal();
stageWheelSignal?.Connect(DetentEventCallback);
}
DetentEventHandler += value;
remove
{
stageWheelHandler -= value;
+ using WheelSignal wheelSignal = WheelEventSignal();
if (stageWheelHandler == null && wheelSignal?.Empty() == false)
{
wheelSignal?.Disconnect(wheelEventCallback);
}
DetentEventHandler -= value;
+ using StageWheelSignal stageWheelSignal = StageWheelEventSignal();
if (DetentEventHandler == null && stageWheelSignal?.Empty() == false)
{
stageWheelSignal?.Disconnect(DetentEventCallback);
if (stageKeyHandler == null)
{
stageKeyCallbackDelegate = OnStageKey;
- keyEventSignal = KeyEventSignal();
+ using KeyEventSignal keyEventSignal = KeyEventSignal();
keyEventSignal?.Connect(stageKeyCallbackDelegate);
}
stageKeyHandler += value;
remove
{
stageKeyHandler -= value;
+ using KeyEventSignal keyEventSignal = KeyEventSignal();
if (stageKeyHandler == null && keyEventSignal?.Empty() == false)
{
keyEventSignal?.Disconnect(stageKeyCallbackDelegate);
if (windowResizeEventHandler == null)
{
windowResizeEventCallback = OnResized;
- resizeSignal = ResizeSignal();
+ using ResizeSignal resizeSignal = ResizeSignal();
resizeSignal?.Connect(windowResizeEventCallback);
}
{
windowResizeEventHandler -= value;
+ using ResizeSignal resizeSignal = ResizeSignal();
if (windowResizeEventHandler == null && resizeSignal?.Empty() == false && windowResizeEventCallback != null)
{
resizeSignal?.Disconnect(windowResizeEventCallback);
if (windowFocusChangedEventHandler2 == null)
{
windowFocusChangedEventCallback2 = OnWindowFocusedChanged2;
- windowFocusChangedSignal2 = WindowFocusChangedSignal();
+ using WindowFocusSignalType windowFocusChangedSignal2 = WindowFocusChangedSignal();
windowFocusChangedSignal2?.Connect(windowFocusChangedEventCallback2);
}
{
windowFocusChangedEventHandler2 -= value;
+ using WindowFocusSignalType windowFocusChangedSignal2 = WindowFocusChangedSignal();
if (windowFocusChangedEventHandler2 == null && windowFocusChangedSignal2?.Empty() == false && windowFocusChangedEventCallback2 != null)
{
windowFocusChangedSignal2?.Disconnect(windowFocusChangedEventCallback2);
if (stageEventProcessingFinishedEventHandler == null)
{
stageEventProcessingFinishedEventCallbackDelegate = OnEventProcessingFinished;
- eventProcessingFinishedSignal = EventProcessingFinishedSignal();
+ using VoidSignal eventProcessingFinishedSignal = EventProcessingFinishedSignal();
eventProcessingFinishedSignal?.Connect(stageEventProcessingFinishedEventCallbackDelegate);
}
stageEventProcessingFinishedEventHandler += value;
remove
{
stageEventProcessingFinishedEventHandler -= value;
+
+ using VoidSignal eventProcessingFinishedSignal = EventProcessingFinishedSignal();
if (stageEventProcessingFinishedEventHandler == null && eventProcessingFinishedSignal?.Empty() == false)
{
eventProcessingFinishedSignal?.Disconnect(stageEventProcessingFinishedEventCallbackDelegate);
if (stageContextLostEventHandler == null)
{
stageContextLostEventCallbackDelegate = OnContextLost;
- contextLostSignal = ContextLostSignal();
+ using VoidSignal contextLostSignal = ContextLostSignal();
contextLostSignal?.Connect(stageContextLostEventCallbackDelegate);
}
stageContextLostEventHandler += value;
remove
{
stageContextLostEventHandler -= value;
+
+ using VoidSignal contextLostSignal = ContextLostSignal();
if (stageContextLostEventHandler == null && contextLostSignal?.Empty() == false)
{
contextLostSignal?.Disconnect(stageContextLostEventCallbackDelegate);
if (stageContextRegainedEventHandler == null)
{
stageContextRegainedEventCallbackDelegate = OnContextRegained;
- contextRegainedSignal = ContextRegainedSignal();
+ using VoidSignal contextRegainedSignal = ContextRegainedSignal();
contextRegainedSignal?.Connect(stageContextRegainedEventCallbackDelegate);
}
stageContextRegainedEventHandler += value;
remove
{
stageContextRegainedEventHandler -= value;
+
+ using VoidSignal contextRegainedSignal = ContextRegainedSignal();
if (stageContextRegainedEventHandler == null && contextRegainedSignal?.Empty() == false)
{
contextRegainedSignal?.Disconnect(stageContextRegainedEventCallbackDelegate);
if (stageSceneCreatedEventHandler == null)
{
stageSceneCreatedEventCallbackDelegate = OnSceneCreated;
- sceneCreatedSignal = SceneCreatedSignal();
+ using VoidSignal sceneCreatedSignal = SceneCreatedSignal();
sceneCreatedSignal?.Connect(stageSceneCreatedEventCallbackDelegate);
}
stageSceneCreatedEventHandler += value;
remove
{
stageSceneCreatedEventHandler -= value;
+
+ using VoidSignal sceneCreatedSignal = SceneCreatedSignal();
if (stageSceneCreatedEventHandler == null && sceneCreatedSignal?.Empty() == false)
{
sceneCreatedSignal?.Disconnect(stageSceneCreatedEventCallbackDelegate);
{
if (windowFocusChangedEventCallback != null)
{
- windowFocusChangedSignal?.Disconnect(windowFocusChangedEventCallback);
- windowFocusChangedEventCallback = null;
+ using WindowFocusSignalType windowFocusChangedSignal = WindowFocusChangedSignal();
+ if( windowFocusChangedSignal?.Empty() == false )
+ {
+ windowFocusChangedSignal?.Disconnect(windowFocusChangedEventCallback);
+ windowFocusChangedEventCallback = null;
+ }
}
if (rootLayerTouchDataCallback != null)
{
- touchDataSignal?.Disconnect(rootLayerTouchDataCallback);
- touchDataSignal = null;
+ using TouchDataSignal touchDataSignal = TouchDataSignal();
+ if( touchDataSignal?.Empty() == false )
+ {
+ touchDataSignal?.Disconnect(rootLayerTouchDataCallback);
+ }
}
if (wheelEventCallback != null)
{
- wheelSignal?.Disconnect(wheelEventCallback);
- wheelSignal = null;
+ using WheelSignal wheelSignal = WheelEventSignal();
+ if( wheelSignal?.Empty() == false )
+ {
+ wheelSignal?.Disconnect(wheelEventCallback);
+ }
}
if (DetentEventCallback != null)
{
- stageWheelSignal?.Disconnect(DetentEventCallback);
- DetentEventCallback = null;
+ using StageWheelSignal stageWheelSignal = StageWheelEventSignal();
+ if( stageWheelSignal?.Empty() == false )
+ {
+ stageWheelSignal?.Disconnect(DetentEventCallback);
+ DetentEventCallback = null;
+ }
}
if (stageKeyCallbackDelegate != null)
{
- keyEventSignal?.Disconnect(stageKeyCallbackDelegate);
- stageKeyCallbackDelegate = null;
+ using KeyEventSignal keyEventSignal = KeyEventSignal();
+ if( keyEventSignal?.Empty() == false )
+ {
+ keyEventSignal?.Disconnect(stageKeyCallbackDelegate);
+ stageKeyCallbackDelegate = null;
+ }
}
if (stageEventProcessingFinishedEventCallbackDelegate != null)
{
- eventProcessingFinishedSignal?.Disconnect(stageEventProcessingFinishedEventCallbackDelegate);
- stageEventProcessingFinishedEventCallbackDelegate = null;
+ using VoidSignal eventProcessingFinishedSignal = EventProcessingFinishedSignal();
+ if( eventProcessingFinishedSignal?.Empty() == false )
+ {
+ eventProcessingFinishedSignal?.Disconnect(stageEventProcessingFinishedEventCallbackDelegate);
+ stageEventProcessingFinishedEventCallbackDelegate = null;
+ }
}
if (stageContextLostEventCallbackDelegate != null)
{
- contextLostSignal?.Disconnect(stageContextLostEventCallbackDelegate);
- stageContextLostEventCallbackDelegate= null;
+ using VoidSignal contextLostSignal = ContextLostSignal();
+ if( contextLostSignal?.Empty() == false )
+ {
+ contextLostSignal?.Disconnect(stageContextLostEventCallbackDelegate);
+ stageContextLostEventCallbackDelegate= null;
+ }
}
if (stageContextRegainedEventCallbackDelegate != null)
{
- contextRegainedSignal?.Disconnect(stageContextRegainedEventCallbackDelegate);
- stageContextRegainedEventCallbackDelegate = null;
+ using VoidSignal contextRegainedSignal = ContextRegainedSignal();
+ if( contextRegainedSignal?.Empty() == false )
+ {
+ contextRegainedSignal?.Disconnect(stageContextRegainedEventCallbackDelegate);
+ stageContextRegainedEventCallbackDelegate = null;
+ }
}
if (stageSceneCreatedEventCallbackDelegate != null)
{
- sceneCreatedSignal?.Disconnect(stageSceneCreatedEventCallbackDelegate);
- stageSceneCreatedEventCallbackDelegate = null;
+ using VoidSignal sceneCreatedSignal = SceneCreatedSignal();
+ if( sceneCreatedSignal?.Empty() == false )
+ {
+ sceneCreatedSignal?.Disconnect(stageSceneCreatedEventCallbackDelegate);
+ stageSceneCreatedEventCallbackDelegate = null;
+ }
}
if (windowResizeEventCallback != null)
{
- resizeSignal?.Disconnect(windowResizeEventCallback);
- windowResizeEventCallback = null;
+ using ResizeSignal resizeSignal = ResizeSignal();
+ if( resizeSignal?.Empty() == false )
+ {
+ resizeSignal?.Disconnect(windowResizeEventCallback);
+ windowResizeEventCallback = null;
+ }
}
if (windowFocusChangedEventCallback2 != null)
{
- windowFocusChangedSignal2?.Disconnect(windowFocusChangedEventCallback2);
- windowFocusChangedEventCallback2 = null;
+ using WindowFocusSignalType windowFocusChangedSignal2 = WindowFocusChangedSignal();
+ if( windowFocusChangedSignal2?.Empty() == false )
+ {
+ windowFocusChangedSignal2?.Disconnect(windowFocusChangedEventCallback2);
+ windowFocusChangedEventCallback2 = null;
+ }
}
if (transitionEffectSignal != null)