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

// Token: 0x0200007A RID: 122
[Token(Token = "0x200007A")]
public class AI_GhostC_Red : AI_NPC
{
	// Token: 0x060004F5 RID: 1269 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004F5")]
	[Address(RVA = "0x18E3B50", Offset = "0x18E2B50", VA = "0x1818E3B50", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004F6 RID: 1270 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004F6")]
	[Address(RVA = "0x18E4350", Offset = "0x18E3350", VA = "0x1818E4350", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004F7 RID: 1271 RVA: 0x0000BF58 File Offset: 0x0000A158
	[Token(Token = "0x60004F7")]
	[Address(RVA = "0x1861E50", Offset = "0x1860E50", VA = "0x181861E50", Slot = "6")]
	public override void LateUpdate()
	{
		this.g_ShakeHead.Update();
		this.g_ShakeBody.Update();
	}

	// Token: 0x060004F8 RID: 1272 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004F8")]
	[Address(RVA = "0x18E3450", Offset = "0x18E2450", VA = "0x1818E3450", Slot = "38")]
	public virtual void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004F9 RID: 1273 RVA: 0x0000BF84 File Offset: 0x0000A184
	[Token(Token = "0x60004F9")]
	[Address(RVA = "0x18E0E90", Offset = "0x18DFE90", VA = "0x1818E0E90")]
	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: 0x060004FA RID: 1274 RVA: 0x0000BFB8 File Offset: 0x0000A1B8
	[Token(Token = "0x60004FA")]
	[Address(RVA = "0x183FF10", Offset = "0x183EF10", VA = "0x18183FF10", Slot = "29")]
	public override void ResurrectionStatus()
	{
		base..ctor();
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060004FB RID: 1275 RVA: 0x0000BFE8 File Offset: 0x0000A1E8
	[Token(Token = "0x60004FB")]
	[Address(RVA = "0x1862190", Offset = "0x1861190", VA = "0x181862190", Slot = "7")]
	public override void Special()
	{
		base..ctor();
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060004FC RID: 1276 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004FC")]
	[Address(RVA = "0x1861500", Offset = "0x1860500", VA = "0x181861500", Slot = "8")]
	public override void Idle()
	{
		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 = "0x1861EE0", Offset = "0x1860EE0", VA = "0x181861EE0", Slot = "11")]
	public override void Patrol()
	{
		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 = "0x18E1E00", Offset = "0x18E0E00", VA = "0x1818E1E00", Slot = "19")]
	public override void GoHome()
	{
		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 = "0x18E0770", Offset = "0x18DF770", VA = "0x1818E0770", Slot = "12")]
	public override void Confirming()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000500 RID: 1280 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000500")]
	[Address(RVA = "0x18E39D0", Offset = "0x18E29D0", VA = "0x1818E39D0", Slot = "16")]
	public override void LookFor()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000501 RID: 1281 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000501")]
	[Address(RVA = "0x18E18A0", Offset = "0x18E08A0", VA = "0x1818E18A0", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000502 RID: 1282 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000502")]
	[Address(RVA = "0x18E2DD0", Offset = "0x18E1DD0", VA = "0x1818E2DD0")]
	private void InitFightingType(AI_GhostC_Red.AIFighting Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000503 RID: 1283 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000503")]
	[Address(RVA = "0x18E1510", Offset = "0x18E0510", VA = "0x1818E1510")]
	private void FWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000504 RID: 1284 RVA: 0x0000C018 File Offset: 0x0000A218
	[Token(Token = "0x6000504")]
	[Address(RVA = "0x18E20F0", Offset = "0x18E10F0", VA = "0x1818E20F0")]
	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: 0x06000505 RID: 1285 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000505")]
	[Address(RVA = "0x18E2190", Offset = "0x18E1190", VA = "0x1818E2190")]
	private void Hidden()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000506 RID: 1286 RVA: 0x0000C080 File Offset: 0x0000A280
	[Token(Token = "0x6000506")]
	[Address(RVA = "0x18E1F20", Offset = "0x18E0F20", VA = "0x1818E1F20")]
	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: 0x06000507 RID: 1287 RVA: 0x0000C118 File Offset: 0x0000A318
	[Token(Token = "0x6000507")]
	[Address(RVA = "0x18E2050", Offset = "0x18E1050", VA = "0x1818E2050")]
	private void HiddenLookfor()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
			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: 0x06000508 RID: 1288 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000508")]
	[Address(RVA = "0x18E0F00", Offset = "0x18DFF00", VA = "0x1818E0F00")]
	private void HiddenAttack()
	{
		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 = "0x18E0F00", Offset = "0x18DFF00", VA = "0x1818E0F00")]
	private void FBite()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600050A RID: 1290 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600050A")]
	[Address(RVA = "0x18E1170", Offset = "0x18E0170", VA = "0x1818E1170")]
	private void FRunBite01()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600050B RID: 1291 RVA: 0x0000C174 File Offset: 0x0000A374
	[Token(Token = "0x600050B")]
	[Address(RVA = "0x18E1430", Offset = "0x18E0430", VA = "0x1818E1430")]
	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: 0x0600050C RID: 1292 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600050C")]
	[Address(RVA = "0x1860A90", Offset = "0x185FA90", VA = "0x181860A90", Slot = "20")]
	public override void Hear()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600050D RID: 1293 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600050D")]
	[Address(RVA = "0x1860920", Offset = "0x185F920", VA = "0x181860920", Slot = "21")]
	public override void HearCheck()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600050E RID: 1294 RVA: 0x0000C1DC File Offset: 0x0000A3DC
	[Token(Token = "0x600050E")]
	[Address(RVA = "0x15B0200", Offset = "0x15AF200", VA = "0x1815B0200", Slot = "23")]
	public override void Damaged()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x0600050F RID: 1295 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600050F")]
	[Address(RVA = "0x18E0BA0", Offset = "0x18DFBA0", VA = "0x1818E0BA0", Slot = "27")]
	public override void Death()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000510 RID: 1296 RVA: 0x0000C208 File Offset: 0x0000A408
	[Token(Token = "0x6000510")]
	[Address(RVA = "0x18E0CC0", Offset = "0x18DFCC0", VA = "0x1818E0CC0", 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..ctor();
	}

	// Token: 0x06000511 RID: 1297 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000511")]
	[Address(RVA = "0x18E24E0", Offset = "0x18E14E0", VA = "0x1818E24E0", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000512 RID: 1298 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000512")]
	[Address(RVA = "0x183A030", Offset = "0x1839030", VA = "0x18183A030", 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: 0x06000513 RID: 1299 RVA: 0x0000C2C4 File Offset: 0x0000A4C4
	[Token(Token = "0x6000513")]
	[Address(RVA = "0x18620E0", Offset = "0x18610E0", VA = "0x1818620E0", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		this.g_bDeath = false;
		this.Create();
		bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
	}

	// Token: 0x06000514 RID: 1300 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000514")]
	[Address(RVA = "0x18E0970", Offset = "0x18DF970", VA = "0x1818E0970", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000515 RID: 1301 RVA: 0x0000C2EC File Offset: 0x0000A4EC
	[Token(Token = "0x6000515")]
	[Address(RVA = "0x18E3A20", Offset = "0x18E2A20", VA = "0x1818E3A20", Slot = "32")]
	public override void Remove()
	{
		base..ctor();
		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: 0x06000516 RID: 1302 RVA: 0x0000C370 File Offset: 0x0000A570
	[Token(Token = "0x6000516")]
	[Address(RVA = "0x18E3AC0", Offset = "0x18E2AC0", VA = "0x1818E3AC0", 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: 0x06000517 RID: 1303 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000517")]
	[Address(RVA = "0x183A1B0", Offset = "0x18391B0", VA = "0x18183A1B0", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000518 RID: 1304 RVA: 0x0000C3B8 File Offset: 0x0000A5B8
	[Token(Token = "0x6000518")]
	[Address(RVA = "0x18E45D0", Offset = "0x18E35D0", VA = "0x1818E45D0")]
	public AI_GhostC_Red()
	{
	}

	// Token: 0x040005DF RID: 1503
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x40005DF")]
	protected GhostCEffectPlay g_Effect;

	// Token: 0x040005E0 RID: 1504
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x40005E0")]
	protected float g_fAttackRadius = 2f;

	// Token: 0x040005E1 RID: 1505
	[FieldOffset(Offset = "0x18C")]
	[Token(Token = "0x40005E1")]
	private float g_fAniMoveSpeed;

	// Token: 0x040005E2 RID: 1506
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x40005E2")]
	protected Material g_Mat;

	// Token: 0x040005E3 RID: 1507
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x40005E3")]
	protected Color g_EyeColor;

	// Token: 0x040005E4 RID: 1508
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x40005E4")]
	protected Color g_BodyColor;

	// Token: 0x040005E5 RID: 1509
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x40005E5")]
	protected Color g_DefaultColor;

	// Token: 0x040005E6 RID: 1510
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x40005E6")]
	protected SkinnedMeshRenderer g_MeshRender01;

	// Token: 0x040005E7 RID: 1511
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x40005E7")]
	protected CapsuleCollider g_CC02;

	// Token: 0x040005E8 RID: 1512
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x40005E8")]
	protected CCController g_CCC;

	// Token: 0x040005E9 RID: 1513
	[FieldOffset(Offset = "0x1E0")]
	[Token(Token = "0x40005E9")]
	protected ParticleSystem g_BodyEffect;

	// Token: 0x040005EA RID: 1514
	[FieldOffset(Offset = "0x1E8")]
	[Token(Token = "0x40005EA")]
	protected ParticleSystem g_DeathEffect;

	// Token: 0x040005EB RID: 1515
	[FieldOffset(Offset = "0x1F0")]
	[Token(Token = "0x40005EB")]
	protected Shake g_ShakeHead;

	// Token: 0x040005EC RID: 1516
	[FieldOffset(Offset = "0x1F8")]
	[Token(Token = "0x40005EC")]
	protected Shake g_ShakeBody;

	// Token: 0x040005ED RID: 1517
	[FieldOffset(Offset = "0x200")]
	[Token(Token = "0x40005ED")]
	private AI_GhostC_Red.AIFighting g_Fightting;

	// Token: 0x040005EE RID: 1518
	[FieldOffset(Offset = "0x204")]
	[Token(Token = "0x40005EE")]
	private bool g_bRunBite;

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

	// Token: 0x040005F0 RID: 1520
	[FieldOffset(Offset = "0x20C")]
	[Token(Token = "0x40005F0")]
	protected float g_fAttackRotateTime;

	// Token: 0x0200007B RID: 123
	[Token(Token = "0x200007B")]
	private enum AIFighting
	{
		// Token: 0x040005F2 RID: 1522
		[Token(Token = "0x40005F2")]
		Watch,
		// Token: 0x040005F3 RID: 1523
		[Token(Token = "0x40005F3")]
		Bite,
		// Token: 0x040005F4 RID: 1524
		[Token(Token = "0x40005F4")]
		RunBite01,
		// Token: 0x040005F5 RID: 1525
		[Token(Token = "0x40005F5")]
		RunBite02,
		// Token: 0x040005F6 RID: 1526
		[Token(Token = "0x40005F6")]
		Track,
		// Token: 0x040005F7 RID: 1527
		[Token(Token = "0x40005F7")]
		HiddenStart,
		// Token: 0x040005F8 RID: 1528
		[Token(Token = "0x40005F8")]
		Hidden,
		// Token: 0x040005F9 RID: 1529
		[Token(Token = "0x40005F9")]
		HiddenEnd,
		// Token: 0x040005FA RID: 1530
		[Token(Token = "0x40005FA")]
		HiddenAttack,
		// Token: 0x040005FB RID: 1531
		[Token(Token = "0x40005FB")]
		HiddenLookfor
	}
}
