diff --git a/Assets/Raindrop/UI/Game/GamePresenter.cs b/Assets/Raindrop/UI/Game/GamePresenter.cs index 37bbc63..b46e1a6 100644 --- a/Assets/Raindrop/UI/Game/GamePresenter.cs +++ b/Assets/Raindrop/UI/Game/GamePresenter.cs @@ -61,6 +61,11 @@ namespace Raindrop.Presenters usernameText.text = client.Self.Name; } + private void OnApplicationQuit() + { + client.Network.SimConnected -= Network_SimConnected; + } + //its too late bro, the UI is started only after connected to sim has occured. private void Network_SimConnected(object sender, SimConnectedEventArgs e) { diff --git a/Assets/Raindrop/Unity3D/AgentPresenter.cs b/Assets/Raindrop/Unity3D/AgentPresenter.cs index be76089..47c3432 100644 --- a/Assets/Raindrop/Unity3D/AgentPresenter.cs +++ b/Assets/Raindrop/Unity3D/AgentPresenter.cs @@ -1,3 +1,4 @@ +using System; using OpenMetaverse; using Raindrop.Rendering; using System.Collections.Generic; @@ -36,7 +37,13 @@ namespace Raindrop.Presenters instance.Client.Objects.TerseObjectUpdate += ObjectsOnTerseObjectUpdate; } - + private void OnApplicationQuit() + { + instance.Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + instance.Client.Objects.TerseObjectUpdate -= ObjectsOnTerseObjectUpdate; + } + + private void ObjectsOnTerseObjectUpdate(object sender, TerseObjectUpdateEventArgs e) { if (e.Simulator != instance.Client.Network.CurrentSim)