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

namespace Obi
{
	// Token: 0x02000542 RID: 1346
	public class ObiArbiter : Object
	{
		// Token: 0x0600983F RID: 38975 RVA: 0x002732A8 File Offset: 0x002714A8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 643848, XrefRangeEnd = 643859, 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: 0x06009840 RID: 38976 RVA: 0x002732F4 File Offset: 0x002714F4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 643859, XrefRangeEnd = 643870, 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: 0x06009841 RID: 38977 RVA: 0x00273340 File Offset: 0x00271540
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 643870, XrefRangeEnd = 643881, 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: 0x06009842 RID: 38978 RVA: 0x0027338C File Offset: 0x0027158C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 643881, XrefRangeEnd = 643892, 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: 0x06009843 RID: 38979 RVA: 0x002733D8 File Offset: 0x002715D8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 643903, RefRangeEnd = 643904, XrefRangeStart = 643892, XrefRangeEnd = 643903, 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: 0x06009844 RID: 38980 RVA: 0x00273424 File Offset: 0x00271624
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 643915, RefRangeEnd = 643916, XrefRangeStart = 643904, XrefRangeEnd = 643915, 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: 0x06009845 RID: 38981 RVA: 0x00273470 File Offset: 0x00271670
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 643927, RefRangeEnd = 643928, XrefRangeStart = 643916, XrefRangeEnd = 643927, 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: 0x06009846 RID: 38982 RVA: 0x002734A4 File Offset: 0x002716A4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 643928, XrefRangeEnd = 643929, 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: 0x06009847 RID: 38983 RVA: 0x002734E8 File Offset: 0x002716E8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 643929, XrefRangeEnd = 643934, 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: 0x06009848 RID: 38984 RVA: 0x00273530 File Offset: 0x00271730
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 643984, RefRangeEnd = 643985, XrefRangeStart = 643934, XrefRangeEnd = 643984, 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: 0x06009849 RID: 38985 RVA: 0x00273564 File Offset: 0x00271764
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, 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: 0x0600984A RID: 38986 RVA: 0x002735B0 File Offset: 0x002717B0
		// 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, 100675163);
			ObiArbiter.NativeMethodInfoPtr_remove_OnFrameStart_Public_Static_rem_Void_EventHandler_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100675164);
			ObiArbiter.NativeMethodInfoPtr_add_OnFrameEnd_Public_Static_add_Void_EventHandler_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100675165);
			ObiArbiter.NativeMethodInfoPtr_remove_OnFrameEnd_Public_Static_rem_Void_EventHandler_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100675166);
			ObiArbiter.NativeMethodInfoPtr_RegisterSolver_Public_Static_Void_ObiSolver_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100675167);
			ObiArbiter.NativeMethodInfoPtr_UnregisterSolver_Public_Static_Void_ObiSolver_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100675168);
			ObiArbiter.NativeMethodInfoPtr_FrameStart_Public_Static_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100675169);
			ObiArbiter.NativeMethodInfoPtr_FrameEnd_Public_Static_Double_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100675170);
			ObiArbiter.NativeMethodInfoPtr_GetProfileInfo_Public_Static_Il2CppReferenceArray_1_ProfileInfo_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100675171);
			ObiArbiter.NativeMethodInfoPtr_WaitForAllSolvers_Public_Static_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100675172);
			ObiArbiter.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiArbiter>.NativeClassPtr, 100675173);
		}

		// Token: 0x0600984B RID: 38987 RVA: 0x0000A74C File Offset: 0x0000894C
		public ObiArbiter(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700336E RID: 13166
		// (get) Token: 0x0600984C RID: 38988 RVA: 0x00273748 File Offset: 0x00271948
		// (set) Token: 0x0600984D RID: 38989 RVA: 0x00273773 File Offset: 0x00271973
		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: 0x1700336F RID: 13167
		// (get) Token: 0x0600984E RID: 38990 RVA: 0x00273788 File Offset: 0x00271988
		// (set) Token: 0x0600984F RID: 38991 RVA: 0x002737A6 File Offset: 0x002719A6
		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: 0x17003370 RID: 13168
		// (get) Token: 0x06009850 RID: 38992 RVA: 0x002737B8 File Offset: 0x002719B8
		// (set) Token: 0x06009851 RID: 38993 RVA: 0x002737D6 File Offset: 0x002719D6
		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: 0x17003371 RID: 13169
		// (get) Token: 0x06009852 RID: 38994 RVA: 0x002737E8 File Offset: 0x002719E8
		// (set) Token: 0x06009853 RID: 38995 RVA: 0x00273806 File Offset: 0x00271A06
		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: 0x17003372 RID: 13170
		// (get) Token: 0x06009854 RID: 38996 RVA: 0x00273818 File Offset: 0x00271A18
		// (set) Token: 0x06009855 RID: 38997 RVA: 0x00273836 File Offset: 0x00271A36
		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: 0x17003373 RID: 13171
		// (get) Token: 0x06009856 RID: 38998 RVA: 0x00273848 File Offset: 0x00271A48
		// (set) Token: 0x06009857 RID: 38999 RVA: 0x00273873 File Offset: 0x00271A73
		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: 0x17003374 RID: 13172
		// (get) Token: 0x06009858 RID: 39000 RVA: 0x00273888 File Offset: 0x00271A88
		// (set) Token: 0x06009859 RID: 39001 RVA: 0x002738B3 File Offset: 0x00271AB3
		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: 0x040065A5 RID: 26021
		private static readonly IntPtr NativeFieldInfoPtr_solvers;

		// Token: 0x040065A6 RID: 26022
		private static readonly IntPtr NativeFieldInfoPtr_solverCounter;

		// Token: 0x040065A7 RID: 26023
		private static readonly IntPtr NativeFieldInfoPtr_profileThrottle;

		// Token: 0x040065A8 RID: 26024
		private static readonly IntPtr NativeFieldInfoPtr_stepCounter;

		// Token: 0x040065A9 RID: 26025
		private static readonly IntPtr NativeFieldInfoPtr_frameStarted;

		// Token: 0x040065AA RID: 26026
		private static readonly IntPtr NativeFieldInfoPtr_OnFrameStart;

		// Token: 0x040065AB RID: 26027
		private static readonly IntPtr NativeFieldInfoPtr_OnFrameEnd;

		// Token: 0x040065AC RID: 26028
		private static readonly IntPtr NativeMethodInfoPtr_add_OnFrameStart_Public_Static_add_Void_EventHandler_0;

		// Token: 0x040065AD RID: 26029
		private static readonly IntPtr NativeMethodInfoPtr_remove_OnFrameStart_Public_Static_rem_Void_EventHandler_0;

		// Token: 0x040065AE RID: 26030
		private static readonly IntPtr NativeMethodInfoPtr_add_OnFrameEnd_Public_Static_add_Void_EventHandler_0;

		// Token: 0x040065AF RID: 26031
		private static readonly IntPtr NativeMethodInfoPtr_remove_OnFrameEnd_Public_Static_rem_Void_EventHandler_0;

		// Token: 0x040065B0 RID: 26032
		private static readonly IntPtr NativeMethodInfoPtr_RegisterSolver_Public_Static_Void_ObiSolver_0;

		// Token: 0x040065B1 RID: 26033
		private static readonly IntPtr NativeMethodInfoPtr_UnregisterSolver_Public_Static_Void_ObiSolver_0;

		// Token: 0x040065B2 RID: 26034
		private static readonly IntPtr NativeMethodInfoPtr_FrameStart_Public_Static_Void_0;

		// Token: 0x040065B3 RID: 26035
		private static readonly IntPtr NativeMethodInfoPtr_FrameEnd_Public_Static_Double_0;

		// Token: 0x040065B4 RID: 26036
		private static readonly IntPtr NativeMethodInfoPtr_GetProfileInfo_Public_Static_Il2CppReferenceArray_1_ProfileInfo_0;

		// Token: 0x040065B5 RID: 26037
		private static readonly IntPtr NativeMethodInfoPtr_WaitForAllSolvers_Public_Static_Void_0;

		// Token: 0x040065B6 RID: 26038
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
