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

namespace Obi
{
	// Token: 0x020004DB RID: 1243
	[Token(Token = "0x20004DB")]
	public class ObiArbiter
	{
		// Token: 0x14000013 RID: 19
		// (add) Token: 0x06002B92 RID: 11154 RVA: 0x000020D3 File Offset: 0x000002D3
		// (remove) Token: 0x06002B93 RID: 11155 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x14000013")]
		public static event EventHandler OnFrameStart
		{
			[Token(Token = "0x6002B92")]
			[Address(RVA = "0xFFC590", Offset = "0xFFB390", VA = "0x180FFC590")]
			[CompilerGenerated]
			add
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002B93")]
			[Address(RVA = "0xFFC790", Offset = "0xFFB590", VA = "0x180FFC790")]
			[CompilerGenerated]
			remove
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x14000014 RID: 20
		// (add) Token: 0x06002B94 RID: 11156 RVA: 0x000020D3 File Offset: 0x000002D3
		// (remove) Token: 0x06002B95 RID: 11157 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x14000014")]
		public static event EventHandler OnFrameEnd
		{
			[Token(Token = "0x6002B94")]
			[Address(RVA = "0xFFC490", Offset = "0xFFB290", VA = "0x180FFC490")]
			[CompilerGenerated]
			add
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002B95")]
			[Address(RVA = "0xFFC690", Offset = "0xFFB490", VA = "0x180FFC690")]
			[CompilerGenerated]
			remove
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x06002B96 RID: 11158 RVA: 0x0005E0D0 File Offset: 0x0005C2D0
		[Token(Token = "0x6002B96")]
		[Address(RVA = "0xFFBEE0", Offset = "0xFFACE0", VA = "0x180FFBEE0")]
		public static void RegisterSolver(ObiSolver solver)
		{
			int num = 0;
			if (solver != num)
			{
				ObiArbiter.solvers.Add(solver);
				return;
			}
		}

		// Token: 0x06002B97 RID: 11159 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002B97")]
		[Address(RVA = "0xFFBFB0", Offset = "0xFFADB0", VA = "0x180FFBFB0")]
		public static void UnregisterSolver(ObiSolver solver)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002B98 RID: 11160 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002B98")]
		[Address(RVA = "0xFFBD90", Offset = "0xFFAB90", VA = "0x180FFBD90")]
		public static void FrameStart()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002B99 RID: 11161 RVA: 0x0005E0FC File Offset: 0x0005C2FC
		[Token(Token = "0x6002B99")]
		[Address(RVA = "0xFFBD80", Offset = "0xFFAB80", VA = "0x180FFBD80")]
		public static double FrameEnd()
		{
			return Oni.SignalFrameEnd();
		}

		// Token: 0x06002B9A RID: 11162 RVA: 0x0005E110 File Offset: 0x0005C310
		[Token(Token = "0x6002B9A")]
		[Address(RVA = "0xFFBE80", Offset = "0xFFAC80", VA = "0x180FFBE80")]
		public static Oni.ProfileInfo[] GetProfileInfo()
		{
			int profilingInfoCount = Oni.GetProfilingInfoCount();
			Oni.ProfileInfo[] array = new Oni.ProfileInfo[profilingInfoCount];
			Oni.GetProfilingInfo(array, profilingInfoCount);
			return array;
		}

		// Token: 0x06002B9B RID: 11163 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002B9B")]
		[Address(RVA = "0xFFC080", Offset = "0xFFAE80", VA = "0x180FFC080")]
		public static void WaitForAllSolvers()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002B9C RID: 11164 RVA: 0x0005E134 File Offset: 0x0005C334
		[Token(Token = "0x6002B9C")]
		[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
		public ObiArbiter()
		{
		}

		// Token: 0x06002B9D RID: 11165 RVA: 0x000020D3 File Offset: 0x000002D3
		// Note: this type is marked as 'beforefieldinit'.
		[Token(Token = "0x6002B9D")]
		[Address(RVA = "0xFFC3C0", Offset = "0xFFB1C0", VA = "0x180FFC3C0")]
		static ObiArbiter()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003412 RID: 13330
		[Token(Token = "0x4003412")]
		private static List<ObiSolver> solvers;

		// Token: 0x04003413 RID: 13331
		[Token(Token = "0x4003413")]
		private static int solverCounter;

		// Token: 0x04003414 RID: 13332
		[Token(Token = "0x4003414")]
		private static int profileThrottle;

		// Token: 0x04003415 RID: 13333
		[Token(Token = "0x4003415")]
		private static int stepCounter;

		// Token: 0x04003416 RID: 13334
		[Token(Token = "0x4003416")]
		private static bool frameStarted;
	}
}
