From d1f96ed3b89a5d154bfb69ff8c1a193e670e8f12 Mon Sep 17 00:00:00 2001 From: alexiscatnip Date: Tue, 19 Jul 2022 01:04:55 +0800 Subject: [PATCH] refactor: remove some reactive code --- Assets/Raindrop/Connectivity/connectivityUI.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Assets/Raindrop/Connectivity/connectivityUI.cs b/Assets/Raindrop/Connectivity/connectivityUI.cs index 04bcf78..2dc863f 100644 --- a/Assets/Raindrop/Connectivity/connectivityUI.cs +++ b/Assets/Raindrop/Connectivity/connectivityUI.cs @@ -14,7 +14,6 @@ using Logger = OpenMetaverse.Logger; [RequireComponent(typeof(Image))] public class connectivityUI : MonoBehaviour { - private ReactiveProperty isConnected = new ReactiveProperty(); private RaindropInstance instance => ServiceLocator.Instance.Get(); void Start() @@ -22,13 +21,16 @@ public class connectivityUI : MonoBehaviour if (instance == null || instance.Netcom == null) Logger.Log("raindrop instance/netcom not available", Helpers.LogLevel.Error); - isConnected.AsObservable().Subscribe(_ => updateConnectivityUI(_)); - isConnected.Value = instance.Netcom.IsLoggedIn; // wtf. - instance.Netcom.ClientLoginStatus += NetcomOnClientLoginStatus; instance.Netcom.ClientLoggedOut += NetcomOnClientLoggedOut; } + private void OnDestroy() + { + instance.Netcom.ClientLoginStatus -= NetcomOnClientLoginStatus; + instance.Netcom.ClientLoggedOut -= NetcomOnClientLoggedOut; + } + private void updateConnectivityUI(bool isConnected) { if (! isConnected) @@ -44,18 +46,18 @@ public class connectivityUI : MonoBehaviour #region Subscribe to backend connectivity events private void NetcomOnClientLoggedOut(object sender, EventArgs e) { - isConnected.Value = false; + updateConnectivityUI(false); } private void NetcomOnClientLoginStatus(object sender, LoginProgressEventArgs e) { if (e.Status == LoginStatus.Success) - { - isConnected.Value = true; + { + updateConnectivityUI(true); } else if (e.Status == LoginStatus.Failed) { - isConnected.Value = false; + updateConnectivityUI(false); } } #endregion