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; }