using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x0200004C RID: 76
[Token(Token = "0x200004C")]
public class AI_BossLevel06 : AI_NPC
{
	// Token: 0x0600027C RID: 636 RVA: 0x0000839C File Offset: 0x0000659C
	[Token(Token = "0x600027C")]
	[Address(RVA = "0x15F7700", Offset = "0x15F6500", VA = "0x1815F7700", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		base.Start(This, NPCM);
		BossLevel06EffectPlay component = This.GetComponent<BossLevel06EffectPlay>();
		this.g_Effect = component;
		BossLevel06EffectPlay bossLevel06EffectPlay = this.g_Effect;
		MoveController g_Move = this.g_Move;
		bossLevel06EffectPlay.InitData(this, g_Move);
		BossLevel06EffectPlayPlus component2 = This.GetComponent<BossLevel06EffectPlayPlus>();
		this.g_EffectPlus = component2;
		this.g_EffectPlus.InitData(this);
		VoiceBoss06 component3 = This.GetComponent<VoiceBoss06>();
		this.g_Voice = component3;
		VoiceBoss06 voiceBoss = this.g_Voice;
		Transform transform = Common.FindChild(This.transform, "Bip001 Head");
		voiceBoss.InitData(transform);
		MoveController g_Move2 = this.g_Move;
		this.g_fDragRotation = 0.4f;
		g_Move2.SetDragRotation(0.4f);
		this.g_Move.SetDragMove(9f);
		MoveController g_Move3 = this.g_Move;
		int num = 0;
		g_Move3.gravity = (float)num;
		this.g_fVisionDistance = 200f;
		this.g_fVisionAngle = 75f;
		this.g_fWalkSpeed = 2.1f;
		this.g_fRunSpeed = 6f;
		this.g_fDashSpeed = 9f;
		Shake shake = new Shake();
		this.g_ShakeHead = shake;
		Shake shake2 = this.g_ShakeHead;
		Transform transform2 = Common.FindChild(This.transform, "Bip001 Head");
		int num2 = 0;
		shake2.Start(transform2, num2 != 0);
		Shake shake3 = new Shake();
		this.g_ShakeBody = shake3;
		Shake shake4 = this.g_ShakeBody;
		Transform transform3 = Common.FindChild(This.transform, "Bip001");
		int num3 = 0;
		shake4.Start(transform3, num3 != 0);
		Animator g_Anim = this.g_Anim;
		this.g_fAniDamageHead = (float)num;
		int num4 = 0;
		g_Anim.SetLayerWeight(1, (float)num4);
		Animator g_Anim2 = this.g_Anim;
		this.g_Status = (AI_NPC.AIStatus)((ulong)17L);
		this.g_bLookAtEnable = num != 0;
		this.g_iAttackSelect = num;
		this.g_iScriptStep = num;
		this.g_fAnifCutscenes = (float)num;
		int num5 = 0;
		g_Anim2.SetFloat("fCutscenes", (float)num5);
	}

	// Token: 0x0600027D RID: 637 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600027D")]
	[Address(RVA = "0x15F7A80", Offset = "0x15F6880", VA = "0x1815F7A80", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600027E RID: 638 RVA: 0x00008570 File Offset: 0x00006770
	[Token(Token = "0x600027E")]
	[Address(RVA = "0x15F67B0", Offset = "0x15F55B0", VA = "0x1815F67B0", Slot = "6")]
	public override void LateUpdate()
	{
		this.End();
		this.g_ShakeHead.Update();
		this.g_ShakeBody.Update();
	}

	// Token: 0x0600027F RID: 639 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600027F")]
	[Address(RVA = "0x15F2010", Offset = "0x15F0E10", VA = "0x1815F2010", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000280 RID: 640 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000280")]
	[Address(RVA = "0x15F3620", Offset = "0x15F2420", VA = "0x1815F3620")]
	private void InitFightStatus(AI_BossLevel06.AIFighting Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000281 RID: 641 RVA: 0x000085A0 File Offset: 0x000067A0
	[Token(Token = "0x6000281")]
	[Address(RVA = "0x15F0F80", Offset = "0x15EFD80", VA = "0x1815F0F80")]
	private void AFightSelect()
	{
		if (this.g_bPlus)
		{
			if (this.g_EffectPlus.GetDollEnable() || this.g_EffectPlus.GetBearEnable())
			{
				this.AFightSelectNormal();
				return;
			}
			int num = UnityEngine.Random.Range(0, 5);
			if (num == 0)
			{
				this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)45L);
				this.g_iAttackSelect = (int)((ulong)0L);
				this.g_fPlayerDistanceMin = 3f;
				this.g_fPlayerDistanceMax = 9f;
				this.g_fDashDistance = 6f;
				this.g_fFlyHeight = 0.9f;
				return;
			}
			if (num == 0)
			{
				this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)46L);
				this.g_iAttackSelect = (int)((ulong)0L);
				this.g_fPlayerDistanceMin = 9f;
				this.g_fPlayerDistanceMax = 12f;
				this.g_fDashDistance = 10.5f;
				this.g_fFlyHeight = 0.3f;
				return;
			}
			if (num == 0)
			{
				this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)51L);
				this.g_iAttackSelect = (int)((ulong)0L);
				this.g_fPlayerDistanceMin = 3f;
				this.g_fPlayerDistanceMax = 9f;
				this.g_fDashDistance = 6f;
				this.g_fFlyHeight = 0.9f;
				return;
			}
			if (num == 0)
			{
				this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)52L);
				this.g_iAttackSelect = (int)((ulong)0L);
				this.g_fPlayerDistanceMin = 3f;
				this.g_fPlayerDistanceMax = 9f;
				this.g_fDashDistance = 6f;
				this.g_fFlyHeight = 0.9f;
				return;
			}
			if (num == 1)
			{
				this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)53L);
				this.g_iAttackSelect = (int)((ulong)0L);
				this.g_fPlayerDistanceMin = 6f;
				this.g_fPlayerDistanceMax = 12f;
				this.g_fDashDistance = 9f;
				this.g_fFlyHeight = 0.3f;
				return;
			}
		}
		else
		{
			PlayerEffectPlay.Magic g_Magic = this.g_Effect.g_Magic;
			int num4;
			if (g_Magic != PlayerEffectPlay.Magic.Null)
			{
				if (g_Magic != PlayerEffectPlay.Magic.Null)
				{
					if (g_Magic != PlayerEffectPlay.Magic.Null)
					{
						if (g_Magic != PlayerEffectPlay.Magic.Ice)
						{
							return;
						}
						int num2 = this.g_iAttackSelect;
						if (num2 == 0)
						{
							this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)35L);
							this.g_iAttackSelect = (int)((ulong)1L);
							this.g_fPlayerDistanceMin = 3f;
							this.g_fPlayerDistanceMax = 9f;
							this.g_fDashDistance = 6f;
							this.g_fFlyHeight = 1.2f;
							return;
						}
						if (num2 == (int)g_Magic)
						{
							this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)22L);
							this.g_iAttackSelect = (int)((ulong)2L);
							this.g_fPlayerDistanceMin = 9f;
							this.g_fPlayerDistanceMax = 15f;
							this.g_fDashDistance = 12f;
							this.g_fFlyHeight = 3f;
							return;
						}
						if (num2 == 2)
						{
							this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)23L);
							this.g_iAttackSelect = (int)((ulong)3L);
							this.g_fPlayerDistanceMin = 3f;
							this.g_fPlayerDistanceMax = 6f;
							this.g_fDashDistance = 4.5f;
							this.g_fFlyHeight = 1.2f;
							return;
						}
						if (num2 == 3)
						{
							this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)37L);
							this.g_iAttackSelect = (int)((ulong)4L);
							this.g_fPlayerDistanceMin = 6f;
							this.g_fPlayerDistanceMax = 12f;
							this.g_fDashDistance = 6f;
							this.g_fFlyHeight = 3f;
							return;
						}
						if (num2 == 4)
						{
							this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)20L);
							this.g_iAttackSelect = (int)((ulong)0L);
							this.g_fPlayerDistanceMin = 3f;
							this.g_fPlayerDistanceMax = 9f;
							this.g_fDashDistance = 6f;
							this.g_fFlyHeight = 3f;
							return;
						}
						return;
					}
					else
					{
						int num3 = this.g_iAttackSelect;
						if (num3 != 0)
						{
							if (num3 != 1)
							{
								if (num3 != 2)
								{
									if (num3 != 3)
									{
									}
									this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)37L);
									this.g_iAttackSelect = (int)((ulong)4L);
									this.g_fPlayerDistanceMin = 6f;
									this.g_fPlayerDistanceMax = 12f;
									this.g_fDashDistance = 9f;
									this.g_fFlyHeight = 2.1f;
									return;
								}
								this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)21L);
								this.g_iAttackSelect = (int)((ulong)3L);
								this.g_fPlayerDistanceMax = 6f;
							}
							this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)31L);
							this.g_iAttackSelect = (int)((ulong)2L);
							this.g_fPlayerDistanceMin = 3f;
							this.g_fPlayerDistanceMax = 6f;
							this.g_fDashDistance = 4.5f;
							this.g_fFlyHeight = 1.2f;
							return;
						}
						this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)35L);
						this.g_iAttackSelect = (int)((ulong)1L);
						this.g_fPlayerDistanceMin = 3f;
						this.g_fPlayerDistanceMax = 9f;
						this.g_fDashDistance = 6f;
						this.g_fFlyHeight = 1.8f;
						return;
					}
				}
				else
				{
					num4 = this.g_iAttackSelect;
					if (num4 == 0)
					{
						this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)35L);
						this.g_iAttackSelect = (int)((ulong)1L);
						this.g_fPlayerDistanceMin = 3f;
						this.g_fPlayerDistanceMax = 9f;
						this.g_fDashDistance = 6f;
						this.g_fFlyHeight = 2.7f;
						return;
					}
					if (num4 == 1)
					{
						this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)27L);
						this.g_iAttackSelect = (int)((ulong)2L);
						this.g_fPlayerDistanceMin = 9f;
						this.g_fPlayerDistanceMax = 12f;
						this.g_fDashDistance = 15f;
						this.g_fFlyHeight = 2.7f;
						return;
					}
					if (num4 == 2)
					{
						this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)37L);
						this.g_iAttackSelect = (int)((ulong)3L);
						this.g_fPlayerDistanceMin = 6f;
						this.g_fPlayerDistanceMax = 12f;
						this.g_fDashDistance = 9f;
						this.g_fFlyHeight = 2.7f;
						return;
					}
				}
			}
			else
			{
				int num5 = this.g_iAttackSelect;
				if (num5 == 0)
				{
					this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)35L);
					this.g_iAttackSelect = (int)((ulong)1L);
					throw new NullReferenceException();
				}
				if (num5 == 1)
				{
					this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)23L);
					this.g_iAttackSelect = (int)((ulong)2L);
					this.g_fPlayerDistanceMin = 3f;
					this.g_fPlayerDistanceMax = 6f;
					this.g_fDashDistance = 4.5f;
					this.g_fFlyHeight = 1.2f;
					return;
				}
				if (num5 == 2)
				{
					this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)37L);
					this.g_iAttackSelect = (int)((ulong)3L);
					this.g_fPlayerDistanceMin = 6f;
					this.g_fPlayerDistanceMax = 12f;
					this.g_fDashDistance = 7.5f;
					this.g_fFlyHeight = 2.4f;
					return;
				}
			}
			if (num4 == 3)
			{
				this.g_NextFighting = (AI_BossLevel06.AIFighting)((ulong)20L);
				this.g_iAttackSelect = (int)((ulong)0L);
				this.g_fPlayerDistanceMax = 9f;
				this.g_fPlayerDistanceMin = 3f;
				this.g_fDashDistance = 6f;
				this.g_fFlyHeight = 2.4f;
			}
		}
	}

	// Token: 0x06000282 RID: 642 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000282")]
	[Address(RVA = "0x15F0CA0", Offset = "0x15EFAA0", VA = "0x1815F0CA0")]
	private void AFightSelectNormal()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000283 RID: 643 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000283")]
	[Address(RVA = "0x15F6800", Offset = "0x15F5600", VA = "0x1815F6800")]
	private void PlusStoryStart()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000284 RID: 644 RVA: 0x00008BA8 File Offset: 0x00006DA8
	[Token(Token = "0x6000284")]
	[Address(RVA = "0x15EFCF0", Offset = "0x15EEAF0", VA = "0x1815EFCF0")]
	private void AAttackReady()
	{
		if (this.g_WM.GetIsDead())
		{
			this.InitFightStatus(AI_BossLevel06.AIFighting.AWatch);
			return;
		}
		AI_BossLevel06.AIFighting aifighting = this.g_NextFighting;
		if (aifighting != AI_BossLevel06.AIFighting.SwitchMagic && aifighting != AI_BossLevel06.AIFighting.Charge)
		{
			this.InitFightStatus(AI_BossLevel06.AIFighting.DashStart);
			return;
		}
		this.InitFightStatus(aifighting);
	}

	// Token: 0x06000285 RID: 645 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000285")]
	[Address(RVA = "0x15F17F0", Offset = "0x15F05F0", VA = "0x1815F17F0")]
	private void AWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000286 RID: 646 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000286")]
	[Address(RVA = "0x15F01A0", Offset = "0x15EEFA0", VA = "0x1815F01A0")]
	private void ADashStart()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000287 RID: 647 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000287")]
	[Address(RVA = "0x15F0330", Offset = "0x15EF130", VA = "0x1815F0330")]
	private void ADash()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000288 RID: 648 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000288")]
	[Address(RVA = "0x15EFFB0", Offset = "0x15EEDB0", VA = "0x1815EFFB0")]
	private void ADashEnd()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000289 RID: 649 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000289")]
	[Address(RVA = "0x15F0A70", Offset = "0x15EF870", VA = "0x1815F0A70")]
	private void ADodge()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600028A RID: 650 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600028A")]
	[Address(RVA = "0x15EFD60", Offset = "0x15EEB60", VA = "0x1815EFD60")]
	private void AAttack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600028B RID: 651 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600028B")]
	[Address(RVA = "0x15EFE60", Offset = "0x15EEC60", VA = "0x1815EFE60")]
	private void ACounterMagic()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600028C RID: 652 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600028C")]
	[Address(RVA = "0x15EFBF0", Offset = "0x15EE9F0", VA = "0x1815EFBF0")]
	private void AAttack03()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600028D RID: 653 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600028D")]
	[Address(RVA = "0x15F1610", Offset = "0x15F0410", VA = "0x1815F1610")]
	private void ASwordAttack02DashLoop()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600028E RID: 654 RVA: 0x00008BF4 File Offset: 0x00006DF4
	[Token(Token = "0x600028E")]
	[Address(RVA = "0x15EFF80", Offset = "0x15EED80", VA = "0x1815EFF80")]
	private void ADamage()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			this.AAttackReady();
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x0600028F RID: 655 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600028F")]
	[Address(RVA = "0x15F1F50", Offset = "0x15F0D50", VA = "0x1815F1F50")]
	private void Dead()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000290 RID: 656 RVA: 0x00008C1C File Offset: 0x00006E1C
	[Token(Token = "0x6000290")]
	[Address(RVA = "0x15F1F20", Offset = "0x15F0D20", VA = "0x1815F1F20")]
	private void DeadEnd()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			this.InitFightStatus(AI_BossLevel06.AIFighting.End);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000291 RID: 657 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000291")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00")]
	private void End()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000292 RID: 658 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000292")]
	[Address(RVA = "0x15F29F0", Offset = "0x15F17F0", VA = "0x1815F29F0", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000293 RID: 659 RVA: 0x00008C48 File Offset: 0x00006E48
	[Token(Token = "0x6000293")]
	[Address(RVA = "0x15F76A0", Offset = "0x15F64A0", VA = "0x1815F76A0", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_Effect.SetTimeScale(fTimeScale);
		this.g_EffectPlus.SetTimeScale(fTimeScale);
	}

	// Token: 0x06000294 RID: 660 RVA: 0x00008C7C File Offset: 0x00006E7C
	[Token(Token = "0x6000294")]
	[Address(RVA = "0x1495E30", Offset = "0x1494C30", VA = "0x181495E30", Slot = "32")]
	public override void Remove()
	{
		this.End();
		GameObject g_This = this.g_This;
		int num = 0;
		g_This.SetActive(num != 0);
	}

	// Token: 0x06000295 RID: 661 RVA: 0x00008CA8 File Offset: 0x00006EA8
	[Token(Token = "0x6000295")]
	[Address(RVA = "0x15F1E80", Offset = "0x15F0C80", VA = "0x1815F1E80", Slot = "31")]
	public override void Create()
	{
		this.End();
		this.g_This.SetActive(true);
		Animator g_Anim = this.g_Anim;
		int num = 0;
		int num2 = 0;
		g_Anim.CrossFade("301_Debut01Loop", (float)num, num2, (float)num);
		this.g_EffectPlus.Create();
		NPCManage g_NPCM = this.g_NPCM;
		int num3 = 0;
		g_NPCM.SetLockPoint(num3 != 0);
	}

	// Token: 0x06000296 RID: 662 RVA: 0x00008D08 File Offset: 0x00006F08
	[Token(Token = "0x6000296")]
	[Address(RVA = "0x1568550", Offset = "0x1567350", VA = "0x181568550", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		NPCManage g_NPCM = this.g_NPCM;
		int num = 0;
		g_NPCM.SetLockPoint(num != 0);
	}

	// Token: 0x06000297 RID: 663 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000297")]
	[Address(RVA = "0x15F6930", Offset = "0x15F5730", VA = "0x1815F6930", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000298 RID: 664 RVA: 0x00008D34 File Offset: 0x00006F34
	[Token(Token = "0x6000298")]
	[Address(RVA = "0x15F2910", Offset = "0x15F1710", VA = "0x1815F2910")]
	private string GetBossName()
	{
		return Game.<UISystemText>k__BackingField.GetText(406);
	}

	// Token: 0x06000299 RID: 665 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000299")]
	[Address(RVA = "0x15F29D0", Offset = "0x15F17D0", VA = "0x1815F29D0")]
	public Vector3 GetPlayerDirection()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600029A RID: 666 RVA: 0x00008D58 File Offset: 0x00006F58
	[Token(Token = "0x600029A")]
	[Address(RVA = "0x15F75B0", Offset = "0x15F63B0", VA = "0x1815F75B0", Slot = "37")]
	public override void SetSpeakLayerWeight(bool bEnable, string Name = "")
	{
		Animator g_Anim;
		for (;;)
		{
			g_Anim = this.g_Anim;
			if (!bEnable)
			{
				break;
			}
			g_Anim.SetLayerWeight(3, 1f);
			if (Name != "")
			{
				goto Block_1;
			}
		}
		int num = 0;
		g_Anim.SetLayerWeight(3, (float)num);
		return;
		Block_1:
		Animator g_Anim2 = this.g_Anim;
		int num2 = 0;
		g_Anim2.CrossFade(Name, 0.09f, 3, (float)num2);
	}

	// Token: 0x0600029B RID: 667 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600029B")]
	[Address(RVA = "0xBD6640", Offset = "0xBD5440", VA = "0x180BD6640")]
	private Vector3 YZero(Vector3 Val)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600029C RID: 668 RVA: 0x00008DB4 File Offset: 0x00006FB4
	[Token(Token = "0x600029C")]
	[Address(RVA = "0x15F8170", Offset = "0x15F6F70", VA = "0x1815F8170")]
	public AI_BossLevel06()
	{
	}

	// Token: 0x04000351 RID: 849
	[FieldOffset(Offset = "0x170")]
	[Token(Token = "0x4000351")]
	private BossLevel06EffectPlay g_Effect;

	// Token: 0x04000352 RID: 850
	[FieldOffset(Offset = "0x178")]
	[Token(Token = "0x4000352")]
	private BossLevel06EffectPlayPlus g_EffectPlus;

	// Token: 0x04000353 RID: 851
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x4000353")]
	private VoiceBoss06 g_Voice;

	// Token: 0x04000354 RID: 852
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x4000354")]
	private Vector3 g_v3PrePosition;

	// Token: 0x04000355 RID: 853
	[FieldOffset(Offset = "0x194")]
	[Token(Token = "0x4000355")]
	private Vector3 g_v3PreForward;

	// Token: 0x04000356 RID: 854
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x4000356")]
	private float g_fAnifMoveHorizontal;

	// Token: 0x04000357 RID: 855
	[FieldOffset(Offset = "0x1A4")]
	[Token(Token = "0x4000357")]
	private float g_fAnifMoveVertical;

	// Token: 0x04000358 RID: 856
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x4000358")]
	private float g_fAniTrunAngle;

	// Token: 0x04000359 RID: 857
	[FieldOffset(Offset = "0x1AC")]
	[Token(Token = "0x4000359")]
	private float g_fAnifCutscenes;

	// Token: 0x0400035A RID: 858
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x400035A")]
	private float g_fAniDamageHead;

	// Token: 0x0400035B RID: 859
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x400035B")]
	private Shake g_ShakeHead;

	// Token: 0x0400035C RID: 860
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x400035C")]
	private Shake g_ShakeBody;

	// Token: 0x0400035D RID: 861
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x400035D")]
	private AI_BossLevel06.AIFighting g_Fighting = (AI_BossLevel06.AIFighting)((ulong)1L);

	// Token: 0x0400035E RID: 862
	[FieldOffset(Offset = "0x1CC")]
	[Token(Token = "0x400035E")]
	private AI_BossLevel06.AIFighting g_NextFighting;

	// Token: 0x0400035F RID: 863
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x400035F")]
	private int g_iAWatchMoveDir;

	// Token: 0x04000360 RID: 864
	[FieldOffset(Offset = "0x1D4")]
	[Token(Token = "0x4000360")]
	private float g_fPlayerDistanceMax = 9f;

	// Token: 0x04000361 RID: 865
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x4000361")]
	private float g_fPlayerDistanceMin = 3f;

	// Token: 0x04000362 RID: 866
	[FieldOffset(Offset = "0x1DC")]
	[Token(Token = "0x4000362")]
	private float g_fAttackMove;

	// Token: 0x04000363 RID: 867
	[FieldOffset(Offset = "0x1E0")]
	[Token(Token = "0x4000363")]
	private float g_fAttackRotate;

	// Token: 0x04000364 RID: 868
	[FieldOffset(Offset = "0x1E4")]
	[Token(Token = "0x4000364")]
	private float g_fAttackCombo;

	// Token: 0x04000365 RID: 869
	[FieldOffset(Offset = "0x1E8")]
	[Token(Token = "0x4000365")]
	private Vector3 g_v3DashDirection;

	// Token: 0x04000366 RID: 870
	[FieldOffset(Offset = "0x1F4")]
	[Token(Token = "0x4000366")]
	private float g_fDashDistance;

	// Token: 0x04000367 RID: 871
	[FieldOffset(Offset = "0x1F8")]
	[Token(Token = "0x4000367")]
	private float g_fFlyHeight;

	// Token: 0x04000368 RID: 872
	[Token(Token = "0x4000368")]
	private const float g_CounterMagicRadius = 6f;

	// Token: 0x04000369 RID: 873
	[Token(Token = "0x4000369")]
	private const int g_iShotNum = 3;

	// Token: 0x0400036A RID: 874
	[FieldOffset(Offset = "0x1FC")]
	[Token(Token = "0x400036A")]
	private int g_iShotNumVal;

	// Token: 0x0400036B RID: 875
	[FieldOffset(Offset = "0x200")]
	[Token(Token = "0x400036B")]
	private float g_fTyrantsTime;

	// Token: 0x0400036C RID: 876
	[FieldOffset(Offset = "0x204")]
	[Token(Token = "0x400036C")]
	private int g_iAttackSelect;

	// Token: 0x0400036D RID: 877
	[FieldOffset(Offset = "0x208")]
	[Token(Token = "0x400036D")]
	private bool g_bPlus;

	// Token: 0x0400036E RID: 878
	[FieldOffset(Offset = "0x20C")]
	[Token(Token = "0x400036E")]
	private int g_iScriptStep;

	// Token: 0x0200004D RID: 77
	[Token(Token = "0x200004D")]
	private enum AIFighting
	{
		// Token: 0x04000370 RID: 880
		[Token(Token = "0x4000370")]
		Null,
		// Token: 0x04000371 RID: 881
		[Token(Token = "0x4000371")]
		Idle,
		// Token: 0x04000372 RID: 882
		[Token(Token = "0x4000372")]
		AWatch,
		// Token: 0x04000373 RID: 883
		[Token(Token = "0x4000373")]
		DashStart,
		// Token: 0x04000374 RID: 884
		[Token(Token = "0x4000374")]
		Dash,
		// Token: 0x04000375 RID: 885
		[Token(Token = "0x4000375")]
		DashEnd,
		// Token: 0x04000376 RID: 886
		[Token(Token = "0x4000376")]
		DashAttack,
		// Token: 0x04000377 RID: 887
		[Token(Token = "0x4000377")]
		DodgeL,
		// Token: 0x04000378 RID: 888
		[Token(Token = "0x4000378")]
		DodgeR,
		// Token: 0x04000379 RID: 889
		[Token(Token = "0x4000379")]
		DodgeAttackL,
		// Token: 0x0400037A RID: 890
		[Token(Token = "0x400037A")]
		DodgeAttackR,
		// Token: 0x0400037B RID: 891
		[Token(Token = "0x400037B")]
		DamageF,
		// Token: 0x0400037C RID: 892
		[Token(Token = "0x400037C")]
		DamageU,
		// Token: 0x0400037D RID: 893
		[Token(Token = "0x400037D")]
		DamageB,
		// Token: 0x0400037E RID: 894
		[Token(Token = "0x400037E")]
		DamageL,
		// Token: 0x0400037F RID: 895
		[Token(Token = "0x400037F")]
		DamageR,
		// Token: 0x04000380 RID: 896
		[Token(Token = "0x4000380")]
		DamageFly,
		// Token: 0x04000381 RID: 897
		[Token(Token = "0x4000381")]
		Death,
		// Token: 0x04000382 RID: 898
		[Token(Token = "0x4000382")]
		DeathEnd,
		// Token: 0x04000383 RID: 899
		[Token(Token = "0x4000383")]
		End,
		// Token: 0x04000384 RID: 900
		[Token(Token = "0x4000384")]
		SwitchMagic,
		// Token: 0x04000385 RID: 901
		[Token(Token = "0x4000385")]
		ShotFire,
		// Token: 0x04000386 RID: 902
		[Token(Token = "0x4000386")]
		ShotLightning,
		// Token: 0x04000387 RID: 903
		[Token(Token = "0x4000387")]
		Attack0101,
		// Token: 0x04000388 RID: 904
		[Token(Token = "0x4000388")]
		Attack0102,
		// Token: 0x04000389 RID: 905
		[Token(Token = "0x4000389")]
		Attack0103,
		// Token: 0x0400038A RID: 906
		[Token(Token = "0x400038A")]
		Attack0104,
		// Token: 0x0400038B RID: 907
		[Token(Token = "0x400038B")]
		Attack0701,
		// Token: 0x0400038C RID: 908
		[Token(Token = "0x400038C")]
		Attack0702,
		// Token: 0x0400038D RID: 909
		[Token(Token = "0x400038D")]
		Attack0703,
		// Token: 0x0400038E RID: 910
		[Token(Token = "0x400038E")]
		Attack0704,
		// Token: 0x0400038F RID: 911
		[Token(Token = "0x400038F")]
		Attack0801,
		// Token: 0x04000390 RID: 912
		[Token(Token = "0x4000390")]
		Attack0802,
		// Token: 0x04000391 RID: 913
		[Token(Token = "0x4000391")]
		Attack0803,
		// Token: 0x04000392 RID: 914
		[Token(Token = "0x4000392")]
		CounterMagic,
		// Token: 0x04000393 RID: 915
		[Token(Token = "0x4000393")]
		Charge,
		// Token: 0x04000394 RID: 916
		[Token(Token = "0x4000394")]
		ChargeEnd,
		// Token: 0x04000395 RID: 917
		[Token(Token = "0x4000395")]
		ChargeShot,
		// Token: 0x04000396 RID: 918
		[Token(Token = "0x4000396")]
		ChargeShotArcane,
		// Token: 0x04000397 RID: 919
		[Token(Token = "0x4000397")]
		ChargeShotIce,
		// Token: 0x04000398 RID: 920
		[Token(Token = "0x4000398")]
		ChargeShotFire,
		// Token: 0x04000399 RID: 921
		[Token(Token = "0x4000399")]
		ChargeShotLightning,
		// Token: 0x0400039A RID: 922
		[Token(Token = "0x400039A")]
		PlusStoryStart,
		// Token: 0x0400039B RID: 923
		[Token(Token = "0x400039B")]
		PlusStory,
		// Token: 0x0400039C RID: 924
		[Token(Token = "0x400039C")]
		PlusStoryEnd,
		// Token: 0x0400039D RID: 925
		[Token(Token = "0x400039D")]
		SwordAttack01,
		// Token: 0x0400039E RID: 926
		[Token(Token = "0x400039E")]
		SwordAttack02Start,
		// Token: 0x0400039F RID: 927
		[Token(Token = "0x400039F")]
		SwordAttack02DashLoop,
		// Token: 0x040003A0 RID: 928
		[Token(Token = "0x40003A0")]
		SwordAttack02End,
		// Token: 0x040003A1 RID: 929
		[Token(Token = "0x40003A1")]
		SwordAttack03,
		// Token: 0x040003A2 RID: 930
		[Token(Token = "0x40003A2")]
		DollAttack01,
		// Token: 0x040003A3 RID: 931
		[Token(Token = "0x40003A3")]
		DollAttack02,
		// Token: 0x040003A4 RID: 932
		[Token(Token = "0x40003A4")]
		DollAttack03,
		// Token: 0x040003A5 RID: 933
		[Token(Token = "0x40003A5")]
		BearAttack
	}
}
