using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000078 RID: 120
[Token(Token = "0x2000078")]
public class AI_GhostC_Lightning : AI_GhostC
{
	// Token: 0x060004E5 RID: 1253 RVA: 0x0000BD64 File Offset: 0x00009F64
	[Token(Token = "0x60004E5")]
	[Address(RVA = "0x18E0230", Offset = "0x18DF230", VA = "0x1818E0230", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		base.Start(This, NPCM);
		this.g_fVisionDistance = 12f;
		this.g_fAttackRadius = 1.2f;
		this.g_fWalkSpeed = 4f;
		this.g_fRunSpeed = 9f;
		this.g_fDashSpeed = 15f;
	}

	// Token: 0x060004E6 RID: 1254 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004E6")]
	[Address(RVA = "0x18E0350", Offset = "0x18DF350", VA = "0x1818E0350", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004E7 RID: 1255 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004E7")]
	[Address(RVA = "0x18265E0", Offset = "0x18255E0", VA = "0x1818265E0")]
	private new void StatusSwich()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004E8 RID: 1256 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004E8")]
	[Address(RVA = "0x18DFB50", Offset = "0x18DEB50", VA = "0x1818DFB50", Slot = "38")]
	public override void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004E9 RID: 1257 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004E9")]
	[Address(RVA = "0x18DF090", Offset = "0x18DE090", VA = "0x1818DF090", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004EA RID: 1258 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004EA")]
	[Address(RVA = "0x18DF720", Offset = "0x18DE720", VA = "0x1818DF720")]
	private void InitFightingType(AI_GhostC_Lightning.AIFighting Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004EB RID: 1259 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004EB")]
	[Address(RVA = "0x18DEF10", Offset = "0x18DDF10", VA = "0x1818DEF10")]
	private void FWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004EC RID: 1260 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004EC")]
	[Address(RVA = "0x18DEDD0", Offset = "0x18DDDD0", VA = "0x1818DEDD0")]
	private void FTrack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004ED RID: 1261 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004ED")]
	[Address(RVA = "0x18DE930", Offset = "0x18DD930", VA = "0x1818DE930")]
	private void FBite()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004EE RID: 1262 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004EE")]
	[Address(RVA = "0x18DEC60", Offset = "0x18DDC60", VA = "0x1818DEC60")]
	private void FRunBite01()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004EF RID: 1263 RVA: 0x0000BDB0 File Offset: 0x00009FB0
	[Token(Token = "0x60004EF")]
	[Address(RVA = "0x18DEDA0", Offset = "0x18DDDA0", VA = "0x1818DEDA0")]
	private void FRunBite02()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int num2 = 0;
			this.InitFightingType((AI_GhostC_Lightning.AIFighting)num2);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060004F0 RID: 1264 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004F0")]
	[Address(RVA = "0x18DEB10", Offset = "0x18DDB10", VA = "0x1818DEB10")]
	private void FCharge()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004F1 RID: 1265 RVA: 0x0000BDDC File Offset: 0x00009FDC
	[Token(Token = "0x60004F1")]
	[Address(RVA = "0x18E00E0", Offset = "0x18DF0E0", VA = "0x1818E00E0")]
	public void OpenLightningSpeedUp()
	{
		/*
An exception occurred when decompiling this method (060004F1)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void AI_GhostC_Lightning::OpenLightningSpeedUp()

 ---> System.ArgumentOutOfRangeException: Non-negative number required. (Parameter 'length')
   at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
   at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length)
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackSlot.ModifyStack(StackSlot[] stack, Int32 popCount, Int32 pushCount, ByteCode pushDefinition) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 51
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 401
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDef methodDef, Boolean optimize, DecompilerContext context) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 276
   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 112
   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: 0x060004F2 RID: 1266 RVA: 0x0000BE64 File Offset: 0x0000A064
	[Token(Token = "0x60004F2")]
	[Address(RVA = "0x18E0280", Offset = "0x18DF280", VA = "0x1818E0280")]
	public void StopLightningSpeedUp()
	{
		/*
An exception occurred when decompiling this method (060004F2)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void AI_GhostC_Lightning::StopLightningSpeedUp()

 ---> System.ArgumentOutOfRangeException: Non-negative number required. (Parameter 'length')
   at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
   at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length)
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackSlot.ModifyStack(StackSlot[] stack, Int32 popCount, Int32 pushCount, ByteCode pushDefinition) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 51
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 401
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDef methodDef, Boolean optimize, DecompilerContext context) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 276
   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 112
   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: 0x060004F3 RID: 1267 RVA: 0x0000BEE0 File Offset: 0x0000A0E0
	[Token(Token = "0x60004F3")]
	[Address(RVA = "0x18E01C0", Offset = "0x18DF1C0", VA = "0x1818E01C0", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		/*
An exception occurred when decompiling this method (060004F3)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void AI_GhostC_Lightning::SetTimeScale(System.Single)

 ---> System.ArgumentOutOfRangeException: Non-negative number required. (Parameter 'length')
   at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
   at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length)
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackSlot.ModifyStack(StackSlot[] stack, Int32 popCount, Int32 pushCount, ByteCode pushDefinition) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 51
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 401
   at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDef methodDef, Boolean optimize, DecompilerContext context) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 276
   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 112
   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: 0x060004F4 RID: 1268 RVA: 0x0000BF2C File Offset: 0x0000A12C
	[Token(Token = "0x60004F4")]
	[Address(RVA = "0x18E0750", Offset = "0x18DF750", VA = "0x1818E0750")]
	public AI_GhostC_Lightning()
	{
	}

	// Token: 0x040005D0 RID: 1488
	[FieldOffset(Offset = "0x210")]
	[Token(Token = "0x40005D0")]
	private float g_fAniMoveSpeed;

	// Token: 0x040005D1 RID: 1489
	[FieldOffset(Offset = "0x214")]
	[Token(Token = "0x40005D1")]
	private AI_GhostC_Lightning.AIFighting g_Fightting;

	// Token: 0x040005D2 RID: 1490
	[FieldOffset(Offset = "0x218")]
	[Token(Token = "0x40005D2")]
	private float g_fWorldTimeDeltaTime = 1f;

	// Token: 0x040005D3 RID: 1491
	[FieldOffset(Offset = "0x21C")]
	[Token(Token = "0x40005D3")]
	private bool g_bLightningSpeedUp;

	// Token: 0x040005D4 RID: 1492
	[Token(Token = "0x40005D4")]
	private const float g_fLightningModeTime = 7.5f;

	// Token: 0x040005D5 RID: 1493
	[FieldOffset(Offset = "0x220")]
	[Token(Token = "0x40005D5")]
	private float g_fLightningModeTimeVal;

	// Token: 0x040005D6 RID: 1494
	[Token(Token = "0x40005D6")]
	private const float g_fTimeScaleLightning = 1.8f;

	// Token: 0x040005D7 RID: 1495
	[FieldOffset(Offset = "0x224")]
	[Token(Token = "0x40005D7")]
	private float g_fTimeScaleLightningVal = 1f;

	// Token: 0x02000079 RID: 121
	[Token(Token = "0x2000079")]
	private enum AIFighting
	{
		// Token: 0x040005D9 RID: 1497
		[Token(Token = "0x40005D9")]
		Watch,
		// Token: 0x040005DA RID: 1498
		[Token(Token = "0x40005DA")]
		Bite,
		// Token: 0x040005DB RID: 1499
		[Token(Token = "0x40005DB")]
		RunBite01,
		// Token: 0x040005DC RID: 1500
		[Token(Token = "0x40005DC")]
		RunBite02,
		// Token: 0x040005DD RID: 1501
		[Token(Token = "0x40005DD")]
		Track,
		// Token: 0x040005DE RID: 1502
		[Token(Token = "0x40005DE")]
		Charge
	}
}
