using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;

namespace Obi
{
	// Token: 0x020004EA RID: 1258
	public class ObiArbiter : Object
	{
		// Token: 0x06008FEC RID: 36844 RVA: 0x0025056C File Offset: 0x0024E76C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611538, XrefRangeEnd = 611549, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static void add_OnFrameStart(EventHandler value)
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(value);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr_add_OnFrameStart_Public_Static_add_Void_EventHandler_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008FED RID: 36845 RVA: 0x002505B8 File Offset: 0x0024E7B8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611549, XrefRangeEnd = 611560, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static void remove_OnFrameStart(EventHandler value)
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(value);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr_remove_OnFrameStart_Public_Static_rem_Void_EventHandler_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008FEE RID: 36846 RVA: 0x00250604 File Offset: 0x0024E804
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611560, XrefRangeEnd = 611571, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static void add_OnFrameEnd(EventHandler value)
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(value);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr_add_OnFrameEnd_Public_Static_add_Void_EventHandler_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008FEF RID: 36847 RVA: 0x00250650 File Offset: 0x0024E850
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611571, XrefRangeEnd = 611582, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static void remove_OnFrameEnd(EventHandler value)
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(value);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr_remove_OnFrameEnd_Public_Static_rem_Void_EventHandler_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008FF0 RID: 36848 RVA: 0x0025069C File Offset: 0x0024E89C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 611593, RefRangeEnd = 611594, XrefRangeStart = 611582, XrefRangeEnd = 611593, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static void RegisterSolver(ObiSolver solver)
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr_RegisterSolver_Public_Static_Void_ObiSolver_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008FF1 RID: 36849 RVA: 0x002506E8 File Offset: 0x0024E8E8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 611605, RefRangeEnd = 611606, XrefRangeStart = 611594, XrefRangeEnd = 611605, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static void UnregisterSolver(ObiSolver solver)
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr_UnregisterSolver_Public_Static_Void_ObiSolver_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008FF2 RID: 36850 RVA: 0x00250734 File Offset: 0x0024E934
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 611617, RefRangeEnd = 611618, XrefRangeStart = 611606, XrefRangeEnd = 611617, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static void FrameStart()
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr_FrameStart_Public_Static_Void_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008FF3 RID: 36851 RVA: 0x00250768 File Offset: 0x0024E968
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611618, XrefRangeEnd = 611619, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static double FrameEnd()
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr_FrameEnd_Public_Static_Double_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06008FF4 RID: 36852 RVA: 0x002507AC File Offset: 0x0024E9AC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 611619, XrefRangeEnd = 611624, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static Il2CppReferenceArray<Oni.ProfileInfo> GetProfileInfo()
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr_GetProfileInfo_Public_Static_Il2CppReferenceArray_1_ProfileInfo_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new Il2CppReferenceArray<Oni.ProfileInfo>(intPtr3) : null;
		}

