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

// Token: 0x0200008B RID: 139
[Token(Token = "0x200008B")]
public class AI_SpecterArmorGirl02 : AI_NPC
{
	// Token: 0x060005DF RID: 1503 RVA: 0x0000DFD8 File Offset: 0x0000C1D8
	[Token(Token = "0x60005DF")]
	[Address(RVA = "0x1889CE0", Offset = "0x1888CE0", VA = "0x181889CE0", 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;
		bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
	}

	// Token: 0x060005E0 RID: 1504 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E0")]
	[Address(RVA = "0x1889FF0", Offset = "0x1888FF0", VA = "0x181889FF0", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005E1 RID: 1505 RVA: 0x0000E17C File Offset: 0x0000C37C
	[Token(Token = "0x60005E1")]
	[Address(RVA = "0x1889BF0", Offset = "0x1888BF0", VA = "0x181889BF0", Slot = "6")]
	public override void LateUpdate()
	{
		this.g_ShakeHead.Update();
		this.g_ShakeBody.Update();
		this.g_ShakeAll.Update();
	}

	// Token: 0x060005E2 RID: 1506 RVA: 0x0000E1B0 File Offset: 0x0000C3B0
	[Token(Token = "0x60005E2")]
	[Address(RVA = "0x1886B20", Offset = "0x1885B20", VA = "0x181886B20")]
	public void EndStatus(AI_NPC.AIStatus Status)
	{
		SpecterArmorGirl02EffectPlay specterArmorGirl02EffectPlay = this.g_Effect;
		int num = 0;
		specterArmorGirl02EffectPlay.SetCCCLie(num);
	}

	// Token: 0x060005E3 RID: 1507 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005E3")]
	[Address(RVA = "0x1889530", Offset = "0x1888530", VA = "0x181889530", Slot = "38")]
	public virtual void InitStatus(AI_NPC.AIStatus Status)
	{
		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 = "0x183A2A0", Offset = "0x18392A0", VA = "0x18183A2A0", Slot = "9")]
	public override void Sky()
	{
		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 = "0x1839D90", Offset = "0x1838D90", VA = "0x181839D90", Slot = "10")]
	public override void Land()
	{
		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 = "0x1838DF0", Offset = "0x1837DF0", VA = "0x181838DF0", Slot = "8")]
	public override void Idle()
	{
		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 = "0x1839EC0", Offset = "0x1838EC0", VA = "0x181839EC0", Slot = "11")]
	public override void Patrol()
	{
		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 = "0x1837920", Offset = "0x1836920", VA = "0x181837920", Slot = "19")]
	public override void GoHome()
	{
		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 = "0x18358A0", Offset = "0x18348A0", VA = "0x1818358A0", Slot = "12")]
	public override void Confirming()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005EA RID: 1514 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005EA")]
	[Address(RVA = "0x1839E60", Offset = "0x1838E60", VA = "0x181839E60", Slot = "16")]
	public override void LookFor()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005EB RID: 1515 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005EB")]
	[Address(RVA = "0x187BB30", Offset = "0x187AB30", VA = "0x18187BB30", Slot = "20")]
	public override void Hear()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005EC RID: 1516 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005EC")]
	[Address(RVA = "0x1837A50", Offset = "0x1836A50", VA = "0x181837A50", Slot = "21")]
	public override void HearCheck()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

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

	// Token: 0x060005EE RID: 1518 RVA: 0x0000E1D4 File Offset: 0x0000C3D4
	[Token(Token = "0x60005EE")]
	[Address(RVA = "0x15B0200", Offset = "0x15AF200", VA = "0x1815B0200", Slot = "25")]
	public override void DamagedFly()
	{
		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: 0x060005EF RID: 1519 RVA: 0x0000E200 File Offset: 0x0000C400
	[Token(Token = "0x60005EF")]
	[Address(RVA = "0x1886A80", Offset = "0x1885A80", VA = "0x181886A80", Slot = "27")]
	public override void Death()
	{
		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;
		float num2 = this.g_fAttackRotate;
		while (num2 <= (float)num)
		{
		}
		this.g_fAttackRotate = num2;
		this.g_Effect.Death();
	}

	// Token: 0x060005F0 RID: 1520 RVA: 0x0000E254 File Offset: 0x0000C454
	[Token(Token = "0x60005F0")]
	[Address(RVA = "0x1835C50", Offset = "0x1834C50", VA = "0x181835C50", 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..ctor();
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
		base..ctor();
	}

	// Token: 0x060005F1 RID: 1521 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F1")]
	[Address(RVA = "0x1887910", Offset = "0x1886910", VA = "0x181887910", Slot = "22")]
	public override void Fighting()
	{
		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 = "0x1888AD0", Offset = "0x1887AD0", VA = "0x181888AD0")]
	protected void InitFightingType(AI_SpecterArmorGirl02.AIFighting Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005F3 RID: 1523 RVA: 0x0000E298 File Offset: 0x0000C498
	[Token(Token = "0x60005F3")]
	[Address(RVA = "0x1886DE0", Offset = "0x1885DE0", VA = "0x181886DE0")]
	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: 0x060005F4 RID: 1524 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F4")]
	[Address(RVA = "0x18871D0", Offset = "0x18861D0", VA = "0x1818871D0")]
	private void FightWatch()
	{
		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 = "0x1886F90", Offset = "0x1885F90", VA = "0x181886F90")]
	private void FightDodge()
	{
		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 = "0x1887120", Offset = "0x1886120", VA = "0x181887120")]
	private void FightSkyDodgeF()
	{
		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 = "0x1886E80", Offset = "0x1885E80", VA = "0x181886E80")]
	private void FightAttack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005F8 RID: 1528 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F8")]
	[Address(RVA = "0x1886B50", Offset = "0x1885B50", VA = "0x181886B50")]
	private void FightAttackJump()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005F9 RID: 1529 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005F9")]
	[Address(RVA = "0x1887080", Offset = "0x1886080", VA = "0x181887080")]
	private void FightPlayerDead()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005FA RID: 1530 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005FA")]
	[Address(RVA = "0x1887C30", Offset = "0x1886C30", VA = "0x181887C30", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005FB RID: 1531 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005FB")]
	[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: 0x060005FC RID: 1532 RVA: 0x0000E2E8 File Offset: 0x0000C4E8
	[Token(Token = "0x60005FC")]
	[Address(RVA = "0x183A160", Offset = "0x1839160", VA = "0x18183A160", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		this.g_bDeath = false;
		this.Create();
		bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
	}

	// Token: 0x060005FD RID: 1533 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60005FD")]
	[Address(RVA = "0x1886920", Offset = "0x1885920", VA = "0x181886920", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060005FE RID: 1534 RVA: 0x0000E310 File Offset: 0x0000C510
	[Token(Token = "0x60005FE")]
	[Address(RVA = "0x1889C40", Offset = "0x1888C40", VA = "0x181889C40", Slot = "32")]
	public override void Remove()
	{
		base..ctor();
		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: 0x060005FF RID: 1535 RVA: 0x0000E354 File Offset: 0x0000C554
	[Token(Token = "0x60005FF")]
	[Address(RVA = "0x1889CA0", Offset = "0x1888CA0", VA = "0x181889CA0", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x06000600 RID: 1536 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000600")]
	[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: 0x06000601 RID: 1537 RVA: 0x0000E37C File Offset: 0x0000C57C
	[Token(Token = "0x6000601")]
	[Address(RVA = "0x188A210", Offset = "0x1889210", VA = "0x18188A210")]
	public AI_SpecterArmorGirl02()
	{
	}

	// Token: 0x04000723 RID: 1827
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x4000723")]
	private SpecterArmorGirl02EffectPlay g_Effect;

	// Token: 0x04000724 RID: 1828
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x4000724")]
	private float g_fAniMoveSpeed;

	// Token: 0x04000725 RID: 1829
	[FieldOffset(Offset = "0x18C")]
	[Token(Token = "0x4000725")]
	private float g_fAniMoveAngle;

	// Token: 0x04000726 RID: 1830
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x4000726")]
	private Vector3 g_v3PreForward;

	// Token: 0x04000727 RID: 1831
	[FieldOffset(Offset = "0x19C")]
	[Token(Token = "0x4000727")]
	private AI_SpecterArmorGirl02.AIFighting g_Fightting = (AI_SpecterArmorGirl02.AIFighting)((ulong)1L);

	// Token: 0x04000728 RID: 1832
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x4000728")]
	private AI_SpecterArmorGirl02.AIFighting g_AttackType = (AI_SpecterArmorGirl02.AIFighting)((ulong)3L);

	// Token: 0x04000729 RID: 1833
	[FieldOffset(Offset = "0x1A4")]
	[Token(Token = "0x4000729")]
	private float g_fTrackTime;

	// Token: 0x0400072A RID: 1834
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x400072A")]
	private float g_fAttackRotate;

	// Token: 0x0400072B RID: 1835
	[Token(Token = "0x400072B")]
	private const float g_fAbsorbDodge = 0.2f;

	// Token: 0x0400072C RID: 1836
	[FieldOffset(Offset = "0x1AC")]
	[Token(Token = "0x400072C")]
	protected float g_fAbsorbDodgeVal;

	// Token: 0x0400072D RID: 1837
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x400072D")]
	private bool g_bDodgeDirection;

	// Token: 0x0400072E RID: 1838
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x400072E")]
	private Shake g_ShakeHead;

	// Token: 0x0400072F RID: 1839
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x400072F")]
	private Shake g_ShakeBody;

	// Token: 0x04000730 RID: 1840
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x4000730")]
	private Shake g_ShakeAll;

	// Token: 0x0200008C RID: 140
	[Token(Token = "0x200008C")]
	protected enum AIFighting
	{
		// Token: 0x04000732 RID: 1842
		[Token(Token = "0x4000732")]
		WatchFirst,
		// Token: 0x04000733 RID: 1843
		[Token(Token = "0x4000733")]
		Watch,
		// Token: 0x04000734 RID: 1844
		[Token(Token = "0x4000734")]
		PlayerDead,
		// Token: 0x04000735 RID: 1845
		[Token(Token = "0x4000735")]
		Attack01,
		// Token: 0x04000736 RID: 1846
		[Token(Token = "0x4000736")]
		Attack02,
		// Token: 0x04000737 RID: 1847
		[Token(Token = "0x4000737")]
		Attack03,
		// Token: 0x04000738 RID: 1848
		[Token(Token = "0x4000738")]
		AttackJump,
		// Token: 0x04000739 RID: 1849
		[Token(Token = "0x4000739")]
		AttackDodgeL,
		// Token: 0x0400073A RID: 1850
		[Token(Token = "0x400073A")]
		AttackDodgeR,
		// Token: 0x0400073B RID: 1851
		[Token(Token = "0x400073B")]
		AttackKick,
		// Token: 0x0400073C RID: 1852
		[Token(Token = "0x400073C")]
		DodgeL,
		// Token: 0x0400073D RID: 1853
		[Token(Token = "0x400073D")]
		DodgeR,
		// Token: 0x0400073E RID: 1854
		[Token(Token = "0x400073E")]
		DodgeB,
		// Token: 0x0400073F RID: 1855
		[Token(Token = "0x400073F")]
		AttackDebut,
		// Token: 0x04000740 RID: 1856
		[Token(Token = "0x4000740")]
		SkyDodgeF
	}
}
