using System;
using System.Collections;
using Cpp2IlInjected;
using UnityEngine;

namespace UnitySA.Utility
{
	// Token: 0x02000631 RID: 1585
	[Token(Token = "0x2000631")]
	[Serializable]
	public class FOVZoom
	{
		// Token: 0x0600324B RID: 12875 RVA: 0x0006C784 File Offset: 0x0006A984
		[Token(Token = "0x600324B")]
		[Address(RVA = "0xD180A0", Offset = "0xD170A0", VA = "0x180D180A0")]
		public void Setup(Camera camera)
		{
			/*
An exception occurred when decompiling this method (0600324B)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UnitySA.Utility.FOVZoom::Setup(UnityEngine.Camera)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	IL_38:; 	stloc:Exception(var_3_42, newobj:Exception(Exception::.ctor, ldstr:string("FOVKick Increase curve is null, please define the curve for the field of view kicks"))); }; 
   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: 0x0600324C RID: 12876 RVA: 0x0006C7D4 File Offset: 0x0006A9D4
		[Token(Token = "0x600324C")]
		[Address(RVA = "0xD17EC0", Offset = "0xD16EC0", VA = "0x180D17EC0")]
		private void CheckStatus(Camera camera)
		{
			/*
An exception occurred when decompiling this method (0600324C)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UnitySA.Utility.FOVZoom::CheckStatus(UnityEngine.Camera)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	IL_23:; 	stloc:Exception(var_2_2D, newobj:Exception(Exception::.ctor, ldstr:string("FOVKick camera is null, please supply the camera to the constructor"))); }; 
   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: 0x0600324D RID: 12877 RVA: 0x0006C810 File Offset: 0x0006AA10
		[Token(Token = "0x600324D")]
		[Address(RVA = "0x3EDC60", Offset = "0x3ECC60", VA = "0x1803EDC60")]
		public void ChangeCamera(Camera camera)
		{
			/*
An exception occurred when decompiling this method (0600324D)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void UnitySA.Utility.FOVZoom::ChangeCamera(UnityEngine.Camera)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stfld:Camera(FOVZoom::Camera, ldloc:FOVZoom(this), ldloc:Camera(camera)); }; 
   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: 0x0600324E RID: 12878 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600324E")]
		[Address(RVA = "0xD18030", Offset = "0xD17030", VA = "0x180D18030")]
		public IEnumerator FOVKickUp()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600324F RID: 12879 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600324F")]
		[Address(RVA = "0xD17FC0", Offset = "0xD16FC0", VA = "0x180D17FC0")]
		public IEnumerator FOVKickDown()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003250 RID: 12880 RVA: 0x0006C824 File Offset: 0x0006AA24
		[Token(Token = "0x6003250")]
		[Address(RVA = "0xD181D0", Offset = "0xD171D0", VA = "0x180D181D0")]
		public FOVZoom()
		{
		}

		// Token: 0x04003CB7 RID: 15543
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4003CB7")]
		public Camera Camera;

		// Token: 0x04003CB8 RID: 15544
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003CB8")]
		[HideInInspector]
		public float originalFov;

		// Token: 0x04003CB9 RID: 15545
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4003CB9")]
		public float FOVIncrease = 3f;

		// Token: 0x04003CBA RID: 15546
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4003CBA")]
		public float TimeToIncrease = 1f;

		// Token: 0x04003CBB RID: 15547
		[FieldOffset(Offset = "0x24")]
		[Token(Token = "0x4003CBB")]
		public float TimeToDecrease = 1f;

		// Token: 0x04003CBC RID: 15548
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4003CBC")]
		public AnimationCurve IncreaseCurve;
	}
}
