using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000077 RID: 119
[Token(Token = "0x2000077")]
public class AI_GhostC_Lightning : AI_GhostC
{
	// Token: 0x060004E1 RID: 1249 RVA: 0x0000C150 File Offset: 0x0000A350
	[Token(Token = "0x60004E1")]
	[Address(RVA = "0x17A6400", Offset = "0x17A5200", VA = "0x1817A6400", 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: 0x060004E2 RID: 1250 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004E2")]
	[Address(RVA = "0x17A6520", Offset = "0x17A5320", VA = "0x1817A6520", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004E3 RID: 1251 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004E3")]
	[Address(RVA = "0x16B4BD0", Offset = "0x16B39D0", VA = "0x1816B4BD0")]
	private new void StatusSwich()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004E4 RID: 1252 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004E4")]
	[Address(RVA = "0x17A5D40", Offset = "0x17A4B40", VA = "0x1817A5D40", Slot = "38")]
	public override void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004E5 RID: 1253 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004E5")]
	[Address(RVA = "0x17A5280", Offset = "0x17A4080", VA = "0x1817A5280", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004E6 RID: 1254 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004E6")]
	[Address(RVA = "0x17A5910", Offset = "0x17A4710", VA = "0x1817A5910")]
	private void InitFightingType(AI_GhostC_Lightning.AIFighting Type)
	{
		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 = "0x17A5100", Offset = "0x17A3F00", VA = "0x1817A5100")]
	private void FWatch()
	{
		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 = "0x17A4FC0", Offset = "0x17A3DC0", VA = "0x1817A4FC0")]
	private void FTrack()
	{
		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 = "0x17A4B20", Offset = "0x17A3920", VA = "0x1817A4B20")]
	private void FBite()
	{
		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 = "0x17A4E50", Offset = "0x17A3C50", VA = "0x1817A4E50")]
	private void FRunBite01()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004EB RID: 1259 RVA: 0x0000C19C File Offset: 0x0000A39C
	[Token(Token = "0x60004EB")]
	[Address(RVA = "0x17A4F90", Offset = "0x17A3D90", VA = "0x1817A4F90")]
	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: 0x060004EC RID: 1260 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004EC")]
	[Address(RVA = "0x17A4D00", Offset = "0x17A3B00", VA = "0x1817A4D00")]
	private void FCharge()
	{
		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 = "0x17A62B0", Offset = "0x17A50B0", VA = "0x1817A62B0")]
	public void OpenLightningSpeedUp()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004EE RID: 1262 RVA: 0x0000C1C8 File Offset: 0x0000A3C8
	[Token(Token = "0x60004EE")]
	[Address(RVA = "0x17A6450", Offset = "0x17A5250", VA = "0x1817A6450")]
	public void StopLightningSpeedUp()
	{
		/*
An exception occurred when decompiling this method (060004EE)

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: 0x060004EF RID: 1263 RVA: 0x0000C244 File Offset: 0x0000A444
	[Token(Token = "0x60004EF")]
	[Address(RVA = "0x17A6390", Offset = "0x17A5190", VA = "0x1817A6390", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		/*
An exception occurred when decompiling this method (060004EF)

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: 0x060004F0 RID: 1264 RVA: 0x0000C290 File Offset: 0x0000A490
	[Token(Token = "0x60004F0")]
	[Address(RVA = "0x17A6920", Offset = "0x17A5720", VA = "0x1817A6920")]
	public AI_GhostC_Lightning()
	{
		this.g_fAttackRadius = 1.2f;
		base..ctor();
	}

	// Token: 0x040005AD RID: 1453
	[FieldOffset(Offset = "0x200")]
	[Token(Token = "0x40005AD")]
	private float g_fAniMoveSpeed;

	// Token: 0x040005AE RID: 1454
	[FieldOffset(Offset = "0x204")]
	[Token(Token = "0x40005AE")]
	private AI_GhostC_Lightning.AIFighting g_Fightting;

	// Token: 0x040005AF RID: 1455
	[FieldOffset(Offset = "0x208")]
	[Token(Token = "0x40005AF")]
	private float g_fWorldTimeDeltaTime = 1f;

	// Token: 0x040005B0 RID: 1456
	[FieldOffset(Offset = "0x20C")]
	[Token(Token = "0x40005B0")]
	private bool g_bLightningSpeedUp;

	// Token: 0x040005B1 RID: 1457
	[Token(Token = "0x40005B1")]
	private const float g_fLightningModeTime = 7.5f;

	// Token: 0x040005B2 RID: 1458
	[FieldOffset(Offset = "0x210")]
	[Token(Token = "0x40005B2")]
	private float g_fLightningModeTimeVal;

	// Token: 0x040005B3 RID: 1459
	[Token(Token = "0x40005B3")]
	private const float g_fTimeScaleLightning = 1.8f;

	// Token: 0x040005B4 RID: 1460
	[FieldOffset(Offset = "0x214")]
	[Token(Token = "0x40005B4")]
	private float g_fTimeScaleLightningVal = 1f;

	// Token: 0x02000078 RID: 120
	[Token(Token = "0x2000078")]
	private enum AIFighting
	{
		// Token: 0x040005B6 RID: 1462
		[Token(Token = "0x40005B6")]
		Watch,
		// Token: 0x040005B7 RID: 1463
		[Token(Token = "0x40005B7")]
		Bite,
		// Token: 0x040005B8 RID: 1464
		[Token(Token = "0x40005B8")]
		RunBite01,
		// Token: 0x040005B9 RID: 1465
		[Token(Token = "0x40005B9")]
		RunBite02,
		// Token: 0x040005BA RID: 1466
		[Token(Token = "0x40005BA")]
		Track,
		// Token: 0x040005BB RID: 1467
		[Token(Token = "0x40005BB")]
		Charge
	}
}
