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

// Token: 0x02000196 RID: 406
public class GameTextDataAdvance : Object
{
	// Token: 0x17001A16 RID: 6678
	// (get) Token: 0x060048A6 RID: 18598 RVA: 0x00122E08 File Offset: 0x00121008
	public unsafe GameLanguage Language
	{
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 12330, RefRangeEnd = 12333, XrefRangeStart = 12330, XrefRangeEnd = 12333, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		get
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameTextDataAdvance.NativeMethodInfoPtr_get_Language_Public_get_GameLanguage_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}
	}

	// Token: 0x17001A17 RID: 6679
	// (get) Token: 0x060048A7 RID: 18599 RVA: 0x00122E58 File Offset: 0x00121058
	public unsafe int RowAmount
	{
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 567977, RefRangeEnd = 567979, XrefRangeStart = 567970, XrefRangeEnd = 567977, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		get
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameTextDataAdvance.NativeMethodInfoPtr_get_RowAmount_Public_get_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}
	}

	// Token: 0x060048A8 RID: 18600 RVA: 0x00122EA8 File Offset: 0x001210A8
	[CallerCount(4)]
	[CachedScanResults(RefRangeStart = 568037, RefRangeEnd = 568041, XrefRangeStart = 567979, XrefRangeEnd = 568037, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe GameTextDataAdvance(string json, GameLanguage language, int columnsPerLanguage)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.ManagedStringToIl2Cpp(json);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref language;
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref columnsPerLanguage;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameTextDataAdvance.NativeMethodInfoPtr__ctor_Public_Void_String_GameLanguage_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060048A9 RID: 18601 RVA: 0x00122F30 File Offset: 0x00121130
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 568043, RefRangeEnd = 568044, XrefRangeStart = 568041, XrefRangeEnd = 568043, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe GameTextDataAdvance(Dictionary<int, Il2CppReferenceArray<Il2CppStringArray>> dataMap, GameLanguage language, int columnsPerLanguage)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(dataMap);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref language;
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref columnsPerLanguage;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameTextDataAdvance.NativeMethodInfoPtr__ctor_Public_Void_Dictionary_2_Int32_Il2CppReferenceArray_1_Il2CppStringArray_GameLanguage_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060048AA RID: 18602 RVA: 0x00122FB8 File Offset: 0x001211B8
	[CallerCount(3)]
	[CachedScanResults(RefRangeStart = 568044, RefRangeEnd = 568047, XrefRangeStart = 568044, XrefRangeEnd = 568044, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe GameTextDataAdvance UpdateLanguage(GameLanguage language)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref language;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameTextDataAdvance.NativeMethodInfoPtr_UpdateLanguage_Public_GameTextDataAdvance_GameLanguage_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new GameTextDataAdvance(intPtr3) : null;
		}
	}

	// Token: 0x060048AB RID: 18603 RVA: 0x00123020 File Offset: 0x00121220
	[CallerCount(10)]
	[CachedScanResults(RefRangeStart = 568079, RefRangeEnd = 568089, XrefRangeStart = 568047, XrefRangeEnd = 568079, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe Il2CppStringArray GetText(int id)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref id;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameTextDataAdvance.NativeMethodInfoPtr_GetText_Public_Il2CppStringArray_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new Il2CppStringArray(intPtr3) : null;
		}
	}

	// Token: 0x060048AC RID: 18604 RVA: 0x00123088 File Offset: 0x00121288
	// Note: this type is marked as 'beforefieldinit'.
	static GameTextDataAdvance()
	{
		Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "GameTextDataAdvance");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr);
		GameTextDataAdvance.NativeFieldInfoPtr_language = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, "language");
		GameTextDataAdvance.NativeFieldInfoPtr_pointer = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, "pointer");
		GameTextDataAdvance.NativeFieldInfoPtr_columnsPerLanguage = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, "columnsPerLanguage");
		GameTextDataAdvance.NativeFieldInfoPtr_dataMap = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, "dataMap");
		GameTextDataAdvance.NativeMethodInfoPtr_get_Language_Public_get_GameLanguage_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, 100668212);
		GameTextDataAdvance.NativeMethodInfoPtr_get_RowAmount_Public_get_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, 100668213);
		GameTextDataAdvance.NativeMethodInfoPtr__ctor_Public_Void_String_GameLanguage_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, 100668214);
		GameTextDataAdvance.NativeMethodInfoPtr__ctor_Public_Void_Dictionary_2_Int32_Il2CppReferenceArray_1_Il2CppStringArray_GameLanguage_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, 100668215);
		GameTextDataAdvance.NativeMethodInfoPtr_UpdateLanguage_Public_GameTextDataAdvance_GameLanguage_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, 100668216);
		GameTextDataAdvance.NativeMethodInfoPtr_GetText_Public_Il2CppStringArray_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, 100668217);
	}

	// Token: 0x060048AD RID: 18605 RVA: 0x0000A74C File Offset: 0x0000894C
	public GameTextDataAdvance(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001A12 RID: 6674
	// (get) Token: 0x060048AE RID: 18606 RVA: 0x00123180 File Offset: 0x00121380
	// (set) Token: 0x060048AF RID: 18607 RVA: 0x001231A8 File Offset: 0x001213A8
	public unsafe GameLanguage language
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameTextDataAdvance.NativeFieldInfoPtr_language);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameTextDataAdvance.NativeFieldInfoPtr_language)) = value;
		}
	}

	// Token: 0x17001A13 RID: 6675
	// (get) Token: 0x060048B0 RID: 18608 RVA: 0x001231CC File Offset: 0x001213CC
	// (set) Token: 0x060048B1 RID: 18609 RVA: 0x001231F4 File Offset: 0x001213F4
	public unsafe int pointer
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameTextDataAdvance.NativeFieldInfoPtr_pointer);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameTextDataAdvance.NativeFieldInfoPtr_pointer)) = value;
		}
	}

	// Token: 0x17001A14 RID: 6676
	// (get) Token: 0x060048B2 RID: 18610 RVA: 0x00123218 File Offset: 0x00121418
	// (set) Token: 0x060048B3 RID: 18611 RVA: 0x00123240 File Offset: 0x00121440
	public unsafe int columnsPerLanguage
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameTextDataAdvance.NativeFieldInfoPtr_columnsPerLanguage);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameTextDataAdvance.NativeFieldInfoPtr_columnsPerLanguage)) = value;
		}
	}

	// Token: 0x17001A15 RID: 6677
	// (get) Token: 0x060048B4 RID: 18612 RVA: 0x00123264 File Offset: 0x00121464
	// (set) Token: 0x060048B5 RID: 18613 RVA: 0x00123298 File Offset: 0x00121498
	public unsafe Dictionary<int, Il2CppReferenceArray<Il2CppStringArray>> dataMap
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameTextDataAdvance.NativeFieldInfoPtr_dataMap);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Dictionary<int, Il2CppReferenceArray<Il2CppStringArray>>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameTextDataAdvance.NativeFieldInfoPtr_dataMap), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04003038 RID: 12344
	private static readonly IntPtr NativeFieldInfoPtr_language;

	// Token: 0x04003039 RID: 12345
	private static readonly IntPtr NativeFieldInfoPtr_pointer;

	// Token: 0x0400303A RID: 12346
	private static readonly IntPtr NativeFieldInfoPtr_columnsPerLanguage;

	// Token: 0x0400303B RID: 12347
	private static readonly IntPtr NativeFieldInfoPtr_dataMap;

	// Token: 0x0400303C RID: 12348
	private static readonly IntPtr NativeMethodInfoPtr_get_Language_Public_get_GameLanguage_0;

	// Token: 0x0400303D RID: 12349
	private static readonly IntPtr NativeMethodInfoPtr_get_RowAmount_Public_get_Int32_0;

	// Token: 0x0400303E RID: 12350
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_GameLanguage_Int32_0;

	// Token: 0x0400303F RID: 12351
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Dictionary_2_Int32_Il2CppReferenceArray_1_Il2CppStringArray_GameLanguage_Int32_0;

	// Token: 0x04003040 RID: 12352
	private static readonly IntPtr NativeMethodInfoPtr_UpdateLanguage_Public_GameTextDataAdvance_GameLanguage_0;

	// Token: 0x04003041 RID: 12353
	private static readonly IntPtr NativeMethodInfoPtr_GetText_Public_Il2CppStringArray_Int32_0;

	// Token: 0x02000197 RID: 407
	[ObfuscatedName("GameTextDataAdvance/<>c__DisplayClass11_0")]
	public sealed class __c__DisplayClass11_0 : Object
	{
		// Token: 0x060048B6 RID: 18614 RVA: 0x001232C0 File Offset: 0x001214C0
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe __c__DisplayClass11_0()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<GameTextDataAdvance.__c__DisplayClass11_0>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameTextDataAdvance.__c__DisplayClass11_0.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060048B7 RID: 18615 RVA: 0x0012330C File Offset: 0x0012150C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 567964, XrefRangeEnd = 567970, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe string _GetText_b__0(int _)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref _;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameTextDataAdvance.__c__DisplayClass11_0.NativeMethodInfoPtr__GetText_b__0_Internal_String_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return IL2CPP.Il2CppStringToManaged(intPtr);
			}
		}

		// Token: 0x060048B8 RID: 18616 RVA: 0x0012336C File Offset: 0x0012156C
		// Note: this type is marked as 'beforefieldinit'.
		static __c__DisplayClass11_0()
		{
			Il2CppClassPointerStore<GameTextDataAdvance.__c__DisplayClass11_0>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<GameTextDataAdvance>.NativeClassPtr, "<>c__DisplayClass11_0");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<GameTextDataAdvance.__c__DisplayClass11_0>.NativeClassPtr);
			GameTextDataAdvance.__c__DisplayClass11_0.NativeFieldInfoPtr_id = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameTextDataAdvance.__c__DisplayClass11_0>.NativeClassPtr, "id");
			GameTextDataAdvance.__c__DisplayClass11_0.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameTextDataAdvance.__c__DisplayClass11_0>.NativeClassPtr, 100668218);
			GameTextDataAdvance.__c__DisplayClass11_0.NativeMethodInfoPtr__GetText_b__0_Internal_String_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameTextDataAdvance.__c__DisplayClass11_0>.NativeClassPtr, 100668219);
		}

		// Token: 0x060048B9 RID: 18617 RVA: 0x0000A74C File Offset: 0x0000894C
		public __c__DisplayClass11_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17001A18 RID: 6680
		// (get) Token: 0x060048BA RID: 18618 RVA: 0x001233D4 File Offset: 0x001215D4
		// (set) Token: 0x060048BB RID: 18619 RVA: 0x001233FC File Offset: 0x001215FC
		public unsafe int id
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameTextDataAdvance.__c__DisplayClass11_0.NativeFieldInfoPtr_id);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameTextDataAdvance.__c__DisplayClass11_0.NativeFieldInfoPtr_id)) = value;
			}
		}

		// Token: 0x04003042 RID: 12354
		private static readonly IntPtr NativeFieldInfoPtr_id;

		// Token: 0x04003043 RID: 12355
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04003044 RID: 12356
		private static readonly IntPtr NativeMethodInfoPtr__GetText_b__0_Internal_String_Int32_0;
	}
}
