Inheritance: IDisposable
Beispiel #1
0
        public HleThread(PspEmulatorContext PspEmulatorContext, CpuThreadState CpuThreadState)
        {
            this.HleInterruptManager = PspEmulatorContext.GetInstance<HleInterruptManager>();
            this.HleThreadManager = PspEmulatorContext.GetInstance<HleThreadManager>();
            this.MethodCache = CpuThreadState.CpuProcessor.MethodCache;
            this.PspConfig = CpuThreadState.CpuProcessor.PspConfig;

            if (this.PspConfig.UseCoRoutines)
            {
                this.Coroutine = HleThreadManager.Processor.CoroutinePool.CreateCoroutine(this.Name, MainLoop);
            }
            else
            {
                this.GreenThread = new GreenThread();
                GreenThread.InitAndStartStopped(MainLoop);
            }

            this.CpuThreadState = CpuThreadState;
        }
        public HleThread(InjectContext InjectContext, CpuThreadState CpuThreadState)
        {
            InjectContext.InjectDependencesTo(this);
            //this.PspConfig = CpuThreadState.CpuProcessor.CpuConfig;

            if (this.HleConfig.UseCoRoutines)
            {
                this.Coroutine = HleThreadManager.CoroutinePool.CreateCoroutine(this.Name, MainLoop);
            }
            else
            {
                this.GreenThread = new GreenThread();
                GreenThread.InitAndStartStopped(MainLoop);
            }

            this.CpuThreadState = CpuThreadState;
        }