CSPspEmu.PspEmulator.CreateNewContextAndRemoveOldOne C# (CSharp) Method

CreateNewContextAndRemoveOldOne() public method

public CreateNewContextAndRemoveOldOne ( ) : void
return void
        void CreateNewContextAndRemoveOldOne()
        {
            Console.WriteLine("----------------------------------------------");
            // Stops the current context if it has one already.
            if (PspRunner != null)
            {
                PspRunner.StopSynchronized();

                InjectContext.GetInstance<PspMemory>().Dispose();
                InjectContext.GetInstance<GpuImpl>().StopSynchronized();
                InjectContext.GetInstance<PspAudioImpl>().StopSynchronized();

                PspRunner = null;
                _InjectContext.Dispose();
                _InjectContext = null;
                GC.Collect();
            }

            lock (this)
            {

                _InjectContext = PspInjectContext.CreateInjectContext(StoredConfig, Test: false);
                _InjectContext.SetInstanceType<IGuiExternalInterface, PspEmulator>();

                _InjectContext.InjectDependencesTo(this);

                PspRunner.StartSynchronized();
            }

            //GpuImpl.InitSynchronizedOnce();
        }