using System;
using Cpp2IlInjected;
using MarsSDK;
using Newtonsoft.Json;
using UnityEngine;

// Token: 0x02000153 RID: 339
[Token(Token = "0x2000153")]
public class Win64Platform : IGamePlatform
{
	// Token: 0x1700009D RID: 157
	// (get) Token: 0x06001168 RID: 4456 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x1700009D")]
	public ControllerDevice DefaultController
	{
		[Token(Token = "0x6001168")]
		[Address(RVA = "0x2B4CB0", Offset = "0x2B3AB0", VA = "0x1802B4CB0", Slot = "4")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x1700009E RID: 158
	// (get) Token: 0x06001169 RID: 4457 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x1700009E")]
	public IFileSystem FileSystem
	{
		[Token(Token = "0x6001169")]
		[Address(RVA = "0x2B4010", Offset = "0x2B2E10", VA = "0x1802B4010", Slot = "5")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x1700009F RID: 159
	// (get) Token: 0x0600116A RID: 4458 RVA: 0x000281B0 File Offset: 0x000263B0
	[Token(Token = "0x1700009F")]
	public string AppVersion
	{
		[Token(Token = "0x600116A")]
		[Address(RVA = "0x943900", Offset = "0x942700", VA = "0x180943900", Slot = "6")]
		get
		{
			return Application.version;
		}
	}

	// Token: 0x170000A0 RID: 160
	// (get) Token: 0x0600116B RID: 4459 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x170000A0")]
	public bool IsConsolePlatform
	{
		[Token(Token = "0x600116B")]
		[Address(RVA = "0x290BB0", Offset = "0x28F9B0", VA = "0x180290BB0", Slot = "7")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x170000A1 RID: 161
	// (get) Token: 0x0600116C RID: 4460 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x170000A1")]
	public bool UseAsiaController
	{
		[Token(Token = "0x600116C")]
		[Address(RVA = "0x290BB0", Offset = "0x28F9B0", VA = "0x180290BB0", Slot = "8")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x170000A2 RID: 162
	// (get) Token: 0x0600116D RID: 4461 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x170000A2")]
	public bool UseAchievement
	{
		[Token(Token = "0x600116D")]
		[Address(RVA = "0x290BB0", Offset = "0x28F9B0", VA = "0x180290BB0", Slot = "9")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x170000A3 RID: 163
	// (get) Token: 0x0600116E RID: 4462 RVA: 0x000281C4 File Offset: 0x000263C4
	[Token(Token = "0x170000A3")]
	public bool ShowQuitButton
	{
		[Token(Token = "0x600116E")]
		[Address(RVA = "0x454840", Offset = "0x453640", VA = "0x180454840", Slot = "10")]
		get
		{
			return true;
		}
	}

	// Token: 0x170000A4 RID: 164
	// (get) Token: 0x0600116F RID: 4463 RVA: 0x000281D4 File Offset: 0x000263D4
	[Token(Token = "0x170000A4")]
	public bool ShowDepthOfFieldSetting
	{
		[Token(Token = "0x600116F")]
		[Address(RVA = "0x454840", Offset = "0x453640", VA = "0x180454840", Slot = "11")]
		get
		{
			return true;
		}
	}

	// Token: 0x170000A5 RID: 165
	// (get) Token: 0x06001170 RID: 4464 RVA: 0x000281E4 File Offset: 0x000263E4
	[Token(Token = "0x170000A5")]
	public bool IncludeChineseVideos
	{
		[Token(Token = "0x6001170")]
		[Address(RVA = "0x454840", Offset = "0x453640", VA = "0x180454840", Slot = "12")]
		get
		{
			return true;
		}
	}

	// Token: 0x170000A6 RID: 166
	// (get) Token: 0x06001171 RID: 4465 RVA: 0x000281F4 File Offset: 0x000263F4
	[Token(Token = "0x170000A6")]
	public bool EnableBearSkin
	{
		[Token(Token = "0x6001171")]
		[Address(RVA = "0x454840", Offset = "0x453640", VA = "0x180454840", Slot = "13")]
		get
		{
			return true;
		}
	}

	// Token: 0x170000A7 RID: 167
	// (get) Token: 0x06001172 RID: 4466 RVA: 0x00028204 File Offset: 0x00026404
	[Token(Token = "0x170000A7")]
	public bool EnableBunnySkin
	{
		[Token(Token = "0x6001172")]
		[Address(RVA = "0x454840", Offset = "0x453640", VA = "0x180454840", Slot = "14")]
		get
		{
			return true;
		}
	}

	// Token: 0x170000A8 RID: 168
	// (get) Token: 0x06001173 RID: 4467 RVA: 0x00028214 File Offset: 0x00026414
	[Token(Token = "0x170000A8")]
	public bool EnablePajamasSkin
	{
		[Token(Token = "0x6001173")]
		[Address(RVA = "0x454840", Offset = "0x453640", VA = "0x180454840", Slot = "15")]
		get
		{
			return true;
		}
	}

	// Token: 0x06001174 RID: 4468 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001174")]
	[Address(RVA = "0x943770", Offset = "0x942570", VA = "0x180943770")]
	public Win64Platform()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001175 RID: 4469 RVA: 0x00028224 File Offset: 0x00026424
	[Token(Token = "0x6001175")]
	[Address(RVA = "0x943700", Offset = "0x942500", VA = "0x180943700", Slot = "16")]
	public void Setup(Action nextAction)
	{
		if (nextAction != 0)
		{
			nextAction();
			return;
		}
	}

	// Token: 0x06001176 RID: 4470 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001176")]
	[Address(RVA = "0x943530", Offset = "0x942330", VA = "0x180943530", Slot = "17")]
	public GameConfig GetConfig()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001177 RID: 4471 RVA: 0x0002823C File Offset: 0x0002643C
	[Token(Token = "0x6001177")]
	[Address(RVA = "0x943690", Offset = "0x942490", VA = "0x180943690", Slot = "18")]
	public void SaveConfig(GameConfig config)
	{
		string text = JsonConvert.SerializeObject(config);
		PlayerPrefs.SetString("Config_Test", text);
	}

	// Token: 0x06001178 RID: 4472 RVA: 0x0002825C File Offset: 0x0002645C
	[Token(Token = "0x6001178")]
	[Address(RVA = "0x943720", Offset = "0x942520", VA = "0x180943720", Slot = "19")]
	public void ShowNoSpaceDialogue(Action nextAction)
	{
		/*
An exception occurred when decompiling this method (06001178)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Win64Platform::ShowNoSpaceDialogue(System.Action)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stloc:Exception(var_0_0A, newobj:Exception(Exception::.ctor, ldstr:string("This is ps4 only feature, if see the log, check save file flow."))); }; 
   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: 0x06001179 RID: 4473 RVA: 0x00028274 File Offset: 0x00026474
	[Token(Token = "0x6001179")]
	[Address(RVA = "0x943470", Offset = "0x942270", VA = "0x180943470")]
	private GameConfig CreateConfig()
	{
		GameConfig gameConfig = new GameConfig();
		gameConfig.configVersion = (int)((ulong)21L);
		string text = JsonConvert.SerializeObject(gameConfig);
		PlayerPrefs.SetString("Config_Test", text);
		return gameConfig;
	}

	// Token: 0x0600117A RID: 4474 RVA: 0x000282AC File Offset: 0x000264AC
	[Token(Token = "0x600117A")]
	[Address(RVA = "0x943650", Offset = "0x942450", VA = "0x180943650", Slot = "20")]
	public GameSkin[] GetPlatformSkins()
	{
		return EnumUtils.AllValues<GameSkin>();
	}

	// Token: 0x0600117B RID: 4475 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600117B")]
	[Address(RVA = "0x290BB0", Offset = "0x28F9B0", VA = "0x180290BB0", Slot = "21")]
	public bool HasAchievementUnlocked(int index)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600117C RID: 4476 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600117C")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "22")]
	public void UnlockAchievement(int index)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600117D RID: 4477 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600117D")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "23")]
	public void ResetAllAchievements(Action nextAction)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600117E RID: 4478 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600117E")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "24")]
	public void UpdateStatsData(GameCollection collectionData)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600117F RID: 4479 RVA: 0x000282C0 File Offset: 0x000264C0
	[Token(Token = "0x600117F")]
	[Address(RVA = "0x943680", Offset = "0x942480", VA = "0x180943680", Slot = "25")]
	public void Quit()
	{
		Application.Quit();
	}

	// Token: 0x04001B4E RID: 6990
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4001B4E")]
	private StandaloneFileSystem fileSystem;
}
