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

// Token: 0x0200008A RID: 138
[Token(Token = "0x200008A")]
public class AI_SpecterArmorGirl02 : AI_NPC
{
	// Token: 0x060005DB RID: 1499 RVA: 0x0000E484 File Offset: 0x0000C684
	[Token(Token = "0x60005DB")]
	[Address(RVA = "0x18BF6D0", Offset = "0x18BE4D0", VA = "0x1818BF6D0", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		base.Start(This, NPCM);
		SpecterArmorGirl02EffectPlay component = This.GetComponent<SpecterArmorGirl02EffectPlay>();
		this.g_Effect = component;
		SpecterArmorGirl02EffectPlay specterArmorGirl02EffectPlay = this.g_Effect;
		MoveController g_Move = this.g_Move;
		specterArmorGirl02EffectPlay.InitData(g_Move);
		MoveController g_Move2 = this.g_Move;
		this.g_fDragRotation = 0.3f;
		g_Move2.SetDragRotation(0.3f);
		this.g_Move.SetDragMove(9f);
		this.g_Move.gravity = 15f;
		this.g_Move.fallSpeedMax = -30f;
		this.g_fVisionDistance = 60f;
		this.g_fVisionAngle = 135f;
		this.g_fWalkSpeed = 2f;
		this.g_fRunSpeed = 7.5f;
		this.g_fDashSpeed = 30f;
		Shake shake = new Shake();
		this.g_ShakeBody = shake;
		GameObject g_This = this.g_This;
		Shake shake2 = this.g_ShakeBody;
		Transform transform = Common.FindChild(g_This.transform, "Bip001 Spine1");
		int num = 0;
		shake2.Start(transform, num != 0);
		Shake shake3 = new Shake();
		this.g_ShakeHead = shake3;
		GameObject g_This2 = this.g_This;
		Shake shake4 = this.g_ShakeHead;
		Transform transform2 = Common.FindChild(g_This2.transform, "Bip001 Head");
		int num2 = 0;
		shake4.Start(transform2, num2 != 0);
		Shake shake5 = new Shake();
		this.g_ShakeAll = shake5;
		GameObject g_This3 = this.g_This;
		Shake shake6 = this.g_ShakeAll;
		Transform transform3 = Common.FindChild(g_This3.transform, "Bip001");
		int num3 = 0;
		shake6.Start(transform3, num3 != 0);
		bool flag = UnityEngine.Random.Range(0, 2) != 0;
		this.g_bDodgeDirection = flag;
		int parameterCount = ((IParameterProvider)this).ParameterCount;
	}

	// Token: 0x060005DC RID: 1500 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005DC")]
	[Address(RVA = "0x18BF9E0", Offset = "0x18BE7E0", VA = "0x1818BF9E0", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005DD RID: 1501 RVA: 0x0000E628 File Offset: 0x0000C828
	[Token(Token = "0x60005DD")]
	[Address(RVA = "0x18BF470", Offset = "0x18BE270", VA = "0x1818BF470", Slot = "6")]
	public override void LateUpdate()
	{
		this.g_ShakeHead.Update();
		this.g_ShakeBody.Update();
		this.g_ShakeAll.Update();
	}

	// Token: 0x060005DE RID: 1502 RVA: 0x0000E65C File Offset: 0x0000C85C
	[Token(Token = "0x60005DE")]
	[Address(RVA = "0x18BC400", Offset = "0x18BB200", VA = "0x1818BC400")]
	public void EndStatus(AI_NPC.AIStatus Status)
	{
		SpecterArmorGirl02EffectPlay specterArmorGirl02EffectPlay = this.g_Effect;
		int num = 0;
		specterArmorGirl02EffectPlay.SetCCCLie(num);
	}

	// Token: 0x060005DF RID: 1503 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005DF")]
	[Address(RVA = "0x18BEDB0", Offset = "0x18BDBB0", VA = "0x1818BEDB0", Slot = "38")]
	public virtual void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E0 RID: 1504 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E0")]
	[Address(RVA = "0x11DDF90", Offset = "0x11DCD90", VA = "0x1811DDF90", Slot = "9")]
	public override void Sky()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E1 RID: 1505 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E1")]
	[Address(RVA = "0x11DD9A0", Offset = "0x11DC7A0", VA = "0x1811DD9A0", Slot = "10")]
	public override void Land()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E2 RID: 1506 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E2")]
	[Address(RVA = "0x11DC0F0", Offset = "0x11DAEF0", VA = "0x1811DC0F0", Slot = "8")]
	public override void Idle()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E3 RID: 1507 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E3")]
	[Address(RVA = "0x18BF4C0", Offset = "0x18BE2C0", VA = "0x1818BF4C0", Slot = "11")]
	public override void Patrol()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E4 RID: 1508 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E4")]
	[Address(RVA = "0x11DB270", Offset = "0x11DA070", VA = "0x1811DB270", Slot = "19")]
	public override void GoHome()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E5 RID: 1509 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E5")]
	[Address(RVA = "0x11D86F0", Offset = "0x11D74F0", VA = "0x1811D86F0", Slot = "12")]
	public override void Confirming()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E6 RID: 1510 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E6")]
	[Address(RVA = "0x11DDB10", Offset = "0x11DC910", VA = "0x1811DDB10", Slot = "16")]
	public override void LookFor()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E7 RID: 1511 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E7")]
	[Address(RVA = "0x178F600", Offset = "0x178E400", VA = "0x18178F600", Slot = "20")]
	public override void Hear()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E8 RID: 1512 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E8")]
	[Address(RVA = "0x178F470", Offset = "0x178E270", VA = "0x18178F470", Slot = "21")]
	public override void HearCheck()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E9 RID: 1513 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E9")]
	[Address(RVA = "0x11D89B0", Offset = "0x11D77B0", VA = "0x1811D89B0", Slot = "23")]
	public override void Damaged()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005EA RID: 1514 RVA: 0x0000E680 File Offset: 0x0000C880
	[Token(Token = "0x60005EA")]
	[Address(RVA = "0x11D5AB0", Offset = "0x11D48B0", VA = "0x1811D5AB0", Slot = "25")]
	public override void DamagedFly()
	{
		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: 0x060005EB RID: 1515 RVA: 0x0000E6AC File Offset: 0x0000C8AC
	[Token(Token = "0x60005EB")]
	[Address(RVA = "0x18BC360", Offset = "0x18BB160", VA = "0x1818BC360", Slot = "27")]
	public override void Death()
	{
		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;
		float num2 = this.g_fAttackRotate;
		while (num2 <= (float)num)
		{
		}
		this.g_fAttackRotate = num2;
		this.g_Effect.Death();
	}

	// Token: 0x060005EC RID: 1516 RVA: 0x0000E700 File Offset: 0x0000C900
	[Token(Token = "0x60005EC")]
	[Address(RVA = "0x11D5B50", Offset = "0x11D4950", VA = "0x1811D5B50", 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);
			base.Initialize();
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
		base.Initialize();
	}

	// Token: 0x060005ED RID: 1517 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005ED")]
	[Address(RVA = "0x18BD1F0", Offset = "0x18BBFF0", VA = "0x1818BD1F0", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005EE RID: 1518 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005EE")]
	[Address(RVA = "0x18BE350", Offset = "0x18BD150", VA = "0x1818BE350")]
	protected void InitFightingType(AI_SpecterArmorGirl02.AIFighting Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005EF RID: 1519 RVA: 0x0000E744 File Offset: 0x0000C944
	[Token(Token = "0x60005EF")]
	[Address(RVA = "0x18BC6C0", Offset = "0x18BB4C0", VA = "0x1818BC6C0")]
	private void FightAttackSelect()
	{
		float num = UnityEngine.Random.Range((float)0, 1f);
		float num2 = this.g_fVisionDistance * 0.3333f;
		this.g_AttackType = (AI_SpecterArmorGirl02.AIFighting)((ulong)5L);
	}

	// Token: 0x060005F0 RID: 1520 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F0")]
	[Address(RVA = "0x18BCAB0", Offset = "0x18BB8B0", VA = "0x1818BCAB0")]
	private void FightWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005F1 RID: 1521 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F1")]
	[Address(RVA = "0x18BC870", Offset = "0x18BB670", VA = "0x1818BC870")]
	private void FightDodge()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005F2 RID: 1522 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F2")]
	[Address(RVA = "0x18BCA00", Offset = "0x18BB800", VA = "0x1818BCA00")]
	private void FightSkyDodgeF()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005F3 RID: 1523 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F3")]
	[Address(RVA = "0x18BC760", Offset = "0x18BB560", VA = "0x1818BC760")]
	private void FightAttack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005F4 RID: 1524 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F4")]
	[Address(RVA = "0x18BC430", Offset = "0x18BB230", VA = "0x1818BC430")]
	private void FightAttackJump()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005F5 RID: 1525 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F5")]
	[Address(RVA = "0x18BC960", Offset = "0x18BB760", VA = "0x1818BC960")]
	private void FightPlayerDead()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005F6 RID: 1526 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F6")]
	[Address(RVA = "0x18BD510", Offset = "0x18BC310", VA = "0x1818BD510", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005F7 RID: 1527 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F7")]
	[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: 0x060005F8 RID: 1528 RVA: 0x0000E794 File Offset: 0x0000C994
	[Token(Token = "0x60005F8")]
	[Address(RVA = "0x1791340", Offset = "0x1790140", VA = "0x181791340", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		this.g_bDeath = false;
		this.Create();
		int parameterCount = ((IParameterProvider)this).ParameterCount;
	}

	// Token: 0x060005F9 RID: 1529 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F9")]
	[Address(RVA = "0x18BC200", Offset = "0x18BB000", VA = "0x1818BC200", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005FA RID: 1530 RVA: 0x0000E7BC File Offset: 0x0000C9BC
	[Token(Token = "0x60005FA")]
	[Address(RVA = "0x18BF630", Offset = "0x18BE430", VA = "0x1818BF630", Slot = "32")]
	public override void Remove()
	{
		base.Initialize();
		NPCManage g_NPCM = this.g_NPCM;
		int num = 0;
		g_NPCM.SetLockPoint(num != 0);
		this.g_Effect.Remove();
		GameObject g_This = this.g_This;
		int num2 = 0;
		g_This.SetActive(num2 != 0);
	}

	// Token: 0x060005FB RID: 1531 RVA: 0x0000E800 File Offset: 0x0000CA00
	[Token(Token = "0x60005FB")]
	[Address(RVA = "0x18BF690", Offset = "0x18BE490", VA = "0x1818BF690", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x060005FC RID: 1532 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005FC")]
	[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: 0x060005FD RID: 1533 RVA: 0x0000E828 File Offset: 0x0000CA28
	[Token(Token = "0x60005FD")]
	[Address(RVA = "0x18BFC00", Offset = "0x18BEA00", VA = "0x1818BFC00")]
	public AI_SpecterArmorGirl02()
	{
	}

	// Token: 0x040006F8 RID: 1784
	[FieldOffset(Offset = "0x170")]
	[Token(Token = "0x40006F8")]
	private SpecterArmorGirl02EffectPlay g_Effect;

	// Token: 0x040006F9 RID: 1785
	[FieldOffset(Offset = "0x178")]
	[Token(Token = "0x40006F9")]
	private float g_fAniMoveSpeed;

	// Token: 0x040006FA RID: 1786
	[FieldOffset(Offset = "0x17C")]
	[Token(Token = "0x40006FA")]
	private float g_fAniMoveAngle;

	// Token: 0x040006FB RID: 1787
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x40006FB")]
	private Vector3 g_v3PreForward;

	// Token: 0x040006FC RID: 1788
	[FieldOffset(Offset = "0x18C")]
	[Token(Token = "0x40006FC")]
	private AI_SpecterArmorGirl02.AIFighting g_Fightting = (AI_SpecterArmorGirl02.AIFighting)((ulong)1L);

	// Token: 0x040006FD RID: 1789
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x40006FD")]
	private AI_SpecterArmorGirl02.AIFighting g_AttackType = (AI_SpecterArmorGirl02.AIFighting)((ulong)3L);

	// Token: 0x040006FE RID: 1790
	[FieldOffset(Offset = "0x194")]
	[Token(Token = "0x40006FE")]
	private float g_fTrackTime;

	// Token: 0x040006FF RID: 1791
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x40006FF")]
	private float g_fAttackRotate;

	// Token: 0x04000700 RID: 1792
	[Token(Token = "0x4000700")]
	private const float g_fAbsorbDodge = 0.2f;

	// Token: 0x04000701 RID: 1793
	[FieldOffset(Offset = "0x19C")]
	[Token(Token = "0x4000701")]
	protected float g_fAbsorbDodgeVal;

	// Token: 0x04000702 RID: 1794
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x4000702")]
	private bool g_bDodgeDirection;

	// Token: 0x04000703 RID: 1795
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x4000703")]
	private Shake g_ShakeHead;

	// Token: 0x04000704 RID: 1796
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x4000704")]
	private Shake g_ShakeBody;

	// Token: 0x04000705 RID: 1797
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x4000705")]
	private Shake g_ShakeAll;

	// Token: 0x0200008B RID: 139
	[Token(Token = "0x200008B")]
	protected enum AIFighting
	{
		// Token: 0x04000707 RID: 1799
		[Token(Token = "0x4000707")]
		WatchFirst,
		// Token: 0x04000708 RID: 1800
		[Token(Token = "0x4000708")]
		Watch,
		// Token: 0x04000709 RID: 1801
		[Token(Token = "0x4000709")]
		PlayerDead,
		// Token: 0x0400070A RID: 1802
		[Token(Token = "0x400070A")]
		Attack01,
		// Token: 0x0400070B RID: 1803
		[Token(Token = "0x400070B")]
		Attack02,
		// Token: 0x0400070C RID: 1804
		[Token(Token = "0x400070C")]
		Attack03,
		// Token: 0x0400070D RID: 1805
		[Token(Token = "0x400070D")]
		AttackJump,
		// Token: 0x0400070E RID: 1806
		[Token(Token = "0x400070E")]
		AttackDodgeL,
		// Token: 0x0400070F RID: 1807
		[Token(Token = "0x400070F")]
		AttackDodgeR,
		// Token: 0x04000710 RID: 1808
		[Token(Token = "0x4000710")]
		AttackKick,
		// Token: 0x04000711 RID: 1809
		[Token(Token = "0x4000711")]
		DodgeL,
		// Token: 0x04000712 RID: 1810
		[Token(Token = "0x4000712")]
		DodgeR,
		// Token: 0x04000713 RID: 1811
		[Token(Token = "0x4000713")]
		DodgeB,
		// Token: 0x04000714 RID: 1812
		[Token(Token = "0x4000714")]
		AttackDebut,
		// Token: 0x04000715 RID: 1813
		[Token(Token = "0x4000715")]
		SkyDodgeF
	}
}
