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

// Token: 0x02000121 RID: 289
[Serializable]
public class GameConfig : Object
{
	// Token: 0x06003D61 RID: 15713 RVA: 0x000F2788 File Offset: 0x000F0988
	[CallerCount(3)]
	[CachedScanResults(RefRangeStart = 528752, RefRangeEnd = 528755, XrefRangeStart = 528724, XrefRangeEnd = 528752, 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: 0x06003D62 RID: 15714 RVA: 0x000F27D4 File Offset: 0x000F09D4
	// 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, 100667086);
	}

	// Token: 0x06003D63 RID: 15715 RVA: 0x0000A688 File Offset: 0x00008888
	public GameConfig(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x170016C0 RID: 5824
	// (get) Token: 0x06003D64 RID: 15716 RVA: 0x000F28A4 File Offset: 0x000F0AA4
	// (set) Token: 0x06003D65 RID: 15717 RVA: 0x000F28CC File Offset: 0x000F0ACC
	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: 0x170016C1 RID: 5825
	// (get) Token: 0x06003D66 RID: 15718 RVA: 0x000F28F0 File Offset: 0x000F0AF0
	// (set) Token: 0x06003D67 RID: 15719 RVA: 0x000F2918 File Offset: 0x000F0B18
	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: 0x170016C2 RID: 5826
	// (get) Token: 0x06003D68 RID: 15720 RVA: 0x000F293C File Offset: 0x000F0B3C
	// (set) Token: 0x06003D69 RID: 15721 RVA: 0x000F2970 File Offset: 0x000F0B70
	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: 0x170016C3 RID: 5827
	// (get) Token: 0x06003D6A RID: 15722 RVA: 0x000F2998 File Offset: 0x000F0B98
	// (set) Token: 0x06003D6B RID: 15723 RVA: 0x000F29CC File Offset: 0x000F0BCC
	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: 0x170016C4 RID: 5828
	// (get) Token: 0x06003D6C RID: 15724 RVA: 0x000F29F4 File Offset: 0x000F0BF4
	// (set) Token: 0x06003D6D RID: 15725 RVA: 0x000F2A28 File Offset: 0x000F0C28
	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: 0x170016C5 RID: 5829
	// (get) Token: 0x06003D6E RID: 15726 RVA: 0x000F2A50 File Offset: 0x000F0C50
	// (set) Token: 0x06003D6F RID: 15727 RVA: 0x000F2A84 File Offset: 0x000F0C84
	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: 0x170016C6 RID: 5830
	// (get) Token: 0x06003D70 RID: 15728 RVA: 0x000F2AAC File Offset: 0x000F0CAC
	// (set) Token: 0x06003D71 RID: 15729 RVA: 0x000F2AE0 File Offset: 0x000F0CE0
	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: 0x04002825 RID: 10277
	private static readonly IntPtr NativeFieldInfoPtr_configVersion;

	// Token: 0x04002826 RID: 10278
	private static readonly IntPtr NativeFieldInfoPtr_hasSetupLanguage;

	// Token: 0x04002827 RID: 10279
	private static readonly IntPtr NativeFieldInfoPtr_gameSettings;

	// Token: 0x04002828 RID: 10280
	private static readonly IntPtr NativeFieldInfoPtr_screenSettings;

	// Token: 0x04002829 RID: 10281
	private static readonly IntPtr NativeFieldInfoPtr_cameraSettings;

	// Token: 0x0400282A RID: 10282
	private static readonly IntPtr NativeFieldInfoPtr_volumeSettings;

	// Token: 0x0400282B RID: 10283
	private static readonly IntPtr NativeFieldInfoPtr_keyMaps;

	// Token: 0x0400282C RID: 10284
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
