Exemplo n.º 1
0
        public new void Unload()
        {
            if (IsWaitingOnAsyncLoadsToFinish)
            {
                FlatRedBallServices.MoveContentManagerToWaitingToUnloadList(this);
            }
            else
            {
#if FRB_XNA || SILVERLIGHT || WINDOWS_PHONE
                base.Unload();
#endif

                this.mAssets.Clear();
                this.mNonDisposableDictionary.Clear();

                foreach (KeyValuePair <string, IDisposable> kvp in mDisposableDictionary)
                {
                    kvp.Value.Dispose();
                }

                foreach (Action unloadMethod in mUnloadMethods.Values)
                {
                    unloadMethod();
                }
                mUnloadMethods.Clear();

                mDisposableDictionary.Clear();
            }
        }