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

namespace UnitySA.Utility
{
	// Token: 0x020005D9 RID: 1497
	[Token(Token = "0x20005D9")]
	[Serializable]
	public class FOVZoom
	{
		// Token: 0x06002F82 RID: 12162 RVA: 0x000654B4 File Offset: 0x000636B4
		[Token(Token = "0x6002F82")]
		[Address(RVA = "0x4BC360", Offset = "0x4BB160", VA = "0x1804BC360")]
		public void Setup(Camera camera)
		{
			/*
An exception occurred when decompiling this method (06002F82)

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: 0x06002F83 RID: 12163 RVA: 0x00065504 File Offset: 0x00063704
		[Token(Token = "0x6002F83")]
		[Address(RVA = "0x4BC180", Offset = "0x4BAF80", VA = "0x1804BC180")]
		private void CheckStatus(Camera camera)
		{
			/*
An exception occurred when decompiling this method (06002F83)

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: 0x06002F84 RID: 12164 RVA: 0x00065540 File Offset: 0x00063740
		[Token(Token = "0x6002F84")]
		[Address(RVA = "0x385090", Offset = "0x383E90", VA = "0x180385090")]
		public void ChangeCamera(Camera camera)
		{
			/*
An exception occurred when decompiling this method (06002F84)

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: 0x06002F85 RID: 12165 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002F85")]
		[Address(RVA = "0x4BC2F0", Offset = "0x4BB0F0", VA = "0x1804BC2F0")]
		public IEnumerator FOVKickUp()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F86 RID: 12166 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002F86")]
		[Address(RVA = "0x4BC280", Offset = "0x4BB080", VA = "0x1804BC280")]
		public IEnumerator FOVKickDown()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F87 RID: 12167 RVA: 0x00065554 File Offset: 0x00063754
		[Token(Token = "0x6002F87")]
		[Address(RVA = "0x4BC490", Offset = "0x4BB290", VA = "0x1804BC490")]
		public FOVZoom()
		{
		}

		// Token: 0x040039CD RID: 14797
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x40039CD")]
		public Camera Camera;

		// Token: 0x040039CE RID: 14798
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40039CE")]
		[HideInInspector]
		public float originalFov;

		// Token: 0x040039CF RID: 14799
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x40039CF")]
		public float FOVIncrease = 3f;

		// Token: 0x040039D0 RID: 14800
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40039D0")]
		public float TimeToIncrease = 1f;

		// Token: 0x040039D1 RID: 14801
		[FieldOffset(Offset = "0x24")]
		[Token(Token = "0x40039D1")]
		public float TimeToDecrease = 1f;

		// Token: 0x040039D2 RID: 14802
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x40039D2")]
		public AnimationCurve IncreaseCurve;
	}
}
