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

// Token: 0x0200006F RID: 111
[Token(Token = "0x200006F")]
public class AI_GhostC : AI_NPC
{
	// Token: 0x06000498 RID: 1176 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000498")]
	[Address(RVA = "0x18621F0", Offset = "0x18611F0", VA = "0x1818621F0", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000499 RID: 1177 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000499")]
	[Address(RVA = "0x1862C10", Offset = "0x1861C10", VA = "0x181862C10", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600049A RID: 1178 RVA: 0x0000B8CC File Offset: 0x00009ACC
	[Token(Token = "0x600049A")]
	[Address(RVA = "0x1861E50", Offset = "0x1860E50", VA = "0x181861E50", Slot = "6")]
	public override void LateUpdate()
	{
		this.g_ShakeHead.Update();
		this.g_ShakeBody.Update();
	}

	// Token: 0x0600049B RID: 1179 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600049B")]
	[Address(RVA = "0x18618D0", Offset = "0x18608D0", VA = "0x1818618D0", Slot = "38")]
	public virtual void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600049C RID: 1180 RVA: 0x0000B8F8 File Offset: 0x00009AF8
	[Token(Token = "0x600049C")]
	[Address(RVA = "0x185FC30", Offset = "0x185EC30", VA = "0x18185FC30")]
	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: 0x0600049D RID: 1181 RVA: 0x0000B92C File Offset: 0x00009B2C
	[Token(Token = "0x600049D")]
	[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: 0x0600049E RID: 1182 RVA: 0x0000B95C File Offset: 0x00009B5C
	[Token(Token = "0x600049E")]
	[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: 0x0600049F RID: 1183 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600049F")]
	[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: 0x060004A0 RID: 1184 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004A0")]
	[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: 0x060004A1 RID: 1185 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004A1")]
	[Address(RVA = "0x1860800", Offset = "0x185F800", VA = "0x181860800", Slot = "19")]
	public override void GoHome()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004A2 RID: 1186 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004A2")]
	[Address(RVA = "0x185F510", Offset = "0x185E510", VA = "0x18185F510", Slot = "12")]
	public override void Confirming()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004A3 RID: 1187 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004A3")]
	[Address(RVA = "0x1862980", Offset = "0x1861980", VA = "0x181862980", Slot = "13")]
	public override void Track()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004A4 RID: 1188 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004A4")]
	[Address(RVA = "0x1862B80", Offset = "0x1861B80", VA = "0x181862B80", Slot = "17")]
	public override void TurnPlayer()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004A5 RID: 1189 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004A5")]
	[Address(RVA = "0x1861E90", Offset = "0x1860E90", VA = "0x181861E90", Slot = "16")]
	public override void LookFor()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004A6 RID: 1190 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004A6")]
	[Address(RVA = "0x18602A0", Offset = "0x185F2A0", VA = "0x1818602A0", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004A7 RID: 1191 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004A7")]
	[Address(RVA = "0x1861550", Offset = "0x1860550", VA = "0x181861550")]
	private void InitFightingType(AI_GhostC.AIFighting Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004A8 RID: 1192 RVA: 0x0000B98C File Offset: 0x00009B8C
	[Token(Token = "0x60004A8")]
	[Address(RVA = "0x1862130", Offset = "0x1861130", VA = "0x181862130", Slot = "39")]
	protected virtual void SetFightTrackWaitTime()
	{
		this.g_fWaitTime = 6f;
	}

	// Token: 0x060004A9 RID: 1193 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004A9")]
	[Address(RVA = "0x1860130", Offset = "0x185F130", VA = "0x181860130")]
	private void FWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004AA RID: 1194 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004AA")]
	[Address(RVA = "0x185FFF0", Offset = "0x185EFF0", VA = "0x18185FFF0")]
	private void FTrack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004AB RID: 1195 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004AB")]
	[Address(RVA = "0x185FCA0", Offset = "0x185ECA0", VA = "0x18185FCA0")]
	private void FBite()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004AC RID: 1196 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004AC")]
	[Address(RVA = "0x185FE80", Offset = "0x185EE80", VA = "0x18185FE80")]
	private void FRunBite01()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004AD RID: 1197 RVA: 0x0000B9A4 File Offset: 0x00009BA4
	[Token(Token = "0x60004AD")]
	[Address(RVA = "0x185FFC0", Offset = "0x185EFC0", VA = "0x18185FFC0")]
	private void FRunBite02()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int num2 = 0;
			this.InitFightingType((AI_GhostC.AIFighting)num2);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060004AE RID: 1198 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004AE")]
	[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: 0x060004AF RID: 1199 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004AF")]
	[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: 0x060004B0 RID: 1200 RVA: 0x0000B9D0 File Offset: 0x00009BD0
	[Token(Token = "0x60004B0")]
	[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: 0x060004B1 RID: 1201 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004B1")]
	[Address(RVA = "0x185F940", Offset = "0x185E940", VA = "0x18185F940", Slot = "27")]
	public override void Death()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004B2 RID: 1202 RVA: 0x0000B9FC File Offset: 0x00009BFC
	[Token(Token = "0x60004B2")]
	[Address(RVA = "0x185FA60", Offset = "0x185EA60", VA = "0x18185FA60", 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: 0x060004B3 RID: 1203 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004B3")]
	[Address(RVA = "0x1860C30", Offset = "0x185FC30", VA = "0x181860C30", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004B4 RID: 1204 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004B4")]
	[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: 0x060004B5 RID: 1205 RVA: 0x0000BAB8 File Offset: 0x00009CB8
	[Token(Token = "0x60004B5")]
	[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: 0x060004B6 RID: 1206 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004B6")]
	[Address(RVA = "0x185F710", Offset = "0x185E710", VA = "0x18185F710", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060004B7 RID: 1207 RVA: 0x0000BAE0 File Offset: 0x00009CE0
	[Token(Token = "0x60004B7")]
	[Address(RVA = "0x1862040", Offset = "0x1861040", VA = "0x181862040", Slot = "32")]
	public override void Remove()
	{
		base..ctor();
		SkinnedMeshRenderer skinnedMeshRenderer = this.g_MeshRender01;
		int num = 0;
		skinnedMeshRenderer.enabled = num != 0;
		CharacterController characterController = this.g_CC;
		int num2 = 0;
		characterController.enabled = 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: 0x060004B8 RID: 1208 RVA: 0x0000BB64 File Offset: 0x00009D64
	[Token(Token = "0x60004B8")]
	[Address(RVA = "0x1862140", Offset = "0x1861140", VA = "0x181862140", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		Common.SetEffectTimeScale(this.g_BodyEffect, fTimeScale);
		Common.SetEffectTimeScale(this.g_DeathEffect, fTimeScale);
	}

	// Token: 0x060004B9 RID: 1209 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60004B9")]
	[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: 0x060004BA RID: 1210 RVA: 0x0000BB90 File Offset: 0x00009D90
	[Token(Token = "0x60004BA")]
	[Address(RVA = "0x1862DD0", Offset = "0x1861DD0", VA = "0x181862DD0")]
	public AI_GhostC()
	{
	}

	// Token: 0x0400059D RID: 1437
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x400059D")]
	protected GhostCEffectPlay g_Effect;

	// Token: 0x0400059E RID: 1438
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x400059E")]
	protected float g_fAttackRadius = 1.2f;

	// Token: 0x0400059F RID: 1439
	[FieldOffset(Offset = "0x18C")]
	[Token(Token = "0x400059F")]
	private float g_fAniMoveSpeed;

	// Token: 0x040005A0 RID: 1440
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x40005A0")]
	protected Material g_Mat;

	// Token: 0x040005A1 RID: 1441
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x40005A1")]
	protected Color g_EyeColor;

	// Token: 0x040005A2 RID: 1442
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x40005A2")]
	protected Color g_BodyColor;

	// Token: 0x040005A3 RID: 1443
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x40005A3")]
	protected Color g_DefaultColor;

	// Token: 0x040005A4 RID: 1444
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x40005A4")]
	protected SkinnedMeshRenderer g_MeshRender01;

	// Token: 0x040005A5 RID: 1445
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x40005A5")]
	protected CharacterController g_CC;

	// Token: 0x040005A6 RID: 1446
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x40005A6")]
	protected CapsuleCollider g_CC02;

	// Token: 0x040005A7 RID: 1447
	[FieldOffset(Offset = "0x1E0")]
	[Token(Token = "0x40005A7")]
	protected ParticleSystem g_BodyEffect;

	// Token: 0x040005A8 RID: 1448
	[FieldOffset(Offset = "0x1E8")]
	[Token(Token = "0x40005A8")]
	protected ParticleSystem g_DeathEffect;

	// Token: 0x040005A9 RID: 1449
	[FieldOffset(Offset = "0x1F0")]
	[Token(Token = "0x40005A9")]
	protected Shake g_ShakeHead;

	// Token: 0x040005AA RID: 1450
	[FieldOffset(Offset = "0x1F8")]
	[Token(Token = "0x40005AA")]
	protected Shake g_ShakeBody;

	// Token: 0x040005AB RID: 1451
	[FieldOffset(Offset = "0x200")]
	[Token(Token = "0x40005AB")]
	private AI_GhostC.AIFighting g_Fightting;

	// Token: 0x040005AC RID: 1452
	[FieldOffset(Offset = "0x204")]
	[Token(Token = "0x40005AC")]
	private bool g_bRunBite;

	// Token: 0x040005AD RID: 1453
	[FieldOffset(Offset = "0x208")]
	[Token(Token = "0x40005AD")]
	protected float g_fAttackMoveTime;

	// Token: 0x040005AE RID: 1454
	[FieldOffset(Offset = "0x20C")]
	[Token(Token = "0x40005AE")]
	protected float g_fAttackRotateTime;

	// Token: 0x02000070 RID: 112
	[Token(Token = "0x2000070")]
	private enum AIFighting
	{
		// Token: 0x040005B0 RID: 1456
		[Token(Token = "0x40005B0")]
		Watch,
		// Token: 0x040005B1 RID: 1457
		[Token(Token = "0x40005B1")]
		Bite,
		// Token: 0x040005B2 RID: 1458
		[Token(Token = "0x40005B2")]
		RunBite01,
		// Token: 0x040005B3 RID: 1459
		[Token(Token = "0x40005B3")]
		RunBite02,
		// Token: 0x040005B4 RID: 1460
		[Token(Token = "0x40005B4")]
		Track
	}
}