		// Token: 0x06008FF5 RID: 36853 RVA: 0x002507F4 File Offset: 0x0024E9F4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 611674, RefRangeEnd = 611675, XrefRangeStart = 611624, XrefRangeEnd = 611674, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static void WaitForAllSolvers()
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr_WaitForAllSolvers_Public_Static_Void_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008FF6 RID: 36854 RVA: 0x00250828 File Offset: 0x0024EA28
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiArbiter()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiArbiter.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008FF7 RID: 36855 RVA: 0x00250874 File Offset: 0x0024EA74
		// Note: this type is marked as 'beforefieldinit'.
		static ObiArbiter()
		{
			Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiArbiter");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr);
			ObiArbiter.NativeFieldInfoPtr_solvers = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, "solvers");
			ObiArbiter.NativeFieldInfoPtr_solverCounter = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, "solverCounter");
			ObiArbiter.NativeFieldInfoPtr_profileThrottle = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, "profileThrottle");
			ObiArbiter.NativeFieldInfoPtr_stepCounter = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, "stepCounter");
			ObiArbiter.NativeFieldInfoPtr_frameStarted = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, "frameStarted");
			ObiArbiter.NativeFieldInfoPtr_OnFrameStart = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, "OnFrameStart");
			ObiArbiter.NativeFieldInfoPtr_OnFrameEnd = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, "OnFrameEnd");
			ObiArbiter.NativeMethodInfoPtr_add_OnFrameStart_Public_Static_add_Void_EventHandler_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674450);
			ObiArbiter.NativeMethodInfoPtr_remove_OnFrameStart_Public_Static_rem_Void_EventHandler_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674451);
			ObiArbiter.NativeMethodInfoPtr_add_OnFrameEnd_Public_Static_add_Void_EventHandler_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674452);
			ObiArbiter.NativeMethodInfoPtr_remove_OnFrameEnd_Public_Static_rem_Void_EventHandler_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674453);
			ObiArbiter.NativeMethodInfoPtr_RegisterSolver_Public_Static_Void_ObiSolver_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674454);
			ObiArbiter.NativeMethodInfoPtr_UnregisterSolver_Public_Static_Void_ObiSolver_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674455);
			ObiArbiter.NativeMethodInfoPtr_FrameStart_Public_Static_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674456);
			ObiArbiter.NativeMethodInfoPtr_FrameEnd_Public_Static_Double_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674457);
			ObiArbiter.NativeMethodInfoPtr_GetProfileInfo_Public_Static_Il2CppReferenceArray_1_ProfileInfo_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674458);
			ObiArbiter.NativeMethodInfoPtr_WaitForAllSolvers_Public_Static_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674459);
			ObiArbiter.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100674460);
		}

		// Token: 0x06008FF8 RID: 36856 RVA: 0x0000A688 File Offset: 0x00008888
		public ObiArbiter(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170030D3 RID: 12499
		// (get) Token: 0x06008FF9 RID: 36857 RVA: 0x00250A0C File Offset: 0x0024EC0C
		// (set) Token: 0x06008FFA RID: 36858 RVA: 0x00250A37 File Offset: 0x0024EC37
		public unsafe static List<ObiSolver> solvers
		{
			get
			{
				IntPtr intPtr;
				IL2CPP.il2cpp_field_static_get_value(ObiArbiter.NativeFieldInfoPtr_solvers, (void*)(&intPtr));
				IntPtr intPtr2 = intPtr;
				return (intPtr2 != 0) ? new List<ObiSolver>(intPtr2) : null;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ObiArbiter.NativeFieldInfoPtr_solvers, IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030D4 RID: 12500
		// (get) Token: 0x06008FFB RID: 36859 RVA: 0x00250A4C File Offset: 0x0024EC4C
		// (set) Token: 0x06008FFC RID: 36860 RVA: 0x00250A6A File Offset: 0x0024EC6A
		public unsafe static int solverCounter
		{
			get
			{
				int num;
				IL2CPP.il2cpp_field_static_get_value(ObiArbiter.NativeFieldInfoPtr_solverCounter, (void*)(&num));
				return num;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ObiArbiter.NativeFieldInfoPtr_solverCounter, (void*)(&value));
			}
		}

		// Token: 0x170030D5 RID: 12501
		// (get) Token: 0x06008FFD RID: 36861 RVA: 0x00250A7C File Offset: 0x0024EC7C
		// (set) Token: 0x06008FFE RID: 36862 RVA: 0x00250A9A File Offset: 0x0024EC9A
		public unsafe static int profileThrottle
		{
			get
			{
				int num;
				IL2CPP.il2cpp_field_static_get_value(ObiArbiter.NativeFieldInfoPtr_profileThrottle, (void*)(&num));
				return num;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ObiArbiter.NativeFieldInfoPtr_profileThrottle, (void*)(&value));
			}
		}

		// Token: 0x170030D6 RID: 12502
		// (get) Token: 0x06008FFF RID: 36863 RVA: 0x00250AAC File Offset: 0x0024ECAC
		// (set) Token: 0x06009000 RID: 36864 RVA: 0x00250ACA File Offset: 0x0024ECCA
		public unsafe static int stepCounter
		{
			get
			{
				int num;
				IL2CPP.il2cpp_field_static_get_value(ObiArbiter.NativeFieldInfoPtr_stepCounter, (void*)(&num));
				return num;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ObiArbiter.NativeFieldInfoPtr_stepCounter, (void*)(&value));
			}
		}

		// Token: 0x170030D7 RID: 12503
		// (get) Token: 0x06009001 RID: 36865 RVA: 0x00250ADC File Offset: 0x0024ECDC
		// (set) Token: 0x06009002 RID: 36866 RVA: 0x00250AFA File Offset: 0x0024ECFA
		public unsafe static bool frameStarted
		{
			get
			{
				bool flag;
				IL2CPP.il2cpp_field_static_get_value(ObiArbiter.NativeFieldInfoPtr_frameStarted, (void*)(&flag));
				return flag;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ObiArbiter.NativeFieldInfoPtr_frameStarted, (void*)(&value));
			}
		}

		// Token: 0x170030D8 RID: 12504
		// (get) Token: 0x06009003 RID: 36867 RVA: 0x00250B0C File Offset: 0x0024ED0C
		// (set) Token: 0x06009004 RID: 36868 RVA: 0x00250B37 File Offset: 0x0024ED37
		public unsafe static EventHandler OnFrameStart
		{
			get
			{
				IntPtr intPtr;
				IL2CPP.il2cpp_field_static_get_value(ObiArbiter.NativeFieldInfoPtr_OnFrameStart, (void*)(&intPtr));
				IntPtr intPtr2 = intPtr;
				return (intPtr2 != 0) ? new EventHandler(intPtr2) : null;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ObiArbiter.NativeFieldInfoPtr_OnFrameStart, IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170030D9 RID: 12505
		// (get) Token: 0x06009005 RID: 36869 RVA: 0x00250B4C File Offset: 0x0024ED4C
		// (set) Token: 0x06009006 RID: 36870 RVA: 0x00250B77 File Offset: 0x0024ED77
		public unsafe static EventHandler OnFrameEnd
		{
			get
			{
				IntPtr intPtr;
				IL2CPP.il2cpp_field_static_get_value(ObiArbiter.NativeFieldInfoPtr_OnFrameEnd, (void*)(&intPtr));
				IntPtr intPtr2 = intPtr;
				return (intPtr2 != 0) ? new EventHandler(intPtr2) : null;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ObiArbiter.NativeFieldInfoPtr_OnFrameEnd, IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04005FFC RID: 24572
		private static readonly IntPtr NativeFieldInfoPtr_solvers;

		// Token: 0x04005FFD RID: 24573
		private static readonly IntPtr NativeFieldInfoPtr_solverCounter;

		// Token: 0x04005FFE RID: 24574
		private static readonly IntPtr NativeFieldInfoPtr_profileThrottle;

		// Token: 0x04005FFF RID: 24575
		private static readonly IntPtr NativeFieldInfoPtr_stepCounter;

		// Token: 0x04006000 RID: 24576
		private static readonly IntPtr NativeFieldInfoPtr_frameStarted;

		// Token: 0x04006001 RID: 24577
		private static readonly IntPtr NativeFieldInfoPtr_OnFrameStart;

		// Token: 0x04006002 RID: 24578
		private static readonly IntPtr NativeFieldInfoPtr_OnFrameEnd;

		// Token: 0x04006003 RID: 24579
		private static readonly IntPtr NativeMethodInfoPtr_add_OnFrameStart_Public_Static_add_Void_EventHandler_0;

		// Token: 0x04006004 RID: 24580
		private static readonly IntPtr NativeMethodInfoPtr_remove_OnFrameStart_Public_Static_rem_Void_EventHandler_0;

		// Token: 0x04006005 RID: 24581
		private static readonly IntPtr NativeMethodInfoPtr_add_OnFrameEnd_Public_Static_add_Void_EventHandler_0;

		// Token: 0x04006006 RID: 24582
		private static readonly IntPtr NativeMethodInfoPtr_remove_OnFrameEnd_Public_Static_rem_Void_EventHandler_0;

		// Token: 0x04006007 RID: 24583
		private static readonly IntPtr NativeMethodInfoPtr_RegisterSolver_Public_Static_Void_ObiSolver_0;

		// Token: 0x04006008 RID: 24584
		private static readonly IntPtr NativeMethodInfoPtr_UnregisterSolver_Public_Static_Void_ObiSolver_0;

		// Token: 0x04006009 RID: 24585
		private static readonly IntPtr NativeMethodInfoPtr_FrameStart_Public_Static_Void_0;

		// Token: 0x0400600A RID: 24586
		private static readonly IntPtr NativeMethodInfoPtr_FrameEnd_Public_Static_Double_0;

		// Token: 0x0400600B RID: 24587
		private static readonly IntPtr NativeMethodInfoPtr_GetProfileInfo_Public_Static_Il2CppReferenceArray_1_ProfileInfo_0;

		// Token: 0x0400600C RID: 24588
		private static readonly IntPtr NativeMethodInfoPtr_WaitForAllSolvers_Public_Static_Void_0;

		// Token: 0x0400600D RID: 24589
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
