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

// Token: 0x020000D1 RID: 209
[Token(Token = "0x20000D1")]
public class FireBallCollision : MonoBehaviour
{
	// Token: 0x17000037 RID: 55
	// (get) Token: 0x06000B59 RID: 2905 RVA: 0x0001B8A4 File Offset: 0x00019AA4
	[Token(Token = "0x17000037")]
	private GameSave GameSave
	{
		[Token(Token = "0x6000B59")]
		[Address(RVA = "0x4C3A00", Offset = "0x4C2800", VA = "0x1804C3A00")]
		get
		{
			return Game.instance.gameSave;
		}
	}

	// Token: 0x06000B5A RID: 2906 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000B5A")]
	[Address(RVA = "0x4C05B0", Offset = "0x4BF3B0", VA = "0x1804C05B0")]
	public void InitData()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000B5B RID: 2907 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000B5B")]
	[Address(RVA = "0x4C0FE0", Offset = "0x4BFDE0", VA = "0x1804C0FE0")]
	private void Update()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000B5C RID: 2908 RVA: 0x0001B8C4 File Offset: 0x00019AC4
	[Token(Token = "0x6000B5C")]
	[Address(RVA = "0x4C0540", Offset = "0x4BF340", VA = "0x1804C0540")]
	private void CheckAliveTime(float deltaTime)
	{
		float num = this.aliveTime;
		if (0 < (int)num)
		{
			this.aliveTime = num;
			GameObject gameObject = base.gameObject;
			int num2 = 0;
			gameObject.SetActive(num2 != 0);
			Action action = this.returnHandler;
			if (action != 0)
			{
				action();
				return;
			}
		}
	}

	// Token: 0x06000B5D RID: 2909 RVA: 0x0001B90C File Offset: 0x00019B0C
	[Token(Token = "0x6000B5D")]
	[Address(RVA = "0x4C0F70", Offset = "0x4BFD70", VA = "0x1804C0F70")]
	private void ReturnEffect()
	{
		GameObject gameObject = base.gameObject;
		int num = 0;
		gameObject.SetActive(num != 0);
		Action action = this.returnHandler;
		if (action != 0)
		{
			action();
			return;
		}
	}

