Exemple #1
0
        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);
                }
            }
        }
Exemple #2
0
        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;
        }
Exemple #3
0
        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);
        }