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

// Token: 0x02000089 RID: 137
[Token(Token = "0x2000089")]
public class AI_SealGhost02 : AI_NPC
{
	// Token: 0x060005C6 RID: 1478 RVA: 0x0000DB78 File Offset: 0x0000BD78
	[Token(Token = "0x60005C6")]
	[Address(RVA = "0x1886320", Offset = "0x1885320", VA = "0x181886320", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		base.Start(This, NPCM);
		SealGhost02EffectPlay component = This.GetComponent<SealGhost02EffectPlay>();
		this.g_Effect = component;
		SealGhost02EffectPlay sealGhost02EffectPlay = this.g_Effect;
		MoveController g_Move = this.g_Move;
		sealGhost02EffectPlay.InitData(g_Move);
		this.g_Move.gravity = 42f;
		this.g_Move.fallSpeedMax = -45f;
		Shake shake = new Shake();
		this.g_ShakeHead = shake;
		GameObject g_This = this.g_This;
		Shake shake2 = this.g_ShakeHead;
		Transform transform = Common.FindChild(g_This.transform, "Bip001 Head");
		int num = 0;
		shake2.Start(transform, num != 0);
		Shake shake3 = new Shake();
		this.g_ShakeSpine = shake3;
		GameObject g_This2 = this.g_This;
		Shake shake4 = this.g_ShakeSpine;
		Transform transform2 = Common.FindChild(g_This2.transform, "Bip001 Spine1");
		int num2 = 0;
		shake4.Start(transform2, num2 != 0);
		Shake shake5 = new Shake();
		this.g_ShakeUpperArmL = shake5;
		GameObject g_This3 = this.g_This;
		Shake shake6 = this.g_ShakeUpperArmL;
		Transform transform3 = Common.FindChild(g_This3.transform, "Bip001 L UpperArm");
		int num3 = 0;
		shake6.Start(transform3, num3 != 0);
		Shake shake7 = new Shake();
		this.g_ShakeUpperArmR = shake7;
		GameObject g_This4 = this.g_This;
		Shake shake8 = this.g_ShakeUpperArmR;
		Transform transform4 = Common.FindChild(g_This4.transform, "Bip001 R UpperArm");
		int num4 = 0;
		shake8.Start(transform4, num4 != 0);
		Shake shake9 = new Shake();
		this.g_ShakeThighL = shake9;
		GameObject g_This5 = this.g_This;
		Shake shake10 = this.g_ShakeThighL;
		Transform transform5 = Common.FindChild(g_This5.transform, "Bip001 L Thigh");
		int num5 = 0;
		shake10.Start(transform5, num5 != 0);
		Shake shake11 = new Shake();
		this.g_ShakeThighR = shake11;
		GameObject g_This6 = this.g_This;
		Shake shake12 = this.g_ShakeThighR;
		Transform transform6 = Common.FindChild(g_This6.transform, "Bip001 R Thigh");
		int num6 = 0;
		shake12.Start(transform6, num6 != 0);
		Shake shake13 = new Shake();
		this.g_ShakeAll = shake13;
		GameObject g_This7 = this.g_This;
		Shake shake14 = this.g_ShakeAll;
		Transform transform7 = Common.FindChild(g_This7.transform, "Bip_GhostE");
		int num7 = 0;
		shake14.Start(transform7, num7 != 0);
		Animator g_Anim = this.g_Anim;
		this.g_fAniSkirtWeights = 0.3f;
		g_Anim.SetLayerWeight(1, 0.3f);
		Animator g_Anim2 = this.g_Anim;
		this.g_fAniDamageHead = 0f;
		int num8 = 0;
		g_Anim2.SetLayerWeight(2, (float)num8);
		this.g_bLookAtEnable = true;
		this.g_Status = (AI_NPC.AIStatus)((ulong)17L);
		bool doTan = ((MB_IMeshBakerSettings)this).doTan;
	}

	// Token: 0x060005C7 RID: 1479 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005C7")]
	[Address(RVA = "0x1886820", Offset = "0x1885820", VA = "0x181886820", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005C8 RID: 1480 RVA: 0x0000DDF0 File Offset: 0x0000BFF0
	[Token(Token = "0x60005C8")]
	[Address(RVA = "0x1885F90", Offset = "0x1884F90", VA = "0x181885F90", Slot = "6")]
	public override void LateUpdate()
	{
		this.FDebut();
		this.g_ShakeHead.Update();
		this.g_ShakeSpine.Update();
		this.g_ShakeUpperArmL.Update();
		this.g_ShakeUpperArmR.Update();
		this.g_ShakeThighL.Update();
		this.g_ShakeThighR.Update();
		this.g_ShakeAll.Update();
	}

	// Token: 0x060005C9 RID: 1481 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005C9")]
	[Address(RVA = "0x1883E20", Offset = "0x1882E20", VA = "0x181883E20", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005CA RID: 1482 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005CA")]
	[Address(RVA = "0x18850B0", Offset = "0x18840B0", VA = "0x1818850B0", Slot = "38")]
	protected virtual void InitFightStatus(AI_SealGhost02.AIFighting Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005CB RID: 1483 RVA: 0x0000DE58 File Offset: 0x0000C058
	[Token(Token = "0x60005CB")]
	[Address(RVA = "0x18826A0", Offset = "0x18816A0", VA = "0x1818826A0", Slot = "39")]
	protected virtual void AttackSelect()
	{
		int num = UnityEngine.Random.Range(0, 4);
		if (num != 0)
		{
			if (num == 0)
			{
				this.g_NextFighting = (AI_SealGhost02.AIFighting)((ulong)10L);
				return;
			}
			if (num == 0)
			{
				this.g_NextFighting = (AI_SealGhost02.AIFighting)((ulong)11L);
				return;
			}
			if (num == 1)
			{
				this.g_NextFighting = (AI_SealGhost02.AIFighting)((ulong)12L);
				return;
			}
		}
		else
		{
			this.g_NextFighting = (AI_SealGhost02.AIFighting)((ulong)9L);
		}
	}

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

	// Token: 0x060005CD RID: 1485 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005CD")]
	[Address(RVA = "0x1883A60", Offset = "0x1882A60", VA = "0x181883A60", Slot = "40")]
	protected virtual void FWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005CE RID: 1486 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005CE")]
	[Address(RVA = "0x1883450", Offset = "0x1882450", VA = "0x181883450", Slot = "41")]
	protected virtual void FMoveStart()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005CF RID: 1487 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005CF")]
	[Address(RVA = "0x1883570", Offset = "0x1882570", VA = "0x181883570", Slot = "42")]
	protected virtual void FMove()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005D0 RID: 1488 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005D0")]
	[Address(RVA = "0x1882DB0", Offset = "0x1881DB0", VA = "0x181882DB0", Slot = "43")]
	protected virtual void FMoveEnd()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005D1 RID: 1489 RVA: 0x0000DEA8 File Offset: 0x0000C0A8
	[Token(Token = "0x60005D1")]
	[Address(RVA = "0x15B0E10", Offset = "0x15AFE10", VA = "0x1815B0E10")]
	protected void FAttack()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doTan = ((MB_IMeshBakerSettings)this).doTan;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060005D2 RID: 1490 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005D2")]
	[Address(RVA = "0x18838B0", Offset = "0x18828B0", VA = "0x1818838B0")]
	protected void FTrunBack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005D3 RID: 1491 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005D3")]
	[Address(RVA = "0x1882B80", Offset = "0x1881B80", VA = "0x181882B80")]
	protected void FJump()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005D4 RID: 1492 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005D4")]
	[Address(RVA = "0x1882990", Offset = "0x1881990", VA = "0x181882990")]
	protected void FFall()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005D5 RID: 1493 RVA: 0x0000DED4 File Offset: 0x0000C0D4
	[Token(Token = "0x60005D5")]
	[Address(RVA = "0x15B0E10", Offset = "0x15AFE10", VA = "0x1815B0E10")]
	protected void FDamage()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doTan = ((MB_IMeshBakerSettings)this).doTan;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060005D6 RID: 1494 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005D6")]
	[Address(RVA = "0x18828B0", Offset = "0x18818B0", VA = "0x1818828B0")]
	protected void FDeath()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005D7 RID: 1495 RVA: 0x0000DF00 File Offset: 0x0000C100
	[Token(Token = "0x60005D7")]
	[Address(RVA = "0x15B0200", Offset = "0x15AF200", VA = "0x1815B0200")]
	protected void FDestory()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doTan = ((MB_IMeshBakerSettings)this).doTan;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060005D8 RID: 1496 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005D8")]
	[Address(RVA = "0x1884540", Offset = "0x1883540", VA = "0x181884540", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005D9 RID: 1497 RVA: 0x0000DF2C File Offset: 0x0000C12C
	[Token(Token = "0x60005D9")]
	[Address(RVA = "0x183D080", Offset = "0x183C080", VA = "0x18183D080", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		this.g_bDeath = false;
		bool doTan = ((MB_IMeshBakerSettings)this).doTan;
	}

	// Token: 0x060005DA RID: 1498 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005DA")]
	[Address(RVA = "0x1882710", Offset = "0x1881710", VA = "0x181882710", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005DB RID: 1499 RVA: 0x0000DF50 File Offset: 0x0000C150
	[Token(Token = "0x60005DB")]
	[Address(RVA = "0x1886030", Offset = "0x1885030", VA = "0x181886030", Slot = "32")]
	public override void Remove()
	{
		this.FDebut();
		NPCManage g_NPCM = this.g_NPCM;
		int num = 0;
		g_NPCM.SetLockPoint(num != 0);
		this.g_Effect.RemoveEnemy();
		GameObject g_This = this.g_This;
		int num2 = 0;
		g_This.SetActive(num2 != 0);
	}

	// Token: 0x060005DC RID: 1500 RVA: 0x0000DF94 File Offset: 0x0000C194
	[Token(Token = "0x60005DC")]
	[Address(RVA = "0x18862E0", Offset = "0x18852E0", VA = "0x1818862E0", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x060005DD RID: 1501 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005DD")]
	[Address(RVA = "0x1886090", Offset = "0x1885090", VA = "0x181886090", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005DE RID: 1502 RVA: 0x0000DFBC File Offset: 0x0000C1BC
	[Token(Token = "0x60005DE")]
	[Address(RVA = "0x1886900", Offset = "0x1885900", VA = "0x181886900")]
	public AI_SealGhost02()
	{
	}

	// Token: 0x040006F3 RID: 1779
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x40006F3")]
	protected SealGhost02EffectPlay g_Effect;

	// Token: 0x040006F4 RID: 1780
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x40006F4")]
	protected float g_fAniSkirtWeights;

	// Token: 0x040006F5 RID: 1781
	[FieldOffset(Offset = "0x18C")]
	[Token(Token = "0x40006F5")]
	protected float g_fAniDamageHead;

	// Token: 0x040006F6 RID: 1782
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x40006F6")]
	private Shake g_ShakeHead;

	// Token: 0x040006F7 RID: 1783
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x40006F7")]
	private Shake g_ShakeSpine;

	// Token: 0x040006F8 RID: 1784
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x40006F8")]
	private Shake g_ShakeUpperArmL;

	// Token: 0x040006F9 RID: 1785
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x40006F9")]
	private Shake g_ShakeUpperArmR;

	// Token: 0x040006FA RID: 1786
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x40006FA")]
	private Shake g_ShakeThighL;

	// Token: 0x040006FB RID: 1787
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x40006FB")]
	private Shake g_ShakeThighR;

	// Token: 0x040006FC RID: 1788
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x40006FC")]
	private Shake g_ShakeAll;

	// Token: 0x040006FD RID: 1789
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x40006FD")]
	protected AI_SealGhost02.AIFighting g_Fighting = (AI_SealGhost02.AIFighting)((ulong)1L);

	// Token: 0x040006FE RID: 1790
	[FieldOffset(Offset = "0x1CC")]
	[Token(Token = "0x40006FE")]
	protected AI_SealGhost02.AIFighting g_NextFighting;

	// Token: 0x040006FF RID: 1791
	[Token(Token = "0x40006FF")]
	protected const float g_fAttackRange = 10.5f;

	// Token: 0x04000700 RID: 1792
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x4000700")]
	protected float g_fTemp01Time;

	// Token: 0x04000701 RID: 1793
	[FieldOffset(Offset = "0x1D4")]
	[Token(Token = "0x4000701")]
	protected bool g_bMove;

	// Token: 0x04000702 RID: 1794
	[Token(Token = "0x4000702")]
	protected const float g_fTrunAngle = 105f;

	// Token: 0x04000703 RID: 1795
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x4000703")]
	protected Vector3 g_v3MoveDirection;

	// Token: 0x04000704 RID: 1796
	[FieldOffset(Offset = "0x1E4")]
	[Token(Token = "0x4000704")]
	protected Quaternion g_qMoveDirection;

	// Token: 0x04000705 RID: 1797
	[FieldOffset(Offset = "0x1F4")]
	[Token(Token = "0x4000705")]
	protected Vector3 g_v3JumpPoint;

	// Token: 0x04000706 RID: 1798
	[FieldOffset(Offset = "0x200")]
	[Token(Token = "0x4000706")]
	protected int g_iPlayerArea;

	// Token: 0x04000707 RID: 1799
	[FieldOffset(Offset = "0x204")]
	[Token(Token = "0x4000707")]
	protected int g_iOwnArea;

	// Token: 0x04000708 RID: 1800
	[FieldOffset(Offset = "0x208")]
	[Token(Token = "0x4000708")]
	private int g_iScript;

	// Token: 0x0200008A RID: 138
	[Token(Token = "0x200008A")]
	protected enum AIFighting
	{
		// Token: 0x0400070A RID: 1802
		[Token(Token = "0x400070A")]
		Null,
		// Token: 0x0400070B RID: 1803
		[Token(Token = "0x400070B")]
		Watch,
		// Token: 0x0400070C RID: 1804
		[Token(Token = "0x400070C")]
		MoveStart,
		// Token: 0x0400070D RID: 1805
		[Token(Token = "0x400070D")]
		Move,
		// Token: 0x0400070E RID: 1806
		[Token(Token = "0x400070E")]
		MoveEnd,
		// Token: 0x0400070F RID: 1807
		[Token(Token = "0x400070F")]
		TrunBack,
		// Token: 0x04000710 RID: 1808
		[Token(Token = "0x4000710")]
		Jump,
		// Token: 0x04000711 RID: 1809
		[Token(Token = "0x4000711")]
		Fall,
		// Token: 0x04000712 RID: 1810
		[Token(Token = "0x4000712")]
		Land,
		// Token: 0x04000713 RID: 1811
		[Token(Token = "0x4000713")]
		Attack01,
		// Token: 0x04000714 RID: 1812
		[Token(Token = "0x4000714")]
		Attack02,
		// Token: 0x04000715 RID: 1813
		[Token(Token = "0x4000715")]
		Attack03,
		// Token: 0x04000716 RID: 1814
		[Token(Token = "0x4000716")]
		Attack04,
		// Token: 0x04000717 RID: 1815
		[Token(Token = "0x4000717")]
		Attack05,
		// Token: 0x04000718 RID: 1816
		[Token(Token = "0x4000718")]
		Damage,
		// Token: 0x04000719 RID: 1817
		[Token(Token = "0x4000719")]
		Death,
		// Token: 0x0400071A RID: 1818
		[Token(Token = "0x400071A")]
		Destroy,
		// Token: 0x0400071B RID: 1819
		[Token(Token = "0x400071B")]
		End,
		// Token: 0x0400071C RID: 1820
		[Token(Token = "0x400071C")]
		Debut,
		// Token: 0x0400071D RID: 1821
		[Token(Token = "0x400071D")]
		BR_Attack02,
		// Token: 0x0400071E RID: 1822
		[Token(Token = "0x400071E")]
		BR_HideStart,
		// Token: 0x0400071F RID: 1823
		[Token(Token = "0x400071F")]
		BR_Hide,
		// Token: 0x04000720 RID: 1824
		[Token(Token = "0x4000720")]
		BR_Hiding,
		// Token: 0x04000721 RID: 1825
		[Token(Token = "0x4000721")]
		BR_AppearStart,
		// Token: 0x04000722 RID: 1826
		[Token(Token = "0x4000722")]
		BR_Appear
	}
}