	// Token: 0x06000B5E RID: 2910 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000B5E")]
	[Address(RVA = "0x4C0C00", Offset = "0x4BFA00", VA = "0x1804C0C00")]
	public void ResetData(Vector3 pos, Quaternion rot)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000B5F RID: 2911 RVA: 0x0001B944 File Offset: 0x00019B44
	[Token(Token = "0x6000B5F")]
	[Address(RVA = "0x4C0FD0", Offset = "0x4BFDD0", VA = "0x1804C0FD0")]
	public void SetTarget(Transform Target)
	{
		/*
An exception occurred when decompiling this method (06000B5F)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void FireBallCollision::SetTarget(UnityEngine.Transform)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stfld:Transform(FireBallCollision::g_Track, ldloc:FireBallCollision(this), ldloc:Transform(Target)); }; 
   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: 0x06000B60 RID: 2912 RVA: 0x0001B958 File Offset: 0x00019B58
	[Token(Token = "0x6000B60")]
	[Address(RVA = "0x4C0FC0", Offset = "0x4BFDC0", VA = "0x1804C0FC0")]
	public void SetAliveTime(float time)
	{
		this.aliveTimeSet = time;
	}

	// Token: 0x06000B61 RID: 2913 RVA: 0x0001B96C File Offset: 0x00019B6C
	[Token(Token = "0x6000B61")]
	[Address(RVA = "0x4C0530", Offset = "0x4BF330", VA = "0x1804C0530")]
	public void BindReturnHandlerEvent(Action returnHandler)
	{
		/*
An exception occurred when decompiling this method (06000B61)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void FireBallCollision::BindReturnHandlerEvent(System.Action)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stfld:Action(FireBallCollision::returnHandler, ldloc:FireBallCollision(this), ldloc:Action(returnHandler)); }; 
   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: 0x06000B62 RID: 2914 RVA: 0x0001B980 File Offset: 0x00019B80
	[Token(Token = "0x6000B62")]
	[Address(RVA = "0x4C39D0", Offset = "0x4C27D0", VA = "0x1804C39D0")]
	public FireBallCollision()
	{
	}

	// Token: 0x0400131B RID: 4891
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x400131B")]
	private List<EnemiesManager.EnemyData> enemies;

	// Token: 0x0400131C RID: 4892
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x400131C")]
	private AttackData[] g_AD;

	// Token: 0x0400131D RID: 4893
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x400131D")]
	public float g_fDuration = 2f;

	// Token: 0x0400131E RID: 4894
	[FieldOffset(Offset = "0x2C")]
	[Token(Token = "0x400131E")]
	public float g_fDurationV2 = 3f;

	// Token: 0x0400131F RID: 4895
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x400131F")]
	private float g_fDurationVal;

	// Token: 0x04001320 RID: 4896
	[FieldOffset(Offset = "0x34")]
	[Token(Token = "0x4001320")]
	public float g_fIntervals = 0.2f;

	// Token: 0x04001321 RID: 4897
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4001321")]
	private float g_fIntervalsVal;

	// Token: 0x04001322 RID: 4898
	[FieldOffset(Offset = "0x3C")]
	[Token(Token = "0x4001322")]
	private float g_fRadius = 2f;

	// Token: 0x04001323 RID: 4899
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4001323")]
	private bool g_bShake01;

	// Token: 0x04001324 RID: 4900
	[FieldOffset(Offset = "0x41")]
	[Token(Token = "0x4001324")]
	private bool g_bShake02;

	// Token: 0x04001325 RID: 4901
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x4001325")]
	private List<Transform> g_TargetList;

	// Token: 0x04001326 RID: 4902
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x4001326")]
	private Transform g_Track;

	// Token: 0x04001327 RID: 4903
	[Token(Token = "0x4001327")]
	private const float g_fMoveSpeed = 3f;

	// Token: 0x04001328 RID: 4904
	[FieldOffset(Offset = "0x58")]
	[Token(Token = "0x4001328")]
	public GameObject g_CollisionEffect;

	// Token: 0x04001329 RID: 4905
	[FieldOffset(Offset = "0x60")]
	[Token(Token = "0x4001329")]
	private EffectPool g_CollisionPool;

	// Token: 0x0400132A RID: 4906
	[FieldOffset(Offset = "0x68")]
	[Token(Token = "0x400132A")]
	public GameObject g_SECollisionObject;

	// Token: 0x0400132B RID: 4907
	[FieldOffset(Offset = "0x70")]
	[Token(Token = "0x400132B")]
	private SoundEffectPool g_SECollision;

	// Token: 0x0400132C RID: 4908
	[FieldOffset(Offset = "0x78")]
	[Token(Token = "0x400132C")]
	public GameObject g_EffLv01Object;

	// Token: 0x0400132D RID: 4909
	[FieldOffset(Offset = "0x80")]
	[Token(Token = "0x400132D")]
	public GameObject g_EffLv03Object;

	// Token: 0x0400132E RID: 4910
	[FieldOffset(Offset = "0x88")]
	[Token(Token = "0x400132E")]
	public GameObject g_EffLv04Object;

	// Token: 0x0400132F RID: 4911
	[FieldOffset(Offset = "0x90")]
	[Token(Token = "0x400132F")]
	public GameObject g_EffLv05Object;

	// Token: 0x04001330 RID: 4912
	[FieldOffset(Offset = "0x98")]
	[Token(Token = "0x4001330")]
	private EffectPool g_EffLv01;

	// Token: 0x04001331 RID: 4913
	[FieldOffset(Offset = "0xA0")]
	[Token(Token = "0x4001331")]
	private EffectPool g_EffLv03;

	// Token: 0x04001332 RID: 4914
	[FieldOffset(Offset = "0xA8")]
	[Token(Token = "0x4001332")]
	private EffectPool g_EffLv04;

	// Token: 0x04001333 RID: 4915
	[FieldOffset(Offset = "0xB0")]
	[Token(Token = "0x4001333")]
	private EffectPool g_EffLv05;

	// Token: 0x04001334 RID: 4916
	[FieldOffset(Offset = "0xB8")]
	[Token(Token = "0x4001334")]
	public GameObject g_SEObject;

	// Token: 0x04001335 RID: 4917
	[FieldOffset(Offset = "0xC0")]
	[Token(Token = "0x4001335")]
	public GameObject g_SEV2Object;

	// Token: 0x04001336 RID: 4918
	[FieldOffset(Offset = "0xC8")]
	[Token(Token = "0x4001336")]
	private SoundEffectPool g_SE;

	// Token: 0x04001337 RID: 4919
	[FieldOffset(Offset = "0xD0")]
	[Token(Token = "0x4001337")]
	private SoundEffectPool g_SEV2;

	// Token: 0x04001338 RID: 4920
	[Token(Token = "0x4001338")]
	private const float g_fSuckDistance = 18f;

	// Token: 0x04001339 RID: 4921
	[Token(Token = "0x4001339")]
	private const float g_fSuckStrength = 2.7f;

	// Token: 0x0400133A RID: 4922
	[FieldOffset(Offset = "0xD8")]
	[Token(Token = "0x400133A")]
	private float aliveTimeSet;

	// Token: 0x0400133B RID: 4923
	[FieldOffset(Offset = "0xDC")]
	[Token(Token = "0x400133B")]
	private float aliveTime;

	// Token: 0x0400133C RID: 4924
	[FieldOffset(Offset = "0xE0")]
	[Token(Token = "0x400133C")]
	private Action returnHandler;
}
