using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;

namespace Obi
{
	// Token: 0x02000533 RID: 1331
	[Token(Token = "0x2000533")]
	public class ObiArbiter
	{
		// Token: 0x14000013 RID: 19
		// (add) Token: 0x06002E5B RID: 11867 RVA: 0x000020D3 File Offset: 0x000002D3
		// (remove) Token: 0x06002E5C RID: 11868 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x14000013")]
		public static event EventHandler OnFrameStart
		{
			[Token(Token = "0x6002E5B")]
			[Address(RVA = "0x108F8C0", Offset = "0x108E8C0", VA = "0x18108F8C0")]
			[CompilerGenerated]
			add
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002E5C")]
			[Address(RVA = "0x108FAC0", Offset = "0x108EAC0", VA = "0x18108FAC0")]
			[CompilerGenerated]
			remove
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x14000014 RID: 20
		// (add) Token: 0x06002E5D RID: 11869 RVA: 0x000020D3 File Offset: 0x000002D3
		// (remove) Token: 0x06002E5E RID: 11870 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x14000014")]
		public static event EventHandler OnFrameEnd
		{
			[Token(Token = "0x6002E5D")]
			[Address(RVA = "0x108F7C0", Offset = "0x108E7C0", VA = "0x18108F7C0")]
			[CompilerGenerated]
			add
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002E5E")]
			[Address(RVA = "0x108F9C0", Offset = "0x108E9C0", VA = "0x18108F9C0")]
			[CompilerGenerated]
			remove
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x06002E5F RID: 11871 RVA: 0x00065368 File Offset: 0x00063568
		[Token(Token = "0x6002E5F")]
		[Address(RVA = "0x108F210", Offset = "0x108E210", VA = "0x18108F210")]
		public static void RegisterSolver(ObiSolver solver)
		{
			int num = 0;
			if (solver != num)
			{
				ObiArbiter.solvers.Add(solver);
				return;
			}
		}

		// Token: 0x06002E60 RID: 11872 RVA: 0x00065394 File Offset: 0x00063594
		[Token(Token = "0x6002E60")]
		[Address(RVA = "0x108F2E0", Offset = "0x108E2E0", VA = "0x18108F2E0")]
		public static void UnregisterSolver(ObiSolver solver)
		{
			int num = 0;
			if (solver != num)
			{
				bool flag = ObiArbiter.solvers.Remove(solver);
				return;
			}
		}

		// Token: 0x06002E61 RID: 11873 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002E61")]
		[Address(RVA = "0x108F0C0", Offset = "0x108E0C0", VA = "0x18108F0C0")]
		public static void FrameStart()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002E62 RID: 11874 RVA: 0x000653C0 File Offset: 0x000635C0
		[Token(Token = "0x6002E62")]
		[Address(RVA = "0x108F0B0", Offset = "0x108E0B0", VA = "0x18108F0B0")]
		public static double FrameEnd()
		{
			return Oni.SignalFrameEnd();
		}

		// Token: 0x06002E63 RID: 11875 RVA: 0x000653D4 File Offset: 0x000635D4
		[Token(Token = "0x6002E63")]
		[Address(RVA = "0x108F1B0", Offset = "0x108E1B0", VA = "0x18108F1B0")]
		public static Oni.ProfileInfo[] GetProfileInfo()
		{
			int profilingInfoCount = Oni.GetProfilingInfoCount();
			Oni.ProfileInfo[] array = new Oni.ProfileInfo[profilingInfoCount];
			Oni.GetProfilingInfo(array, profilingInfoCount);
			return array;
		}

		// Token: 0x06002E64 RID: 11876 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002E64")]
		[Address(RVA = "0x108F3B0", Offset = "0x108E3B0", VA = "0x18108F3B0")]
		public static void WaitForAllSolvers()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002E65 RID: 11877 RVA: 0x000653F8 File Offset: 0x000635F8
		[Token(Token = "0x6002E65")]
		[Address(RVA = "0x36ABD0", Offset = "0x369BD0", VA = "0x18036ABD0")]
		public ObiArbiter()
		{
		}

		// Token: 0x06002E66 RID: 11878 RVA: 0x000020D3 File Offset: 0x000002D3
		// Note: this type is marked as 'beforefieldinit'.
		[Token(Token = "0x6002E66")]
		[Address(RVA = "0x108F6F0", Offset = "0x108E6F0", VA = "0x18108F6F0")]
		static ObiArbiter()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x040036FC RID: 14076
		[Token(Token = "0x40036FC")]
		private static List<ObiSolver> solvers;

		// Token: 0x040036FD RID: 14077
		[Token(Token = "0x40036FD")]
		private static int solverCounter;

		// Token: 0x040036FE RID: 14078
		[Token(Token = "0x40036FE")]
		private static int profileThrottle;

		// Token: 0x040036FF RID: 14079
		[Token(Token = "0x40036FF")]
		private static int stepCounter;

		// Token: 0x04003700 RID: 14080
		[Token(Token = "0x4003700")]
		private static bool frameStarted;
	}
}
