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

// Token: 0x0200015E RID: 350
[Token(Token = "0x200015E")]
public class GameTextData
{
	// Token: 0x170000A9 RID: 169
	// (get) Token: 0x060011B7 RID: 4535 RVA: 0x000287F8 File Offset: 0x000269F8
	[Token(Token = "0x170000A9")]
	public GameLanguage Language
	{
		[Token(Token = "0x60011B7")]
		[Address(RVA = "0x2B3F20", Offset = "0x2B2D20", VA = "0x1802B3F20")]
		get
		{
			return this.language;
		}
	}

	// Token: 0x170000AA RID: 170
	// (get) Token: 0x060011B8 RID: 4536 RVA: 0x0002880C File Offset: 0x00026A0C
	[Token(Token = "0x170000AA")]
	public int RowAmount
	{
		[Token(Token = "0x60011B8")]
		[Address(RVA = "0x54AB30", Offset = "0x549930", VA = "0x18054AB30")]
		get
		{
			return this.dataMap.Keys.Count;
		}
	}

	// Token: 0x060011B9 RID: 4537 RVA: 0x00028830 File Offset: 0x00026A30
	[Token(Token = "0x60011B9")]
	[Address(RVA = "0x54AA90", Offset = "0x549890", VA = "0x18054AA90")]
	public GameTextData(string json, GameLanguage language)
	{
		/*
An exception occurred when decompiling this method (060011B9)

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: 0x060011BA RID: 4538 RVA: 0x00028860 File Offset: 0x00026A60
	[Token(Token = "0x60011BA")]
	[Address(RVA = "0x54AA80", Offset = "0x549880", VA = "0x18054AA80")]
	public void UpdateLanguage(GameLanguage language)
	{
		this.language = language;
		this.pointer = (int)language;
	}

	// Token: 0x060011BB RID: 4539 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011BB")]
	[Address(RVA = "0x54A9A0", Offset = "0x5497A0", VA = "0x18054A9A0")]
	public string GetText(int id)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x04001B97 RID: 7063
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4001B97")]
	private GameLanguage language;

	// Token: 0x04001B98 RID: 7064
	[FieldOffset(Offset = "0x14")]
	[Token(Token = "0x4001B98")]
	private int pointer;

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