using System;
using Cpp2IlInjected;
using DigitalOpus.MB.Core;
using UnityEngine;

// Token: 0x0200007C RID: 124
[Token(Token = "0x200007C")]
public class AI_GhostD : AI_NPC
{
	// Token: 0x06000519 RID: 1305 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000519")]
	[Address(RVA = "0x18E6C10", Offset = "0x18E5C10", VA = "0x1818E6C10", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600051A RID: 1306 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600051A")]
	[Address(RVA = "0x18E7090", Offset = "0x18E6090", VA = "0x1818E7090", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600051B RID: 1307 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600051B")]
	[Address(RVA = "0x18E62C0", Offset = "0x18E52C0", VA = "0x1818E62C0", Slot = "38")]
	protected virtual void Move()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600051C RID: 1308 RVA: 0x0000C3D8 File Offset: 0x0000A5D8
	[Token(Token = "0x600051C")]
	[Address(RVA = "0x18E6260", Offset = "0x18E5260", VA = "0x1818E6260", Slot = "6")]
	public override void LateUpdate()
	{
		this.g_ShakeBody.Update();
	}

	// Token: 0x0600051D RID: 1309 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600051D")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0")]
	public void EndStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600051E RID: 1310 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600051E")]
	[Address(RVA = "0x18E5BE0", Offset = "0x18E4BE0", VA = "0x1818E5BE0", Slot = "39")]
	public virtual void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600051F RID: 1311 RVA: 0x0000C3F8 File Offset: 0x0000A5F8
	[Token(Token = "0x600051F")]
	[Address(RVA = "0x18E4980", Offset = "0x18E3980", VA = "0x1818E4980", Slot = "29")]
	public override void ResurrectionStatus()
	{
		int num = 0;
		this.EndStatus((AI_NPC.AIStatus)num);
		float g_fWaitTime = this.g_fWaitTime;
		int num2 = 0;
		if (g_fWaitTime <= (float)num2)
		{
			Vector3 pivotLocation = ((MB_IMeshBakerSettings)this).pivotLocation;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000520 RID: 1312 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000520")]
	[Address(RVA = "0x18E57D0", Offset = "0x18E47D0", VA = "0x1818E57D0", Slot = "8")]
	public override void Idle()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000521 RID: 1313 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000521")]
	[Address(RVA = "0x18E69F0", Offset = "0x18E59F0", VA = "0x1818E69F0", Slot = "11")]
	public override void Patrol()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000522 RID: 1314 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000522")]
	[Address(RVA = "0x18E45F0", Offset = "0x18E35F0", VA = "0x1818E45F0", Slot = "12")]
	public override void Confirming()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000523 RID: 1315 RVA: 0x0000C42C File Offset: 0x0000A62C
	[Token(Token = "0x6000523")]
	[Address(RVA = "0x18E6290", Offset = "0x18E5290", VA = "0x1818E6290", Slot = "16")]
	public override void LookFor()
	{
		int num = 0;
		this.EndStatus((AI_NPC.AIStatus)num);
		Vector3 pivotLocation = ((MB_IMeshBakerSettings)this).pivotLocation;
	}

	// Token: 0x06000524 RID: 1316 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000524")]
	[Address(RVA = "0x18E50B0", Offset = "0x18E40B0", VA = "0x1818E50B0", Slot = "20")]
	public override void Hear()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000525 RID: 1317 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000525")]
	[Address(RVA = "0x18E4F70", Offset = "0x18E3F70", VA = "0x1818E4F70", Slot = "21")]
	public override void HearCheck()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000526 RID: 1318 RVA: 0x0000C44C File Offset: 0x0000A64C
	[Token(Token = "0x6000526")]
	[Address(RVA = "0x18E4980", Offset = "0x18E3980", VA = "0x1818E4980", Slot = "23")]
	public override void Damaged()
	{
		int num = 0;
		this.EndStatus((AI_NPC.AIStatus)num);
		float g_fWaitTime = this.g_fWaitTime;
		int num2 = 0;
		if (g_fWaitTime <= (float)num2)
		{
			Vector3 pivotLocation = ((MB_IMeshBakerSettings)this).pivotLocation;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000527 RID: 1319 RVA: 0x0000C480 File Offset: 0x0000A680
	[Token(Token = "0x6000527")]
	[Address(RVA = "0x18A92C0", Offset = "0x18A82C0", VA = "0x1818A92C0", Slot = "27")]
	public override void Death()
	{
		int num = 0;
		this.EndStatus((AI_NPC.AIStatus)num);
		float g_fWaitTime = this.g_fWaitTime;
		int num2 = 0;
		if (g_fWaitTime <= (float)num2)
		{
			Vector3 pivotLocation = ((MB_IMeshBakerSettings)this).pivotLocation;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000528 RID: 1320 RVA: 0x0000C4B4 File Offset: 0x0000A6B4
	[Token(Token = "0x6000528")]
	[Address(RVA = "0x1835C50", Offset = "0x1834C50", VA = "0x181835C50", Slot = "28")]
	public override void Destroy()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			GameObject g_This = this.g_This;
			int num2 = 0;
			g_This.SetActive(num2 != 0);
			int num3 = 0;
			this.EndStatus((AI_NPC.AIStatus)num3);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
		int num4 = 0;
		this.EndStatus((AI_NPC.AIStatus)num4);
	}

	// Token: 0x06000529 RID: 1321 RVA: 0x0000C504 File Offset: 0x0000A704
	[Token(Token = "0x6000529")]
	[Address(RVA = "0x18E4F30", Offset = "0x18E3F30", VA = "0x1818E4F30", Slot = "22")]
	public override void Fighting()
	{
		AI_GhostD.AIFighting aifighting = this.g_Fightting;
		if (aifighting == AI_GhostD.AIFighting.WatchFirst || aifighting == AI_GhostD.AIFighting.WatchFirst)
		{
			this.FightWatch();
			return;
		}
		if (aifighting == AI_GhostD.AIFighting.WatchFirst)
		{
			this.FightCharge();
			return;
		}
		if (aifighting == AI_GhostD.AIFighting.Watch)
		{
			Vector3 pivotLocation = ((MB_IMeshBakerSettings)this).pivotLocation;
			return;
		}
	}

	// Token: 0x0600052A RID: 1322 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600052A")]
	[Address(RVA = "0x18E5840", Offset = "0x18E4840", VA = "0x1818E5840", Slot = "40")]
	protected virtual void InitFightingType(AI_GhostD.AIFighting Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600052B RID: 1323 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600052B")]
	[Address(RVA = "0x18E4C60", Offset = "0x18E3C60", VA = "0x1818E4C60")]
	private void FightWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600052C RID: 1324 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600052C")]
	[Address(RVA = "0x18E49E0", Offset = "0x18E39E0", VA = "0x1818E49E0")]
	private void FightCharge()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600052D RID: 1325 RVA: 0x0000C540 File Offset: 0x0000A740
	[Token(Token = "0x600052D")]
	[Address(RVA = "0x18E4C20", Offset = "0x18E3C20", VA = "0x1818E4C20", Slot = "41")]
	protected virtual void FightShot()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			Vector3 pivotLocation = ((MB_IMeshBakerSettings)this).pivotLocation;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x0600052E RID: 1326 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600052E")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0")]
	private void FightPlayerDead()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600052F RID: 1327 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600052F")]
	[Address(RVA = "0x18E5130", Offset = "0x18E4130", VA = "0x1818E5130", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000530 RID: 1328 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000530")]
	[Address(RVA = "0x18AD290", Offset = "0x18AC290", VA = "0x1818AD290", Slot = "34")]
	public override void ReceiveSound(Vector3 v3Source, float fSize, SceneManager.SoundWaveType SoundType)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000531 RID: 1329 RVA: 0x0000C56C File Offset: 0x0000A76C
	[Token(Token = "0x6000531")]
	[Address(RVA = "0x18E6B80", Offset = "0x18E5B80", VA = "0x1818E6B80", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		this.g_bDeath = false;
		this.Create();
		Vector3 pivotLocation = ((MB_IMeshBakerSettings)this).pivotLocation;
	}

	// Token: 0x06000532 RID: 1330 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000532")]
	[Address(RVA = "0x18E47C0", Offset = "0x18E37C0", VA = "0x1818E47C0", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000533 RID: 1331 RVA: 0x0000C594 File Offset: 0x0000A794
	[Token(Token = "0x6000533")]
	[Address(RVA = "0x18E6B00", Offset = "0x18E5B00", VA = "0x1818E6B00", Slot = "32")]
	public override void Remove()
	{
		int num = 0;
		this.EndStatus((AI_NPC.AIStatus)num);
		SkinnedMeshRenderer skinnedMeshRenderer = this.g_MeshRender01;
		int num2 = 0;
		skinnedMeshRenderer.enabled = num2 != 0;
		CCController cccontroller = this.g_CCC;
		int num3 = 0;
		cccontroller.SetEnable(num3 != 0);
		NPCManage g_NPCM = this.g_NPCM;
		int num4 = 0;
		g_NPCM.SetLockPoint(num4 != 0);
		this.g_Effect.RemoveEnemy();
		GameObject g_This = this.g_This;
		int num5 = 0;
		g_This.SetActive(num5 != 0);
	}

	// Token: 0x06000534 RID: 1332 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000534")]
	[Address(RVA = "0x18AE460", Offset = "0x18AD460", VA = "0x1818AE460", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000535 RID: 1333 RVA: 0x0000C608 File Offset: 0x0000A808
	[Token(Token = "0x6000535")]
	[Address(RVA = "0x18E6BD0", Offset = "0x18E5BD0", VA = "0x1818E6BD0", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x06000536 RID: 1334 RVA: 0x0000C630 File Offset: 0x0000A830
	[Token(Token = "0x6000536")]
	[Address(RVA = "0x18E7170", Offset = "0x18E6170", VA = "0x1818E7170")]
	public AI_GhostD()
	{
	}

	// Token: 0x040005FC RID: 1532
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x40005FC")]
	protected GhostDEffectPlay g_Effect;

	// Token: 0x040005FD RID: 1533
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x40005FD")]
	protected Shake g_ShakeBody;

	// Token: 0x040005FE RID: 1534
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x40005FE")]
	private float g_fAttackRadius = 5f;

	// Token: 0x040005FF RID: 1535
	[Token(Token = "0x40005FF")]
	private const float g_fMoveRadius = 5f;

	// Token: 0x04000600 RID: 1536
	[FieldOffset(Offset = "0x194")]
	[Token(Token = "0x4000600")]
	protected float g_fPiX;

	// Token: 0x04000601 RID: 1537
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x4000601")]
	protected float g_fPiY;

	// Token: 0x04000602 RID: 1538
	[FieldOffset(Offset = "0x19C")]
	[Token(Token = "0x4000602")]
	protected float g_fPiZ;

	// Token: 0x04000603 RID: 1539
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x4000603")]
	protected float g_fSpeedX;

	// Token: 0x04000604 RID: 1540
	[FieldOffset(Offset = "0x1A4")]
	[Token(Token = "0x4000604")]
	protected float g_fSpeedY;

	// Token: 0x04000605 RID: 1541
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x4000605")]
	protected float g_fSpeedZ;

	// Token: 0x04000606 RID: 1542
	[Token(Token = "0x4000606")]
	private const float g_fPI2 = 6.2831855f;

	// Token: 0x04000607 RID: 1543
	[Token(Token = "0x4000607")]
	private const float g_fSpeedMin = 1f;

	// Token: 0x04000608 RID: 1544
	[Token(Token = "0x4000608")]
	private const float g_fSpeedMax = 2f;

	// Token: 0x04000609 RID: 1545
	[FieldOffset(Offset = "0x1AC")]
	[Token(Token = "0x4000609")]
	protected Vector3 g_v3CenterPos;

	// Token: 0x0400060A RID: 1546
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x400060A")]
	protected Vector3 g_v3Move;

	// Token: 0x0400060B RID: 1547
	[FieldOffset(Offset = "0x1C4")]
	[Token(Token = "0x400060B")]
	protected float g_fMoveVal = 1f;

	// Token: 0x0400060C RID: 1548
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x400060C")]
	protected float g_fPauseMoveTime;

	// Token: 0x0400060D RID: 1549
	[FieldOffset(Offset = "0x1CC")]
	[Token(Token = "0x400060D")]
	protected float g_fSEMoveVolume;

	// Token: 0x0400060E RID: 1550
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x400060E")]
	private SkinnedMeshRenderer g_MeshRender01;

	// Token: 0x0400060F RID: 1551
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x400060F")]
	private CCController g_CCC;

	// Token: 0x04000610 RID: 1552
	[FieldOffset(Offset = "0x1E0")]
	[Token(Token = "0x4000610")]
	protected float g_fTrackTime;

	// Token: 0x04000611 RID: 1553
	[FieldOffset(Offset = "0x1E4")]
	[Token(Token = "0x4000611")]
	protected AI_GhostD.AIFighting g_Fightting = (AI_GhostD.AIFighting)((ulong)1L);

	// Token: 0x04000612 RID: 1554
	[FieldOffset(Offset = "0x1E8")]
	[Token(Token = "0x4000612")]
	protected float g_fAttackTips;

	// Token: 0x0200007D RID: 125
	[Token(Token = "0x200007D")]
	protected enum AIFighting
	{
		// Token: 0x04000614 RID: 1556
		[Token(Token = "0x4000614")]
		WatchFirst,
		// Token: 0x04000615 RID: 1557
		[Token(Token = "0x4000615")]
		Watch,
		// Token: 0x04000616 RID: 1558
		[Token(Token = "0x4000616")]
		Change,
		// Token: 0x04000617 RID: 1559
		[Token(Token = "0x4000617")]
		Shot,
		// Token: 0x04000618 RID: 1560
		[Token(Token = "0x4000618")]
		PlayerDead
	}
}
