diff --git a/Assets/Plugins/Cryville.Input.Unity.Builtin/UnityGuiInputHandler.cs b/Assets/Plugins/Cryville.Input.Unity.Builtin/UnityGuiInputHandler.cs
index ce4fdc1..2f7ef3f 100644
--- a/Assets/Plugins/Cryville.Input.Unity.Builtin/UnityGuiInputHandler.cs
+++ b/Assets/Plugins/Cryville.Input.Unity.Builtin/UnityGuiInputHandler.cs
@@ -8,25 +8,27 @@ namespace Cryville.Input.Unity {
///
/// The GUI event receiver type.
public class UnityGuiInputHandler : InputHandler where T : UnityGuiEventReceiver {
- GameObject _receiver;
- T _recvComp;
+ readonly GameObject _receiver;
+ readonly T _recvComp;
///
/// Creates an instance of the class.
///
- public UnityGuiInputHandler() { }
-
- ///
- protected override void Activate() {
+ public UnityGuiInputHandler() {
_receiver = new GameObject("__guiRecv__");
_recvComp = _receiver.AddComponent();
_recvComp.SetFeedCallback(Feed);
_recvComp.SetBatchCallback(Batch);
}
+ ///
+ protected override void Activate() {
+ _recvComp.enabled = true;
+ }
+
///
protected override void Deactivate() {
- if (_receiver) GameObject.Destroy(_receiver);
+ if (_recvComp) _recvComp.enabled = false;
}
///