using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;

// Token: 0x0200014B RID: 331
[Serializable]
public class GameConfig : Object
{
	// Token: 0x060040CA RID: 16586 RVA: 0x001014AC File Offset: 0x000FF6AC
	[CallerCount(3)]
	[CachedScanResults(RefRangeStart = 554332, RefRangeEnd = 554335, XrefRangeStart = 554304, XrefRangeEnd = 554332, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe GameConfig()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<GameConfig>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameConfig.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060040CB RID: 16587 RVA: 0x001014F8 File Offset: 0x000FF6F8
	// Note: this type is marked as 'beforefieldinit'.
	static GameConfig()
	{
		Il2CppClassPointerStore<GameConfig>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "GameConfig");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<GameConfig>.NativeClassPtr);
		GameConfig.NativeFieldInfoPtr_configVersion = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameConfig>.NativeClassPtr, "configVersion");
		GameConfig.NativeFieldInfoPtr_hasSetupLanguage = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameConfig>.NativeClassPtr, "hasSetupLanguage");
		GameConfig.NativeFieldInfoPtr_gameSettings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameConfig>.NativeClassPtr, "gameSettings");
		GameConfig.NativeFieldInfoPtr_screenSettings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameConfig>.NativeClassPtr, "screenSettings");
		GameConfig.NativeFieldInfoPtr_cameraSettings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameConfig>.NativeClassPtr, "cameraSettings");
		GameConfig.NativeFieldInfoPtr_volumeSettings = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameConfig>.NativeClassPtr, "volumeSettings");
		GameConfig.NativeFieldInfoPtr_keyMaps = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameConfig>.NativeClassPtr, "keyMaps");
		GameConfig.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameConfig>.NativeClassPtr, 100667409);
	}

	// Token: 0x060040CC RID: 16588 RVA: 0x0000A74C File Offset: 0x0000894C
	public GameConfig(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x170017B4 RID: 6068
	// (get) Token: 0x060040CD RID: 16589 RVA: 0x001015C8 File Offset: 0x000FF7C8
	// (set) Token: 0x060040CE RID: 16590 RVA: 0x001015F0 File Offset: 0x000FF7F0
	public unsafe int configVersion
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_configVersion);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_configVersion)) = value;
		}
	}

	// Token: 0x170017B5 RID: 6069
	// (get) Token: 0x060040CF RID: 16591 RVA: 0x00101614 File Offset: 0x000FF814
	// (set) Token: 0x060040D0 RID: 16592 RVA: 0x0010163C File Offset: 0x000FF83C
	public unsafe bool hasSetupLanguage
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_hasSetupLanguage);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_hasSetupLanguage)) = value;
		}
	}

	// Token: 0x170017B6 RID: 6070
	// (get) Token: 0x060040D1 RID: 16593 RVA: 0x00101660 File Offset: 0x000FF860
	// (set) Token: 0x060040D2 RID: 16594 RVA: 0x00101694 File Offset: 0x000FF894
	public unsafe GameSettings gameSettings
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_gameSettings);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new GameSettings(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_gameSettings), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170017B7 RID: 6071
	// (get) Token: 0x060040D3 RID: 16595 RVA: 0x001016BC File Offset: 0x000FF8BC
	// (set) Token: 0x060040D4 RID: 16596 RVA: 0x001016F0 File Offset: 0x000FF8F0
	public unsafe ScreenSettings screenSettings
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_screenSettings);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new ScreenSettings(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_screenSettings), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170017B8 RID: 6072
	// (get) Token: 0x060040D5 RID: 16597 RVA: 0x00101718 File Offset: 0x000FF918
	// (set) Token: 0x060040D6 RID: 16598 RVA: 0x0010174C File Offset: 0x000FF94C
	public unsafe CameraSettings cameraSettings
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_cameraSettings);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new CameraSettings(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_cameraSettings), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170017B9 RID: 6073
	// (get) Token: 0x060040D7 RID: 16599 RVA: 0x00101774 File Offset: 0x000FF974
	// (set) Token: 0x060040D8 RID: 16600 RVA: 0x001017A8 File Offset: 0x000FF9A8
	public unsafe VolumeSettings volumeSettings
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_volumeSettings);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new VolumeSettings(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_volumeSettings), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170017BA RID: 6074
	// (get) Token: 0x060040D9 RID: 16601 RVA: 0x001017D0 File Offset: 0x000FF9D0
	// (set) Token: 0x060040DA RID: 16602 RVA: 0x00101804 File Offset: 0x000FFA04
	public unsafe GameControllerKeyMaps keyMaps
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_keyMaps);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new GameControllerKeyMaps(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameConfig.NativeFieldInfoPtr_keyMaps), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04002A7B RID: 10875
	private static readonly IntPtr NativeFieldInfoPtr_configVersion;

	// Token: 0x04002A7C RID: 10876
	private static readonly IntPtr NativeFieldInfoPtr_hasSetupLanguage;

	// Token: 0x04002A7D RID: 10877
	private static readonly IntPtr NativeFieldInfoPtr_gameSettings;

	// Token: 0x04002A7E RID: 10878
	private static readonly IntPtr NativeFieldInfoPtr_screenSettings;

	// Token: 0x04002A7F RID: 10879
	private static readonly IntPtr NativeFieldInfoPtr_cameraSettings;

	// Token: 0x04002A80 RID: 10880
	private static readonly IntPtr NativeFieldInfoPtr_volumeSettings;

	// Token: 0x04002A81 RID: 10881
	private static readonly IntPtr NativeFieldInfoPtr_keyMaps;

	// Token: 0x04002A82 RID: 10882
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
