public void Dispose() { if (wasDisposed || Kernel.applicationQuitting || this == null) { return; } wasDisposed = true; Disposables.Dispose(); OnDispose(); OnDisposing.Execute(); OnDisposing.Dispose(); OnDisposing = null; //If an error is thrown here, you are trying to dispose a model that was not bound. This should never happen/you should always bind your models and this comment is just here so you know whats wrong :) //_dManager.Remove(this); //If an error is thrown here, you are trying to dispose a model that was not bound. This should never happen/you should always bind your models and this comment is just here so you know whats wrong :) try { _dManager.Remove(this); } catch (Exception e) { if (!skipWarning) // sry, but I have some cases(in my NPC-Nodes) where I have a Model but unbound. I shouldn't have used MVC-Model in the first place.... { UnityEngine.Debug.LogError("Tried to dispose unbound MVC-Model:" + GetType().ToString()); UnityEngine.Debug.LogException(e); } } }
public void Dispose() { if (wasDisposed || Kernel.applicationQuitting) { return; } wasDisposed = true; OnDispose(); //Tell subscribers that controller is disposing OnDisposing.Execute(); OnDisposing.Dispose(); OnDisposing = null; Disposables.Dispose(); controllerEventsSubject.Dispose(); controllerEventsSubject = null; viewEventsSubject.Dispose(); viewEventsSubject = null; Model = null; Container = null; _eventService = null; _dManager = null; ModelProperty.Dispose(); ModelProperty = null; }
public void Dispose() { if (wasDisposed || Kernel.applicationQuitting || this == null) { return; } wasDisposed = true; Disposables.Dispose(); DisposablesProperty.Dispose(); DisposablesProperty = null; OnDispose(); OnDisposing.Execute(); OnDisposing.Dispose(); OnDisposing = null; OnAfterBind.Dispose(); OnAfterBind = null; _dManager.Remove(this); }