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

// Token: 0x020000F6 RID: 246
[Token(Token = "0x20000F6")]
public class FireBallCollision : MonoBehaviour
{
	// Token: 0x17000038 RID: 56
	// (get) Token: 0x06000C71 RID: 3185 RVA: 0x0001D35C File Offset: 0x0001B55C
	[Token(Token = "0x17000038")]
	private GameSave GameSave
	{
		[Token(Token = "0x6000C71")]
		[Address(RVA = "0xD1FFC0", Offset = "0xD1EFC0", VA = "0x180D1FFC0")]
		get
		{
			return Game.GameSave;
		}
	}

	// Token: 0x06000C72 RID: 3186 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000C72")]
	[Address(RVA = "0xD1C830", Offset = "0xD1B830", VA = "0x180D1C830")]
	public void InitData()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000C73 RID: 3187 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000C73")]
	[Address(RVA = "0xD1D270", Offset = "0xD1C270", VA = "0x180D1D270")]
	private void Update()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000C74 RID: 3188 RVA: 0x0001D370 File Offset: 0x0001B570
	[Token(Token = "0x6000C74")]
	[Address(RVA = "0xD1C7C0", Offset = "0xD1B7C0", VA = "0x180D1C7C0")]
	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: 0x06000C75 RID: 3189 RVA: 0x0001D3B8 File Offset: 0x0001B5B8
	[Token(Token = "0x6000C75")]
	[Address(RVA = "0xD1D210", Offset = "0xD1C210", VA = "0x180D1D210")]
	private void ReturnEffect()
	{
		GameObject gameObject = base.gameObject;
		int num = 0;
		gameObject.SetActive(num != 0);
		Action action = this.returnHandler;
		if (action != 0)
		{
			action();
			return;
		}
	}

