using System;
using System.Collections.Generic;
using System.Linq;
using Cpp2IlInjected;
using MarsSDK;
using Newtonsoft.Json;
using UnityEngine;

// Token: 0x0200017C RID: 380
[Token(Token = "0x200017C")]
public class EditorPlatform : IGamePlatform
{
	// Token: 0x1700007E RID: 126
	// (get) Token: 0x06001293 RID: 4755 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x1700007E")]
	public ControllerDevice DefaultController
	{
		[Token(Token = "0x6001293")]
		[Address(RVA = "0x2FF2E0", Offset = "0x2FE2E0", VA = "0x1802FF2E0", Slot = "4")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x1700007F RID: 127
	// (get) Token: 0x06001294 RID: 4756 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x1700007F")]
	public IFileSystem FileSystem
	{
		[Token(Token = "0x6001294")]
		[Address(RVA = "0x32FD80", Offset = "0x32ED80", VA = "0x18032FD80", Slot = "5")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x17000080 RID: 128
	// (get) Token: 0x06001295 RID: 4757 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x17000080")]
	public bool IsConsolePlatform
	{
		[Token(Token = "0x6001295")]
		[Address(RVA = "0x29A960", Offset = "0x299960", VA = "0x18029A960", Slot = "6")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x17000081 RID: 129
	// (get) Token: 0x06001296 RID: 4758 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x17000081")]
	public bool UseAsiaController
	{
		[Token(Token = "0x6001296")]
		[Address(RVA = "0x29A960", Offset = "0x299960", VA = "0x18029A960", Slot = "7")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x17000082 RID: 130
	// (get) Token: 0x06001297 RID: 4759 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x17000082")]
	public bool UseAchievement
	{
		[Token(Token = "0x6001297")]
		[Address(RVA = "0x29A960", Offset = "0x299960", VA = "0x18029A960", Slot = "8")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x17000083 RID: 131
	// (get) Token: 0x06001298 RID: 4760 RVA: 0x0002A928 File Offset: 0x00028B28
	[Token(Token = "0x17000083")]
	public bool ShowQuitButton
	{
		[Token(Token = "0x6001298")]
		[Address(RVA = "0x4990D0", Offset = "0x4980D0", VA = "0x1804990D0", Slot = "9")]
		get
		{
			return true;
		}
	}

	// Token: 0x17000084 RID: 132
	// (get) Token: 0x06001299 RID: 4761 RVA: 0x0002A938 File Offset: 0x00028B38
	[Token(Token = "0x17000084")]
	public bool ShowDepthOfFieldSetting
	{
		[Token(Token = "0x6001299")]
		[Address(RVA = "0x4990D0", Offset = "0x4980D0", VA = "0x1804990D0", Slot = "10")]
		get
		{
			return true;
		}
	}

	// Token: 0x17000085 RID: 133
	// (get) Token: 0x0600129A RID: 4762 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x17000085")]
	public bool IncludeChineseVideos
	{
		[Token(Token = "0x600129A")]
		[Address(RVA = "0x29A960", Offset = "0x299960", VA = "0x18029A960", Slot = "11")]
		get
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x0600129B RID: 4763 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600129B")]
	[Address(RVA = "0x159A3C0", Offset = "0x15993C0", VA = "0x18159A3C0")]
	public EditorPlatform()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600129C RID: 4764 RVA: 0x0002A948 File Offset: 0x00028B48
	[Token(Token = "0x600129C")]
	[Address(RVA = "0x4BD820", Offset = "0x4BC820", VA = "0x1804BD820", Slot = "12")]
	public void Setup(Action nextAction)
	{
		if (nextAction != 0)
		{
			nextAction();
			return;
		}
	}

	// Token: 0x0600129D RID: 4765 RVA: 0x0002A960 File Offset: 0x00028B60
	[Token(Token = "0x600129D")]
	[Address(RVA = "0x159A260", Offset = "0x1599260", VA = "0x18159A260", Slot = "13")]
	public void InitDlc()
	{
		GameDlcData dlc = Game.DLC;
		List<GameDlc> list = Enumerable.ToList<GameDlc>(EnumUtils.AllValues<GameDlc>());
		dlc.SetupDlc(list);
	}

	// Token: 0x0600129E RID: 4766 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600129E")]
	[Address(RVA = "0x159A110", Offset = "0x1599110", VA = "0x18159A110", Slot = "14")]
	public GameConfig GetConfig()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600129F RID: 4767 RVA: 0x0002A990 File Offset: 0x00028B90
	[Token(Token = "0x600129F")]
	[Address(RVA = "0x159A300", Offset = "0x1599300", VA = "0x18159A300", Slot = "15")]
	public void SaveConfig(GameConfig config)
	{
		string text = JsonConvert.SerializeObject(config);
		PlayerPrefs.SetString("Config", text);
	}

	// Token: 0x060012A0 RID: 4768 RVA: 0x0002A9B0 File Offset: 0x00028BB0
	[Token(Token = "0x60012A0")]
	[Address(RVA = "0x159A050", Offset = "0x1599050", VA = "0x18159A050")]
	private GameConfig CreateConfig()
	{
		GameConfig gameConfig = new GameConfig();
		gameConfig.configVersion = (int)((ulong)21L);
		string text = JsonConvert.SerializeObject(gameConfig);
		PlayerPrefs.SetString("Config", text);
		return gameConfig;
	}

	// Token: 0x060012A1 RID: 4769 RVA: 0x0002A9E8 File Offset: 0x00028BE8
	[Token(Token = "0x60012A1")]
	[Address(RVA = "0x159A370", Offset = "0x1599370", VA = "0x18159A370", Slot = "16")]
	public void ShowNoSpaceDialogue(Action nextAction)
	{
		/*
An exception occurred when decompiling this method (060012A1)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void EditorPlatform::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: 0x060012A2 RID: 4770 RVA: 0x0002AA00 File Offset: 0x00028C00
	[Token(Token = "0x60012A2")]
	[Address(RVA = "0x159A230", Offset = "0x1599230", VA = "0x18159A230", Slot = "17")]
	public GameSkin[] GetPlatformSkins()
	{
		return EnumUtils.AllValues<GameSkin>();
	}

	// Token: 0x060012A3 RID: 4771 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60012A3")]
	[Address(RVA = "0x29A960", Offset = "0x299960", VA = "0x18029A960", Slot = "18")]
	public bool HasAchievementUnlocked(int index)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060012A4 RID: 4772 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60012A4")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "19")]
	public void UnlockAchievement(int index)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060012A5 RID: 4773 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60012A5")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "20")]
	public void ResetAllAchievements(Action nextAction)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060012A6 RID: 4774 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60012A6")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "21")]
	public void UpdateStatsData(GameCollection collectionData)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060012A7 RID: 4775 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60012A7")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "23")]
	public void MountDLCPoint(GameSkin skin)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060012A8 RID: 4776 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60012A8")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "24")]
	public void UnmountDLCPoints()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060012A9 RID: 4777 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60012A9")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "22")]
	public void Quit()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060012AA RID: 4778 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60012AA")]
	[Address(RVA = "0x29A960", Offset = "0x299960", VA = "0x18029A960")]
	private bool GetConsolePlatformFlag()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060012AB RID: 4779 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60012AB")]
	[Address(RVA = "0x29A960", Offset = "0x299960", VA = "0x18029A960")]
	private bool GetUseAsiaControllerFlag()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060012AC RID: 4780 RVA: 0x0002AA14 File Offset: 0x00028C14
	[Token(Token = "0x60012AC")]
	[Address(RVA = "0x4990D0", Offset = "0x4980D0", VA = "0x1804990D0")]
	private bool GetShowQuitButtonFlag()
	{
		return true;
	}

	// Token: 0x060012AD RID: 4781 RVA: 0x0002AA24 File Offset: 0x00028C24
	[Token(Token = "0x60012AD")]
	[Address(RVA = "0x4990D0", Offset = "0x4980D0", VA = "0x1804990D0")]
	private bool GetShowDOFButtonFlag()
	{
		return true;
	}

	// Token: 0x060012AE RID: 4782 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60012AE")]
	[Address(RVA = "0x2FF2E0", Offset = "0x2FE2E0", VA = "0x1802FF2E0")]
	private ControllerDevice GetDefaultController()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x04001CBC RID: 7356
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4001CBC")]
	private StandaloneFileSystem fileSystem;
}
