using System;
using System.Linq.Expressions;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x0200007B RID: 123
[Token(Token = "0x200007B")]
public class AI_GhostD : AI_NPC
{
	// Token: 0x06000515 RID: 1301 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000515")]
	[Address(RVA = "0x16ACD00", Offset = "0x16ABB00", VA = "0x1816ACD00", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000516 RID: 1302 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000516")]
	[Address(RVA = "0x16AD180", Offset = "0x16ABF80", VA = "0x1816AD180", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000517 RID: 1303 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000517")]
	[Address(RVA = "0x16AAE50", Offset = "0x16A9C50", VA = "0x1816AAE50", Slot = "38")]
	protected virtual void Move()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000518 RID: 1304 RVA: 0x0000C744 File Offset: 0x0000A944
	[Token(Token = "0x6000518")]
	[Address(RVA = "0x16AAB20", Offset = "0x16A9920", VA = "0x1816AAB20", Slot = "6")]
	public override void LateUpdate()
	{
		this.g_ShakeBody.Update();
	}

	// Token: 0x06000519 RID: 1305 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000519")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00")]
	public void EndStatus(AI_NPC.AIStatus Status)
	{
		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 = "0x16AA410", Offset = "0x16A9210", VA = "0x1816AA410", Slot = "39")]
	public virtual void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600051B RID: 1307 RVA: 0x0000C764 File Offset: 0x0000A964
	[Token(Token = "0x600051B")]
	[Address(RVA = "0x16A91C0", Offset = "0x16A7FC0", VA = "0x1816A91C0", Slot = "29")]
	public override void ResurrectionStatus()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int parameterCount = ((IParameterProvider)this).ParameterCount;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x0600051C RID: 1308 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600051C")]
	[Address(RVA = "0x16AA020", Offset = "0x16A8E20", VA = "0x1816AA020", Slot = "8")]
	public override void Idle()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600051D RID: 1309 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600051D")]
	[Address(RVA = "0x16AB580", Offset = "0x16AA380", VA = "0x1816AB580", Slot = "11")]
	public override void Patrol()
	{
		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 = "0x16A8E40", Offset = "0x16A7C40", VA = "0x1816A8E40", Slot = "12")]
	public override void Confirming()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600051F RID: 1311 RVA: 0x0000C790 File Offset: 0x0000A990
	[Token(Token = "0x600051F")]
	[Address(RVA = "0x6DAEC0", Offset = "0x6D9CC0", VA = "0x1806DAEC0", Slot = "16")]
	public override void LookFor()
	{
		int parameterCount = ((IParameterProvider)this).ParameterCount;
	}

	// Token: 0x06000520 RID: 1312 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000520")]
	[Address(RVA = "0x16A9960", Offset = "0x16A8760", VA = "0x1816A9960", Slot = "20")]
	public override void Hear()
	{
		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 = "0x16A9820", Offset = "0x16A8620", VA = "0x1816A9820", Slot = "21")]
	public override void HearCheck()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000522 RID: 1314 RVA: 0x0000C7A4 File Offset: 0x0000A9A4
	[Token(Token = "0x6000522")]
	[Address(RVA = "0x16A91C0", Offset = "0x16A7FC0", VA = "0x1816A91C0", Slot = "23")]
	public override void Damaged()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int parameterCount = ((IParameterProvider)this).ParameterCount;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000523 RID: 1315 RVA: 0x0000C7D0 File Offset: 0x0000A9D0
	[Token(Token = "0x6000523")]
	[Address(RVA = "0x16A9200", Offset = "0x16A8000", VA = "0x1816A9200", Slot = "27")]
	public override void Death()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int parameterCount = ((IParameterProvider)this).ParameterCount;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000524 RID: 1316 RVA: 0x0000C7FC File Offset: 0x0000A9FC
	[Token(Token = "0x6000524")]
	[Address(RVA = "0x16A9240", Offset = "0x16A8040", VA = "0x1816A9240", 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);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000525 RID: 1317 RVA: 0x0000C834 File Offset: 0x0000AA34
	[Token(Token = "0x6000525")]
	[Address(RVA = "0x16A97E0", Offset = "0x16A85E0", VA = "0x1816A97E0", 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)
		{
			int parameterCount = ((IParameterProvider)this).ParameterCount;
			return;
		}
	}

	// Token: 0x06000526 RID: 1318 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000526")]
	[Address(RVA = "0x16AA070", Offset = "0x16A8E70", VA = "0x1816AA070", Slot = "40")]
	protected virtual void InitFightingType(AI_GhostD.AIFighting Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000527 RID: 1319 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000527")]
	[Address(RVA = "0x16A9510", Offset = "0x16A8310", VA = "0x1816A9510")]
	private void FightWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000528 RID: 1320 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000528")]
	[Address(RVA = "0x16A9290", Offset = "0x16A8090", VA = "0x1816A9290")]
	private void FightCharge()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000529 RID: 1321 RVA: 0x0000C870 File Offset: 0x0000AA70
	[Token(Token = "0x6000529")]
	[Address(RVA = "0x16A94D0", Offset = "0x16A82D0", VA = "0x1816A94D0", Slot = "41")]
	protected virtual void FightShot()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int parameterCount = ((IParameterProvider)this).ParameterCount;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x0600052A RID: 1322 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600052A")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00")]
	private void FightPlayerDead()
	{
		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 = "0x16A99E0", Offset = "0x16A87E0", VA = "0x1816A99E0", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		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 = "0x16AB6B0", Offset = "0x16AA4B0", VA = "0x1816AB6B0", 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: 0x0600052D RID: 1325 RVA: 0x0000C89C File Offset: 0x0000AA9C
	[Token(Token = "0x600052D")]
	[Address(RVA = "0x16ACC00", Offset = "0x16ABA00", VA = "0x1816ACC00", Slot = "30")]
	public override void Resurrection()
	{
		this.g_bDeath = false;
		this.Create();
		int parameterCount = ((IParameterProvider)this).ParameterCount;
	}

	// Token: 0x0600052E RID: 1326 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600052E")]
	[Address(RVA = "0x16A9010", Offset = "0x16A7E10", VA = "0x1816A9010", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600052F RID: 1327 RVA: 0x0000C8C0 File Offset: 0x0000AAC0
	[Token(Token = "0x600052F")]
	[Address(RVA = "0x16ACB80", Offset = "0x16AB980", VA = "0x1816ACB80", Slot = "32")]
	public override void Remove()
	{
		SkinnedMeshRenderer skinnedMeshRenderer = this.g_MeshRender01;
		int num = 0;
		skinnedMeshRenderer.enabled = num != 0;
		CCController cccontroller = this.g_CCC;
		int num2 = 0;
		cccontroller.SetEnable(num2 != 0);
		NPCManage g_NPCM = this.g_NPCM;
		int num3 = 0;
		g_NPCM.SetLockPoint(num3 != 0);
		this.g_Effect.RemoveEnemy();
		GameObject g_This = this.g_This;
		int num4 = 0;
		g_This.SetActive(num4 != 0);
	}

	// Token: 0x06000530 RID: 1328 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000530")]
	[Address(RVA = "0x16ACC40", Offset = "0x16ABA40", VA = "0x1816ACC40", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000531 RID: 1329 RVA: 0x0000C928 File Offset: 0x0000AB28
	[Token(Token = "0x6000531")]
	[Address(RVA = "0x16ACCB0", Offset = "0x16ABAB0", VA = "0x1816ACCB0", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		this.g_Anim.speed = fTimeScale;
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x06000532 RID: 1330 RVA: 0x0000C954 File Offset: 0x0000AB54
	[Token(Token = "0x6000532")]
	[Address(RVA = "0x16AAE20", Offset = "0x16A9C20", VA = "0x1816AAE20")]
	public AI_GhostD()
	{
	}

	// Token: 0x040005D9 RID: 1497
	[FieldOffset(Offset = "0x170")]
	[Token(Token = "0x40005D9")]
	protected GhostDEffectPlay g_Effect;

	// Token: 0x040005DA RID: 1498
	[FieldOffset(Offset = "0x178")]
	[Token(Token = "0x40005DA")]
	protected Shake g_ShakeBody;

	// Token: 0x040005DB RID: 1499
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x40005DB")]
	private float g_fAttackRadius = 5f;

	// Token: 0x040005DC RID: 1500
	[Token(Token = "0x40005DC")]
	private const float g_fMoveRadius = 5f;

	// Token: 0x040005DD RID: 1501
	[FieldOffset(Offset = "0x184")]
	[Token(Token = "0x40005DD")]
	protected float g_fPiX;

	// Token: 0x040005DE RID: 1502
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x40005DE")]
	protected float g_fPiY;

	// Token: 0x040005DF RID: 1503
	[FieldOffset(Offset = "0x18C")]
	[Token(Token = "0x40005DF")]
	protected float g_fPiZ;

	// Token: 0x040005E0 RID: 1504
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x40005E0")]
	protected float g_fSpeedX;

	// Token: 0x040005E1 RID: 1505
	[FieldOffset(Offset = "0x194")]
	[Token(Token = "0x40005E1")]
	protected float g_fSpeedY;

	// Token: 0x040005E2 RID: 1506
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x40005E2")]
	protected float g_fSpeedZ;

	// Token: 0x040005E3 RID: 1507
	[Token(Token = "0x40005E3")]
	private const float g_fPI2 = 6.2831855f;

	// Token: 0x040005E4 RID: 1508
	[Token(Token = "0x40005E4")]
	private const float g_fSpeedMin = 1f;

	// Token: 0x040005E5 RID: 1509
	[Token(Token = "0x40005E5")]
	private const float g_fSpeedMax = 2f;

	// Token: 0x040005E6 RID: 1510
	[FieldOffset(Offset = "0x19C")]
	[Token(Token = "0x40005E6")]
	protected Vector3 g_v3CenterPos;

	// Token: 0x040005E7 RID: 1511
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x40005E7")]
	protected Vector3 g_v3Move;

	// Token: 0x040005E8 RID: 1512
	[FieldOffset(Offset = "0x1B4")]
	[Token(Token = "0x40005E8")]
	protected float g_fMoveVal = 1f;

	// Token: 0x040005E9 RID: 1513
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x40005E9")]
	protected float g_fPauseMoveTime;

	// Token: 0x040005EA RID: 1514
	[FieldOffset(Offset = "0x1BC")]
	[Token(Token = "0x40005EA")]
	protected float g_fSEMoveVolume;

	// Token: 0x040005EB RID: 1515
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x40005EB")]
	private SkinnedMeshRenderer g_MeshRender01;

	// Token: 0x040005EC RID: 1516
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x40005EC")]
	private CCController g_CCC;

	// Token: 0x040005ED RID: 1517
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x40005ED")]
	protected float g_fTrackTime;

	// Token: 0x040005EE RID: 1518
	[FieldOffset(Offset = "0x1D4")]
	[Token(Token = "0x40005EE")]
	protected AI_GhostD.AIFighting g_Fightting = (AI_GhostD.AIFighting)((ulong)1L);

	// Token: 0x040005EF RID: 1519
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x40005EF")]
	protected float g_fAttackTips;

	// Token: 0x0200007C RID: 124
	[Token(Token = "0x200007C")]
	protected enum AIFighting
	{
		// Token: 0x040005F1 RID: 1521
		[Token(Token = "0x40005F1")]
		WatchFirst,
		// Token: 0x040005F2 RID: 1522
		[Token(Token = "0x40005F2")]
		Watch,
		// Token: 0x040005F3 RID: 1523
		[Token(Token = "0x40005F3")]
		Change,
		// Token: 0x040005F4 RID: 1524
		[Token(Token = "0x40005F4")]
		Shot,
		// Token: 0x040005F5 RID: 1525
		[Token(Token = "0x40005F5")]
		PlayerDead
	}
}
