using System;
using System.Collections.Generic;
using Cpp2IlInjected;

// Token: 0x0200018A RID: 394
[Token(Token = "0x200018A")]
public class GameTextData
{
	// Token: 0x1700009F RID: 159
	// (get) Token: 0x0600132F RID: 4911 RVA: 0x0002B610 File Offset: 0x00029810
	[Token(Token = "0x1700009F")]
	public GameLanguage Language
	{
		[Token(Token = "0x600132F")]
		[Address(RVA = "0x366270", Offset = "0x365270", VA = "0x180366270")]
		get
		{
			return this.language;
		}
	}

	// Token: 0x170000A0 RID: 160
	// (get) Token: 0x06001330 RID: 4912 RVA: 0x0002B624 File Offset: 0x00029824
	[Token(Token = "0x170000A0")]
	public int RowAmount
	{
		[Token(Token = "0x6001330")]
		[Address(RVA = "0xA2BD20", Offset = "0xA2AD20", VA = "0x180A2BD20")]
		get
		{
			return this.dataMap.Keys.Count;
		}
	}

	// Token: 0x06001331 RID: 4913 RVA: 0x0002B648 File Offset: 0x00029848
	[Token(Token = "0x6001331")]
	[Address(RVA = "0xA2BC80", Offset = "0xA2AC80", VA = "0x180A2BC80")]
	public GameTextData(string json, GameLanguage language)
	{
		/*
An exception occurred when decompiling this method (06001331)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void GameTextData::.ctor(System.String,GameLanguage)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	call:void(object::.ctor, ldloc:GameTextData[exp:object](this)); 	stfld:GameLanguage(GameTextData::language, ldloc:GameTextData(this), ldloc:GameLanguage(language)); 	stfld:int32(GameTextData::pointer, ldloc:GameTextData(this), ldloc:GameLanguage[exp:int32](language)); 	stloc:class [mscorlib]System.Collections.Generic.Dictionary`2<int32, string[]>(var_1_1C, call:class [mscorlib]System.Collections.Generic.Dictionary`2<int32, string[]>(JsonConvert::DeserializeObject, ldloc:string(json))); 	stfld:class [mscorlib]System.Collections.Generic.Dictionary`2<int32, string[]>(GameTextData::dataMap, ldloc:GameTextData(this), ldloc:class [mscorlib]System.Collections.Generic.Dictionary`2<int32, string[]>(var_1_1C)); }; 
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 344
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
   --- End of inner exception stack trace ---
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
   at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618
*/;
	}

	// Token: 0x06001332 RID: 4914 RVA: 0x0002B678 File Offset: 0x00029878
	[Token(Token = "0x6001332")]
	[Address(RVA = "0xA2BC70", Offset = "0xA2AC70", VA = "0x180A2BC70")]
	public void UpdateLanguage(GameLanguage language)
	{
		this.language = language;
		this.pointer = (int)language;
	}

	// Token: 0x06001333 RID: 4915 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001333")]
	[Address(RVA = "0xA2BB90", Offset = "0xA2AB90", VA = "0x180A2BB90")]
	public string GetText(int id)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x04001D0A RID: 7434
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4001D0A")]
	private GameLanguage language;

	// Token: 0x04001D0B RID: 7435
	[FieldOffset(Offset = "0x14")]
	[Token(Token = "0x4001D0B")]
	private int pointer;

	// Token: 0x04001D0C RID: 7436
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4001D0C")]
	private Dictionary<int, string[]> dataMap;
}