	// Token: 0x06000C76 RID: 3190 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000C76")]
	[Address(RVA = "0xD1CE90", Offset = "0xD1BE90", VA = "0x180D1CE90")]
	public void ResetData(Vector3 pos, Quaternion rot)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000C77 RID: 3191 RVA: 0x0001D3F0 File Offset: 0x0001B5F0
	[Token(Token = "0x6000C77")]
	[Address(RVA = "0x3662A0", Offset = "0x3652A0", VA = "0x1803662A0")]
	public void SetTarget(Transform Target)
	{
		/*
An exception occurred when decompiling this method (06000C77)

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: 0x06000C78 RID: 3192 RVA: 0x0001D404 File Offset: 0x0001B604
	[Token(Token = "0x6000C78")]
	[Address(RVA = "0xD1D260", Offset = "0xD1C260", VA = "0x180D1D260")]
	public void SetAliveTime(float time)
	{
		this.aliveTimeSet = time;
	}

	// Token: 0x06000C79 RID: 3193 RVA: 0x0001D418 File Offset: 0x0001B618
	[Token(Token = "0x6000C79")]
	[Address(RVA = "0x660EC0", Offset = "0x65FEC0", VA = "0x180660EC0")]
	public void BindReturnHandlerEvent(Action returnHandler)
	{
		/*
An exception occurred when decompiling this method (06000C79)

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: 0x06000C7A RID: 3194 RVA: 0x0001D42C File Offset: 0x0001B62C
	[Token(Token = "0x6000C7A")]
	[Address(RVA = "0xD1FF90", Offset = "0xD1EF90", VA = "0x180D1FF90")]
	public FireBallCollision()
	{
	}

	// Token: 0x0400141A RID: 5146
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x400141A")]
	private List<EnemiesManager.EnemyData> enemies;

	// Token: 0x0400141B RID: 5147
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x400141B")]
	private AttackData[] g_AD;

	// Token: 0x0400141C RID: 5148
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x400141C")]
	public float g_fDuration = 2f;

	// Token: 0x0400141D RID: 5149
	[FieldOffset(Offset = "0x2C")]
	[Token(Token = "0x400141D")]
	public float g_fDurationV2 = 3f;

	// Token: 0x0400141E RID: 5150
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x400141E")]
	private float g_fDurationVal;

	// Token: 0x0400141F RID: 5151
	[FieldOffset(Offset = "0x34")]
	[Token(Token = "0x400141F")]
	public float g_fIntervals = 0.2f;

	// Token: 0x04001420 RID: 5152
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4001420")]
	private float g_fIntervalsVal;

	// Token: 0x04001421 RID: 5153
	[FieldOffset(Offset = "0x3C")]
	[Token(Token = "0x4001421")]
	private float g_fRadius = 2f;

	// Token: 0x04001422 RID: 5154
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4001422")]
	private bool g_bShake01;

	// Token: 0x04001423 RID: 5155
	[FieldOffset(Offset = "0x41")]
	[Token(Token = "0x4001423")]
	private bool g_bShake02;

	// Token: 0x04001424 RID: 5156
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x4001424")]
	private List<Transform> g_TargetList;

	// Token: 0x04001425 RID: 5157
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x4001425")]
	private Transform g_Track;

	// Token: 0x04001426 RID: 5158
	[Token(Token = "0x4001426")]
	private const float g_fMoveSpeed = 9f;

	// Token: 0x04001427 RID: 5159
	[FieldOffset(Offset = "0x58")]
	[Token(Token = "0x4001427")]
	public GameObject g_CollisionEffect;

	// Token: 0x04001428 RID: 5160
	[FieldOffset(Offset = "0x60")]
	[Token(Token = "0x4001428")]
	private EffectPool g_CollisionPool;

	// Token: 0x04001429 RID: 5161
	[FieldOffset(Offset = "0x68")]
	[Token(Token = "0x4001429")]
	public GameObject g_SECollisionObject;

	// Token: 0x0400142A RID: 5162
	[FieldOffset(Offset = "0x70")]
	[Token(Token = "0x400142A")]
	private SoundEffectPool g_SECollision;

	// Token: 0x0400142B RID: 5163
	[FieldOffset(Offset = "0x78")]
	[Token(Token = "0x400142B")]
	public GameObject g_EffLv01Object;

	// Token: 0x0400142C RID: 5164
	[FieldOffset(Offset = "0x80")]
	[Token(Token = "0x400142C")]
	public GameObject g_EffLv03Object;

	// Token: 0x0400142D RID: 5165
	[FieldOffset(Offset = "0x88")]
	[Token(Token = "0x400142D")]
	public GameObject g_EffLv04Object;

	// Token: 0x0400142E RID: 5166
	[FieldOffset(Offset = "0x90")]
	[Token(Token = "0x400142E")]
	public GameObject g_EffLv05Object;

	// Token: 0x0400142F RID: 5167
	[FieldOffset(Offset = "0x98")]
	[Token(Token = "0x400142F")]
	private EffectPool g_EffLv01;

	// Token: 0x04001430 RID: 5168
	[FieldOffset(Offset = "0xA0")]
	[Token(Token = "0x4001430")]
	private EffectPool g_EffLv03;

	// Token: 0x04001431 RID: 5169
	[FieldOffset(Offset = "0xA8")]
	[Token(Token = "0x4001431")]
	private EffectPool g_EffLv04;

	// Token: 0x04001432 RID: 5170
	[FieldOffset(Offset = "0xB0")]
	[Token(Token = "0x4001432")]
	private EffectPool g_EffLv05;

	// Token: 0x04001433 RID: 5171
	[FieldOffset(Offset = "0xB8")]
	[Token(Token = "0x4001433")]
	public GameObject g_SEObject;

	// Token: 0x04001434 RID: 5172
	[FieldOffset(Offset = "0xC0")]
	[Token(Token = "0x4001434")]
	public GameObject g_SEV2Object;

	// Token: 0x04001435 RID: 5173
	[FieldOffset(Offset = "0xC8")]
	[Token(Token = "0x4001435")]
	private SoundEffectPool g_SE;

	// Token: 0x04001436 RID: 5174
	[FieldOffset(Offset = "0xD0")]
	[Token(Token = "0x4001436")]
	private SoundEffectPool g_SEV2;

	// Token: 0x04001437 RID: 5175
	[Token(Token = "0x4001437")]
	private const float g_fSuckDistance = 18f;

	// Token: 0x04001438 RID: 5176
	[FieldOffset(Offset = "0xD8")]
	[Token(Token = "0x4001438")]
	private float g_fSuckStrength;

	// Token: 0x04001439 RID: 5177
	[FieldOffset(Offset = "0xDC")]
	[Token(Token = "0x4001439")]
	private float aliveTimeSet;

	// Token: 0x0400143A RID: 5178
	[FieldOffset(Offset = "0xE0")]
	[Token(Token = "0x400143A")]
	private float aliveTime;

	// Token: 0x0400143B RID: 5179
	[FieldOffset(Offset = "0xE8")]
	[Token(Token = "0x400143B")]
	private Action returnHandler;
}
