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

// Token: 0x02000079 RID: 121
[Token(Token = "0x2000079")]
public class AI_GhostC_Red : AI_NPC
{
	// Token: 0x060004F1 RID: 1265 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004F1")]
	[Address(RVA = "0x17A9F30", Offset = "0x17A8D30", VA = "0x1817A9F30", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004F2 RID: 1266 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004F2")]
	[Address(RVA = "0x17AA730", Offset = "0x17A9530", VA = "0x1817AA730", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004F3 RID: 1267 RVA: 0x0000C2C4 File Offset: 0x0000A4C4
	[Token(Token = "0x60004F3")]
	[Address(RVA = "0x17A4AE0", Offset = "0x17A38E0", VA = "0x1817A4AE0", Slot = "6")]
	public override void LateUpdate()
	{
		this.g_ShakeHead.Update();
		this.g_ShakeBody.Update();
	}

	// Token: 0x060004F4 RID: 1268 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004F4")]
	[Address(RVA = "0x17A9780", Offset = "0x17A8580", VA = "0x1817A9780", Slot = "38")]
	public virtual void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004F5 RID: 1269 RVA: 0x0000C2F0 File Offset: 0x0000A4F0
	[Token(Token = "0x60004F5")]
	[Address(RVA = "0x17A7220", Offset = "0x17A6020", VA = "0x1817A7220")]
	public void EndStatus(AI_NPC.AIStatus Status)
	{
		if (Status == AI_NPC.AIStatus.LookFor)
		{
			Animator g_Anim = this.g_Anim;
			int num = 0;
			g_Anim.CrossFade("IdleOrMove", 0.2f, num);
		}
	}

	// Token: 0x060004F6 RID: 1270 RVA: 0x0000C324 File Offset: 0x0000A524
	[Token(Token = "0x60004F6")]
	[Address(RVA = "0x11DB210", Offset = "0x11DA010", VA = "0x1811DB210", Slot = "29")]
	public override void ResurrectionStatus()
	{
		base.Initialize();
		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: 0x060004F7 RID: 1271 RVA: 0x0000C354 File Offset: 0x0000A554
	[Token(Token = "0x60004F7")]
	[Address(RVA = "0x17A9ED0", Offset = "0x17A8CD0", VA = "0x1817A9ED0", Slot = "7")]
	public override void Special()
	{
		base.Initialize();
		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: 0x060004F8 RID: 1272 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004F8")]
	[Address(RVA = "0x17A4190", Offset = "0x17A2F90", VA = "0x1817A4190", Slot = "8")]
	public override void Idle()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004F9 RID: 1273 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004F9")]
	[Address(RVA = "0x17A69A0", Offset = "0x17A57A0", VA = "0x1817A69A0", Slot = "11")]
	public override void Patrol()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004FA RID: 1274 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004FA")]
	[Address(RVA = "0x17A8190", Offset = "0x17A6F90", VA = "0x1817A8190", Slot = "19")]
	public override void GoHome()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004FB RID: 1275 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004FB")]
	[Address(RVA = "0x17A6B00", Offset = "0x17A5900", VA = "0x1817A6B00", Slot = "12")]
	public override void Confirming()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004FC RID: 1276 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004FC")]
	[Address(RVA = "0x17A9D00", Offset = "0x17A8B00", VA = "0x1817A9D00", Slot = "16")]
	public override void LookFor()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004FD RID: 1277 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004FD")]
	[Address(RVA = "0x17A7C30", Offset = "0x17A6A30", VA = "0x1817A7C30", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004FE RID: 1278 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004FE")]
	[Address(RVA = "0x17A9100", Offset = "0x17A7F00", VA = "0x1817A9100")]
	private void InitFightingType(AI_GhostC_Red.AIFighting Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004FF RID: 1279 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004FF")]
	[Address(RVA = "0x17A78A0", Offset = "0x17A66A0", VA = "0x1817A78A0")]
	private void FWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000500 RID: 1280 RVA: 0x0000C384 File Offset: 0x0000A584
	[Token(Token = "0x6000500")]
	[Address(RVA = "0x17A8480", Offset = "0x17A7280", VA = "0x1817A8480")]
	private void HiddenStart()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			this.InitFightingType(AI_GhostC_Red.AIFighting.Hidden);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
		float num2 = this.g_fAttackMoveTime;
		while (num2 <= (float)num)
		{
		}
		this.g_fAttackMoveTime = num2;
		CCController cccontroller = this.g_CCC;
		int num3 = 0;
		cccontroller.SetLie(num3);
		CapsuleCollider capsuleCollider = this.g_CC02;
		int num4 = 0;
		capsuleCollider.enabled = num4 != 0;
	}

	// Token: 0x06000501 RID: 1281 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000501")]
	[Address(RVA = "0x17A8520", Offset = "0x17A7320", VA = "0x1817A8520")]
	private void Hidden()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000502 RID: 1282 RVA: 0x0000C3EC File Offset: 0x0000A5EC
	[Token(Token = "0x6000502")]
	[Address(RVA = "0x17A82B0", Offset = "0x17A70B0", VA = "0x1817A82B0")]
	private void HiddenEnd()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			this.g_Fightting = (AI_GhostC_Red.AIFighting)((ulong)0L);
			float g_fRunSpeed = this.g_fRunSpeed;
			this.g_fNavMoveSpeed = g_fRunSpeed;
			float z = this.g_v3SeePlayerPos.z;
			this.g_v3NavTarget.z = z;
			this.g_bNavigation = false;
			this.g_bLookAtEnable = true;
			base.NPCNavigation();
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
		float num2 = this.g_fAttackMoveTime;
		while (num2 <= (float)num)
		{
		}
		this.g_fAttackMoveTime = num2;
		this.g_CCC.SetOriginal();
		this.g_CC02.enabled = true;
	}

	// Token: 0x06000503 RID: 1283 RVA: 0x0000C484 File Offset: 0x0000A684
	[Token(Token = "0x6000503")]
	[Address(RVA = "0x17A83E0", Offset = "0x17A71E0", VA = "0x1817A83E0")]
	private void HiddenLookfor()
	{
		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;
		float num2 = this.g_fAttackMoveTime;
		while (num2 <= (float)num)
		{
		}
		this.g_fAttackMoveTime = num2;
		this.g_CCC.SetOriginal();
		this.g_CC02.enabled = true;
	}

	// Token: 0x06000504 RID: 1284 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000504")]
	[Address(RVA = "0x17A7290", Offset = "0x17A6090", VA = "0x1817A7290")]
	private void HiddenAttack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000505 RID: 1285 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000505")]
	[Address(RVA = "0x17A7290", Offset = "0x17A6090", VA = "0x1817A7290")]
	private void FBite()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000506 RID: 1286 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000506")]
	[Address(RVA = "0x17A7500", Offset = "0x17A6300", VA = "0x1817A7500")]
	private void FRunBite01()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000507 RID: 1287 RVA: 0x0000C4E0 File Offset: 0x0000A6E0
	[Token(Token = "0x6000507")]
	[Address(RVA = "0x17A77C0", Offset = "0x17A65C0", VA = "0x1817A77C0")]
	private void FRunBite02()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			this.g_Fightting = (AI_GhostC_Red.AIFighting)((ulong)0L);
			float g_fRunSpeed = this.g_fRunSpeed;
			this.g_fNavMoveSpeed = g_fRunSpeed;
			float z = this.g_v3SeePlayerPos.z;
			this.g_v3NavTarget.z = z;
			this.g_bNavigation = false;
			this.g_bLookAtEnable = true;
			base.NPCNavigation();
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000508 RID: 1288 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000508")]
	[Address(RVA = "0x17A3780", Offset = "0x17A2580", VA = "0x1817A3780", Slot = "20")]
	public override void Hear()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000509 RID: 1289 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000509")]
	[Address(RVA = "0x17A3610", Offset = "0x17A2410", VA = "0x1817A3610", Slot = "21")]
	public override void HearCheck()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600050A RID: 1290 RVA: 0x0000C548 File Offset: 0x0000A748
	[Token(Token = "0x600050A")]
	[Address(RVA = "0x11D5AB0", Offset = "0x11D48B0", VA = "0x1811D5AB0", 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: 0x0600050B RID: 1291 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600050B")]
	[Address(RVA = "0x17A6F30", Offset = "0x17A5D30", VA = "0x1817A6F30", Slot = "27")]
	public override void Death()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600050C RID: 1292 RVA: 0x0000C574 File Offset: 0x0000A774
	[Token(Token = "0x600050C")]
	[Address(RVA = "0x17A7050", Offset = "0x17A5E50", VA = "0x1817A7050", Slot = "28")]
	public override void Destroy()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			this.g_DeathEffect.Stop(true);
			GameObject g_This = this.g_This;
			int num2 = 0;
			g_This.SetActive(num2 != 0);
			if (Game.GetPlayerManager().GetIsDead())
			{
				goto IL_A2;
			}
			NPCManage g_NPCM = this.g_NPCM;
			int num3 = 0;
			SceneEvent[] deathOpenEvent = g_NPCM.DeathOpenEvent;
			if (num3 >= deathOpenEvent.Length)
			{
				goto IL_A2;
			}
			if (g_NPCM.DeathOpenEvent[num3].gameObject.activeSelf)
			{
				this.g_NPCM.DeathOpenEvent[num3].OpenEvent();
			}
			NPCManage g_NPCM2 = this.g_NPCM;
			num3++;
		}
		this.g_fWaitTime = g_fWaitTime;
		IL_A2:
		base.Initialize();
	}

	// Token: 0x0600050D RID: 1293 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600050D")]
	[Address(RVA = "0x17A8870", Offset = "0x17A7670", VA = "0x1817A8870", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600050E RID: 1294 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600050E")]
	[Address(RVA = "0x1791130", Offset = "0x178FF30", VA = "0x181791130", 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: 0x0600050F RID: 1295 RVA: 0x0000C630 File Offset: 0x0000A830
	[Token(Token = "0x600050F")]
	[Address(RVA = "0x17A9DF0", Offset = "0x17A8BF0", VA = "0x1817A9DF0", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		this.g_bDeath = false;
		this.Create();
		int parameterCount = ((IParameterProvider)this).ParameterCount;
	}

	// Token: 0x06000510 RID: 1296 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000510")]
	[Address(RVA = "0x17A6D00", Offset = "0x17A5B00", VA = "0x1817A6D00", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000511 RID: 1297 RVA: 0x0000C658 File Offset: 0x0000A858
	[Token(Token = "0x6000511")]
	[Address(RVA = "0x17A9D50", Offset = "0x17A8B50", VA = "0x1817A9D50", Slot = "32")]
	public override void Remove()
	{
		base.Initialize();
		SkinnedMeshRenderer skinnedMeshRenderer = this.g_MeshRender01;
		int num = 0;
		skinnedMeshRenderer.enabled = num != 0;
		CCController cccontroller = this.g_CCC;
		int num2 = 0;
		cccontroller.SetEnable(num2 != 0);
		CapsuleCollider capsuleCollider = this.g_CC02;
		int num3 = 0;
		capsuleCollider.enabled = num3 != 0;
		NPCManage g_NPCM = this.g_NPCM;
		int num4 = 0;
		g_NPCM.SetLockPoint(num4 != 0);
		this.g_DeathEffect.Stop(true);
		GameObject g_This = this.g_This;
		int num5 = 0;
		g_This.SetActive(num5 != 0);
	}

	// Token: 0x06000512 RID: 1298 RVA: 0x0000C6DC File Offset: 0x0000A8DC
	[Token(Token = "0x6000512")]
	[Address(RVA = "0x17A9E40", Offset = "0x17A8C40", VA = "0x1817A9E40", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		ParticleSystem.MainModule.set_simulationSpeed_Injected(this.g_BodyEffect.main, 0.001f);
		ParticleSystem.MainModule.set_simulationSpeed_Injected(this.g_DeathEffect.main, 0.001f);
	}

	// Token: 0x06000513 RID: 1299 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000513")]
	[Address(RVA = "0x1791390", Offset = "0x1790190", VA = "0x181791390", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000514 RID: 1300 RVA: 0x0000C724 File Offset: 0x0000A924
	[Token(Token = "0x6000514")]
	[Address(RVA = "0x17AA9B0", Offset = "0x17A97B0", VA = "0x1817AA9B0")]
	public AI_GhostC_Red()
	{
	}

	// Token: 0x040005BC RID: 1468
	[FieldOffset(Offset = "0x170")]
	[Token(Token = "0x40005BC")]
	protected GhostCEffectPlay g_Effect;

	// Token: 0x040005BD RID: 1469
	[FieldOffset(Offset = "0x178")]
	[Token(Token = "0x40005BD")]
	protected float g_fAttackRadius = 2f;

	// Token: 0x040005BE RID: 1470
	[FieldOffset(Offset = "0x17C")]
	[Token(Token = "0x40005BE")]
	private float g_fAniMoveSpeed;

	// Token: 0x040005BF RID: 1471
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x40005BF")]
	protected Material g_Mat;

	// Token: 0x040005C0 RID: 1472
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x40005C0")]
	protected Color g_EyeColor;

	// Token: 0x040005C1 RID: 1473
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x40005C1")]
	protected Color g_BodyColor;

	// Token: 0x040005C2 RID: 1474
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x40005C2")]
	protected Color g_DefaultColor;

	// Token: 0x040005C3 RID: 1475
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x40005C3")]
	protected SkinnedMeshRenderer g_MeshRender01;

	// Token: 0x040005C4 RID: 1476
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x40005C4")]
	protected CapsuleCollider g_CC02;

	// Token: 0x040005C5 RID: 1477
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x40005C5")]
	protected CCController g_CCC;

	// Token: 0x040005C6 RID: 1478
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x40005C6")]
	protected ParticleSystem g_BodyEffect;

	// Token: 0x040005C7 RID: 1479
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x40005C7")]
	protected ParticleSystem g_DeathEffect;

	// Token: 0x040005C8 RID: 1480
	[FieldOffset(Offset = "0x1E0")]
	[Token(Token = "0x40005C8")]
	protected Shake g_ShakeHead;

	// Token: 0x040005C9 RID: 1481
	[FieldOffset(Offset = "0x1E8")]
	[Token(Token = "0x40005C9")]
	protected Shake g_ShakeBody;

	// Token: 0x040005CA RID: 1482
	[FieldOffset(Offset = "0x1F0")]
	[Token(Token = "0x40005CA")]
	private AI_GhostC_Red.AIFighting g_Fightting;

	// Token: 0x040005CB RID: 1483
	[FieldOffset(Offset = "0x1F4")]
	[Token(Token = "0x40005CB")]
	private bool g_bRunBite;

	// Token: 0x040005CC RID: 1484
	[FieldOffset(Offset = "0x1F8")]
	[Token(Token = "0x40005CC")]
	protected float g_fAttackMoveTime;

	// Token: 0x040005CD RID: 1485
	[FieldOffset(Offset = "0x1FC")]
	[Token(Token = "0x40005CD")]
	protected float g_fAttackRotateTime;

	// Token: 0x0200007A RID: 122
	[Token(Token = "0x200007A")]
	private enum AIFighting
	{
		// Token: 0x040005CF RID: 1487
		[Token(Token = "0x40005CF")]
		Watch,
		// Token: 0x040005D0 RID: 1488
		[Token(Token = "0x40005D0")]
		Bite,
		// Token: 0x040005D1 RID: 1489
		[Token(Token = "0x40005D1")]
		RunBite01,
		// Token: 0x040005D2 RID: 1490
		[Token(Token = "0x40005D2")]
		RunBite02,
		// Token: 0x040005D3 RID: 1491
		[Token(Token = "0x40005D3")]
		Track,
		// Token: 0x040005D4 RID: 1492
		[Token(Token = "0x40005D4")]
		HiddenStart,
		// Token: 0x040005D5 RID: 1493
		[Token(Token = "0x40005D5")]
		Hidden,
		// Token: 0x040005D6 RID: 1494
		[Token(Token = "0x40005D6")]
		HiddenEnd,
		// Token: 0x040005D7 RID: 1495
		[Token(Token = "0x40005D7")]
		HiddenAttack,
		// Token: 0x040005D8 RID: 1496
		[Token(Token = "0x40005D8")]
		HiddenLookfor
	}
}
