using System;
using System.IO;
using Cpp2IlInjected;
using MarsSDK;
using UnityEngine;

// Token: 0x02000371 RID: 881
[Token(Token = "0x2000371")]
public class ScreenShotTest : MonoBehaviour, IUIController
{
	// Token: 0x060022D1 RID: 8913 RVA: 0x00053FC4 File Offset: 0x000521C4
	[Token(Token = "0x60022D1")]
	[Address(RVA = "0x514300", Offset = "0x513300", VA = "0x180514300")]
	private void Start()
	{
		GameObject[] array = this.models;
		int num = 0;
		int num2 = 0;
		int length = array.Length;
		if (num2 < length)
		{
			GameObject gameObject = array[num];
			int num3 = 0;
			gameObject.SetActive(num3 != 0);
			num++;
		}
		Camera[] array2 = this.cameras;
		int num4 = 0;
		int num5 = 0;
		int length2 = array2.Length;
		if (num5 < length2)
		{
			GameObject gameObject2 = array2[num4].gameObject;
			int num6 = 0;
			gameObject2.SetActive(num6 != 0);
			num4++;
		}
		this.modelIndex = (int)((ulong)0L);
		this.SwitchModel();
		this.cameraIndex = (int)((ulong)0L);
		this.SwitchCamera();
		Game.BindUIController(this);
		Game.SwitchUIControlInput();
		DirectoryInfo directoryInfo = new DirectoryInfo("Photo");
		if (!directoryInfo.Exists)
		{
			directoryInfo.Create();
		}
	}

	// Token: 0x060022D2 RID: 8914 RVA: 0x00054090 File Offset: 0x00052290
	[Token(Token = "0x60022D2")]
	[Address(RVA = "0x514290", Offset = "0x513290", VA = "0x180514290", Slot = "4")]
	public void Move(Direction2D direction)
	{
		if (direction == Direction2D.Left)
		{
			while (this.modelIndex != -1)
			{
			}
			int length = this.models.Length;
			this.modelIndex = length;
			this.SwitchModel();
			return;
		}
		if (direction == Direction2D.Right)
		{
			int num = this.modelIndex;
			GameObject[] array = this.models;
			num++;
			this.modelIndex = num;
			if (num == array.Length)
			{
				this.modelIndex = (int)((ulong)0L);
			}
			this.SwitchModel();
			return;
		}
	}

	// Token: 0x060022D3 RID: 8915 RVA: 0x00054100 File Offset: 0x00052300
	[Token(Token = "0x60022D3")]
	[Address(RVA = "0x5145A0", Offset = "0x5135A0", VA = "0x1805145A0", Slot = "5")]
	public void SwitchLeftward()
	{
		if (this.cameraIndex == -1)
		{
			int length = this.cameras.Length;
			this.cameraIndex = length;
		}
		this.SwitchCamera();
	}

	// Token: 0x060022D4 RID: 8916 RVA: 0x00054138 File Offset: 0x00052338
	[Token(Token = "0x60022D4")]
	[Address(RVA = "0x5146E0", Offset = "0x5136E0", VA = "0x1805146E0", Slot = "6")]
	public void SwitchRightward()
	{
		int num = this.cameraIndex;
		Camera[] array = this.cameras;
		num++;
		this.cameraIndex = num;
		int num2 = 0;
		this.cameraIndex = num2;
		this.SwitchCamera();
	}

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

	// Token: 0x060022D6 RID: 8918 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60022D6")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "8")]
	public void Hold(bool onHolding)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060022D7 RID: 8919 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60022D7")]
	[Address(RVA = "0x514080", Offset = "0x513080", VA = "0x180514080", Slot = "9")]
	public void Cancel()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

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

	// Token: 0x060022D9 RID: 8921 RVA: 0x00054174 File Offset: 0x00052374
	[Token(Token = "0x60022D9")]
	[Address(RVA = "0x5145D0", Offset = "0x5135D0", VA = "0x1805145D0")]
	private void SwitchModel()
	{
		if (this.currentModel)
		{
			GameObject gameObject = this.currentModel.gameObject;
			int num = 0;
			gameObject.SetActive(num != 0);
		}
		GameObject[] array = this.models;
		int num2 = this.modelIndex;
		GameObject gameObject2 = array[num2];
		this.currentModel = gameObject2;
		this.currentModel.SetActive(true);
		int num3 = this.modelIndex;
		Light light = this.lightForBoss3AndBoss5;
		if (num3 == 1)
		{
		}
		bool flag = num3 == 2;
		light.enabled = flag;
	}

	// Token: 0x060022DA RID: 8922 RVA: 0x00054200 File Offset: 0x00052400
	[Token(Token = "0x60022DA")]
	[Address(RVA = "0x5144B0", Offset = "0x5134B0", VA = "0x1805144B0")]
	private void SwitchCamera()
	{
		if (this.currentCamera)
		{
			GameObject gameObject = this.currentCamera.gameObject;
			int num = 0;
			gameObject.SetActive(num != 0);
		}
		Camera[] array = this.cameras;
		int num2 = this.cameraIndex;
		Camera camera = array[num2];
		this.currentCamera = camera;
		this.currentCamera.gameObject.SetActive(true);
	}

	// Token: 0x060022DB RID: 8923 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60022DB")]
	[Address(RVA = "0x514080", Offset = "0x513080", VA = "0x180514080")]
	private void TakePhoto()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060022DC RID: 8924 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60022DC")]
	[Address(RVA = "0x514210", Offset = "0x513210", VA = "0x180514210")]
	private string GetFileNameSuffix()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060022DD RID: 8925 RVA: 0x00054268 File Offset: 0x00052468
	[Token(Token = "0x60022DD")]
	[Address(RVA = "0x328C40", Offset = "0x327C40", VA = "0x180328C40")]
	public ScreenShotTest()
	{
	}

	// Token: 0x04002C55 RID: 11349
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4002C55")]
	[SerializeField]
	private int modelIndex;

	// Token: 0x04002C56 RID: 11350
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4002C56")]
	[SerializeField]
	private GameObject[] models;

	// Token: 0x04002C57 RID: 11351
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4002C57")]
	[SerializeField]
	private int cameraIndex;

	// Token: 0x04002C58 RID: 11352
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x4002C58")]
	[SerializeField]
	private Camera[] cameras;

	// Token: 0x04002C59 RID: 11353
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4002C59")]
	[SerializeField]
	private Light lightForBoss3AndBoss5;

	// Token: 0x04002C5A RID: 11354
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4002C5A")]
	private GameObject currentModel;

	// Token: 0x04002C5B RID: 11355
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x4002C5B")]
	private Camera currentCamera;
}
