using System;
using Cpp2IlInjected;
using UnityEngine;
using UnityEngine.Rendering;

// Token: 0x0200004E RID: 78
[Token(Token = "0x200004E")]
public class AI_Boss_Act01 : AI_NPC
{
	// Token: 0x0600029D RID: 669 RVA: 0x00008DE8 File Offset: 0x00006FE8
	[Token(Token = "0x600029D")]
	[Address(RVA = "0x15FBB50", Offset = "0x15FA950", VA = "0x1815FBB50", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		base.Start(This, NPCM);
		MoveController g_Move = this.g_Move;
		this.g_fWalkSpeed = 3f;
		this.g_fRunSpeed = 6f;
		this.g_fDashSpeed = 35f;
		g_Move.SetDragMove(8f);
		BossAct01EffectPlay component = This.GetComponent<BossAct01EffectPlay>();
		this.g_Effect = component;
		this.g_Effect.InitData();
		VoiceBoss01 component2 = This.GetComponent<VoiceBoss01>();
		this.g_Voice = component2;
		this.g_Voice.InitData();
		CharacterController component3 = This.transform.Find("PlayerBlock").GetComponent<CharacterController>();
		this.g_CCBlock = component3;
		Shake shake = new Shake();
		this.g_ShakeHead = shake;
		Shake shake2 = this.g_ShakeHead;
		Transform transform = Common.FindChild(This.transform, "Bip001 Head");
		int num = 0;
		shake2.Start(transform, num != 0);
		Shake shake3 = new Shake();
		this.g_ShakeBody = shake3;
		Shake shake4 = this.g_ShakeBody;
		Transform transform2 = Common.FindChild(This.transform, "Bip001 Spine");
		int num2 = 0;
		shake4.Start(transform2, num2 != 0);
		Shake shake5 = new Shake();
		this.g_ShakeShoulderR = shake5;
		Shake shake6 = this.g_ShakeShoulderR;
		Transform transform3 = Common.FindChild(This.transform, "Bone_Shoulder_R01");
		int num3 = 0;
		shake6.Start(transform3, num3 != 0);
		Shake shake7 = new Shake();
		this.g_ShakeShoulderL = shake7;
		Shake shake8 = this.g_ShakeShoulderL;
		Transform transform4 = Common.FindChild(This.transform, "Bone_Shoulder_L01");
		int num4 = 0;
		shake8.Start(transform4, num4 != 0);
		Shake shake9 = new Shake();
		this.g_ShakeHandR = shake9;
		Shake shake10 = this.g_ShakeHandR;
		Transform transform5 = Common.FindChild(This.transform, "Bip001 R Forearm");
		int num5 = 0;
		shake10.Start(transform5, num5 != 0);
		Shake shake11 = new Shake();
		this.g_ShakeHandL = shake11;
		Shake shake12 = this.g_ShakeHandL;
		Transform transform6 = Common.FindChild(This.transform, "Bip001 L Forearm");
		int num6 = 0;
		shake12.Start(transform6, num6 != 0);
		Shake shake13 = new Shake();
		this.g_ShakeWenpon = shake13;
		Shake shake14 = this.g_ShakeWenpon;
		Transform transform7 = Common.FindChild(This.transform, "Bip001 L Hand");
		int num7 = 0;
		shake14.Start(transform7, num7 != 0);
		Shake shake15 = new Shake();
		this.g_ShakeShield = shake15;
		Shake shake16 = this.g_ShakeShield;
		Transform transform8 = Common.FindChild(This.transform, "Bip001 R Hand");
		int num8 = 0;
		shake16.Start(transform8, num8 != 0);
		Shake shake17 = new Shake();
		this.g_ShakeSmoke01 = shake17;
		Shake shake18 = this.g_ShakeSmoke01;
		Transform transform9 = Common.FindChild(This.transform, "Bone004");
		int num9 = 0;
		shake18.Start(transform9, num9 != 0);
		Shake shake19 = new Shake();
		this.g_ShakeSmoke02 = shake19;
		Shake shake20 = this.g_ShakeSmoke02;
		Transform transform10 = Common.FindChild(This.transform, "Bone006");
		int num10 = 0;
		shake20.Start(transform10, num10 != 0);
		this.g_bSecondMode = false;
	}

	// Token: 0x0600029E RID: 670 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600029E")]
	[Address(RVA = "0x15FC1B0", Offset = "0x15FAFB0", VA = "0x1815FC1B0", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600029F RID: 671 RVA: 0x000090B4 File Offset: 0x000072B4
	[Token(Token = "0x600029F")]
	[Address(RVA = "0x15FB380", Offset = "0x15FA180", VA = "0x1815FB380", Slot = "6")]
	public override void LateUpdate()
	{
		this.AEnd();
		this.g_ShakeHead.Update();
		this.g_ShakeBody.Update();
		this.g_ShakeShoulderR.Update();
		this.g_ShakeShoulderL.Update();
		this.g_ShakeHandR.Update();
		this.g_ShakeHandL.Update();
		this.g_ShakeWenpon.Update();
		this.g_ShakeShield.Update();
		this.g_ShakeSmoke01.Update();
		this.g_ShakeSmoke02.Update();
	}

	// Token: 0x060002A0 RID: 672 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A0")]
	[Address(RVA = "0x15FB690", Offset = "0x15FA490", VA = "0x1815FB690", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002A1 RID: 673 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A1")]
	[Address(RVA = "0x15F8F90", Offset = "0x15F7D90", VA = "0x1815F8F90", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002A2 RID: 674 RVA: 0x0000913C File Offset: 0x0000733C
	[Token(Token = "0x60002A2")]
	[Address(RVA = "0x15F8F60", Offset = "0x15F7D60", VA = "0x1815F8F60")]
	protected void ExitFightStatus(AI_Boss_Act01.AIFighting Status)
	{
		this.g_CCBlock.enabled = true;
	}

	// Token: 0x060002A3 RID: 675 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A3")]
	[Address(RVA = "0x15FA190", Offset = "0x15F8F90", VA = "0x1815FA190", Slot = "38")]
	protected virtual void InitFightStatus(AI_Boss_Act01.AIFighting Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002A4 RID: 676 RVA: 0x0000915C File Offset: 0x0000735C
	[Token(Token = "0x60002A4")]
	[Address(RVA = "0x15F82E0", Offset = "0x15F70E0", VA = "0x1815F82E0")]
	private void AWait()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			string queryPath = ((DebugUI.IContainer)this).queryPath;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060002A5 RID: 677 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A5")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "39")]
	protected virtual void AEnd()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002A6 RID: 678 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A6")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "40")]
	protected virtual void ADestoryExplosion()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002A7 RID: 679 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A7")]
	[Address(RVA = "0x15F8320", Offset = "0x15F7120", VA = "0x1815F8320")]
	private void AWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002A8 RID: 680 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A8")]
	[Address(RVA = "0x15F9630", Offset = "0x15F8430", VA = "0x1815F9630", Slot = "41")]
	protected virtual void FirstMode()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002A9 RID: 681 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A9")]
	[Address(RVA = "0x15FB4C0", Offset = "0x15FA2C0", VA = "0x1815FB4C0", Slot = "42")]
	protected virtual void SecondMode()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002AA RID: 682 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002AA")]
	[Address(RVA = "0x15F81A0", Offset = "0x15F6FA0", VA = "0x1815F81A0")]
	private void ATrack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002AB RID: 683 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002AB")]
	[Address(RVA = "0x15F8C00", Offset = "0x15F7A00", VA = "0x1815F8C00")]
	private void Attack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002AC RID: 684 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002AC")]
	[Address(RVA = "0x15F8420", Offset = "0x15F7220", VA = "0x1815F8420")]
	private void Attack02()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002AD RID: 685 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002AD")]
	[Address(RVA = "0x15F8790", Offset = "0x15F7590", VA = "0x1815F8790")]
	private void AttackAssault()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002AE RID: 686 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002AE")]
	[Address(RVA = "0x15F8B80", Offset = "0x15F7980", VA = "0x1815F8B80")]
	private void AttackDashRoataeReady()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002AF RID: 687 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002AF")]
	[Address(RVA = "0x15F8990", Offset = "0x15F7790", VA = "0x1815F8990")]
	private void AttackDashRoataeMove()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002B0 RID: 688 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002B0")]
	[Address(RVA = "0x15F97C0", Offset = "0x15F85C0", VA = "0x1815F97C0", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002B1 RID: 689 RVA: 0x00009188 File Offset: 0x00007388
	[Token(Token = "0x60002B1")]
	[Address(RVA = "0x15FBB10", Offset = "0x15FA910", VA = "0x1815FBB10", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x060002B2 RID: 690 RVA: 0x000091B0 File Offset: 0x000073B0
	[Token(Token = "0x60002B2")]
	[Address(RVA = "0x15FB470", Offset = "0x15FA270", VA = "0x1815FB470", Slot = "32")]
	public override void Remove()
	{
		this.AEnd();
		this.g_Effect.CharRemove();
		GameObject g_This = this.g_This;
		int num = 0;
		g_This.SetActive(num != 0);
	}

	// Token: 0x060002B3 RID: 691 RVA: 0x000091E4 File Offset: 0x000073E4
	[Token(Token = "0x60002B3")]
	[Address(RVA = "0x15F8F00", Offset = "0x15F7D00", VA = "0x1815F8F00", Slot = "31")]
	public override void Create()
	{
		this.AEnd();
		this.g_This.SetActive(true);
		this.g_Effect.Create();
		NPCManage g_NPCM = this.g_NPCM;
		int num = 0;
		g_NPCM.SetLockPoint(num != 0);
	}

	// Token: 0x060002B4 RID: 692 RVA: 0x00009224 File Offset: 0x00007424
	[Token(Token = "0x60002B4")]
	[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: 0x060002B5 RID: 693 RVA: 0x00009250 File Offset: 0x00007450
	[Token(Token = "0x60002B5")]
	[Address(RVA = "0x15FC300", Offset = "0x15FB100", VA = "0x1815FC300")]
	public AI_Boss_Act01()
	{
	}

	// Token: 0x040003A6 RID: 934
	[FieldOffset(Offset = "0x170")]
	[Token(Token = "0x40003A6")]
	protected BossAct01EffectPlay g_Effect;

	// Token: 0x040003A7 RID: 935
	[FieldOffset(Offset = "0x178")]
	[Token(Token = "0x40003A7")]
	protected VoiceBoss01 g_Voice;

	// Token: 0x040003A8 RID: 936
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x40003A8")]
	protected float g_fAttackRadiusFar = 6.5f;

	// Token: 0x040003A9 RID: 937
	[FieldOffset(Offset = "0x184")]
	[Token(Token = "0x40003A9")]
	protected float g_fAttackRadiusNear = 3f;

	// Token: 0x040003AA RID: 938
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x40003AA")]
	protected float g_fAttackMoveTime;

	// Token: 0x040003AB RID: 939
	[FieldOffset(Offset = "0x18C")]
	[Token(Token = "0x40003AB")]
	protected float g_fAttackTurnTime;

	// Token: 0x040003AC RID: 940
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x40003AC")]
	protected float g_fComboTime;

	// Token: 0x040003AD RID: 941
	[FieldOffset(Offset = "0x194")]
	[Token(Token = "0x40003AD")]
	private float g_fAniMoveSpeed;

	// Token: 0x040003AE RID: 942
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x40003AE")]
	protected CharacterController g_CCBlock;

	// Token: 0x040003AF RID: 943
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x40003AF")]
	protected Shake g_ShakeHead;

	// Token: 0x040003B0 RID: 944
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x40003B0")]
	protected Shake g_ShakeBody;

	// Token: 0x040003B1 RID: 945
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x40003B1")]
	protected Shake g_ShakeShoulderR;

	// Token: 0x040003B2 RID: 946
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x40003B2")]
	protected Shake g_ShakeShoulderL;

	// Token: 0x040003B3 RID: 947
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x40003B3")]
	protected Shake g_ShakeHandR;

	// Token: 0x040003B4 RID: 948
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x40003B4")]
	protected Shake g_ShakeHandL;

	// Token: 0x040003B5 RID: 949
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x40003B5")]
	protected Shake g_ShakeWenpon;

	// Token: 0x040003B6 RID: 950
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x40003B6")]
	protected Shake g_ShakeShield;

	// Token: 0x040003B7 RID: 951
	[FieldOffset(Offset = "0x1E0")]
	[Token(Token = "0x40003B7")]
	protected Shake g_ShakeSmoke01;

	// Token: 0x040003B8 RID: 952
	[FieldOffset(Offset = "0x1E8")]
	[Token(Token = "0x40003B8")]
	protected Shake g_ShakeSmoke02;

	// Token: 0x040003B9 RID: 953
	[FieldOffset(Offset = "0x1F0")]
	[Token(Token = "0x40003B9")]
	protected AI_Boss_Act01.AIFighting g_Fightting;

	// Token: 0x040003BA RID: 954
	[FieldOffset(Offset = "0x1F4")]
	[Token(Token = "0x40003BA")]
	protected AI_Boss_Act01.AIFighting g_FightCombo;

	// Token: 0x040003BB RID: 955
	[FieldOffset(Offset = "0x1F8")]
	[Token(Token = "0x40003BB")]
	protected Vector3 g_v3AttackDashRotateTarget;

	// Token: 0x040003BC RID: 956
	[FieldOffset(Offset = "0x204")]
	[Token(Token = "0x40003BC")]
	private bool g_bSecondMode;

	// Token: 0x0200004F RID: 79
	[Token(Token = "0x200004F")]
	protected enum AIFighting
	{
		// Token: 0x040003BE RID: 958
		[Token(Token = "0x40003BE")]
		Null,
		// Token: 0x040003BF RID: 959
		[Token(Token = "0x40003BF")]
		Opening01,
		// Token: 0x040003C0 RID: 960
		[Token(Token = "0x40003C0")]
		Opening02,
		// Token: 0x040003C1 RID: 961
		[Token(Token = "0x40003C1")]
		AWatch,
		// Token: 0x040003C2 RID: 962
		[Token(Token = "0x40003C2")]
		ATrack,
		// Token: 0x040003C3 RID: 963
		[Token(Token = "0x40003C3")]
		Attack01,
		// Token: 0x040003C4 RID: 964
		[Token(Token = "0x40003C4")]
		Attack02,
		// Token: 0x040003C5 RID: 965
		[Token(Token = "0x40003C5")]
		Attack03,
		// Token: 0x040003C6 RID: 966
		[Token(Token = "0x40003C6")]
		Attack04,
		// Token: 0x040003C7 RID: 967
		[Token(Token = "0x40003C7")]
		ComboAttack02,
		// Token: 0x040003C8 RID: 968
		[Token(Token = "0x40003C8")]
		ComboAttack03,
		// Token: 0x040003C9 RID: 969
		[Token(Token = "0x40003C9")]
		ComboAttack04,
		// Token: 0x040003CA RID: 970
		[Token(Token = "0x40003CA")]
		AttackShield,
		// Token: 0x040003CB RID: 971
		[Token(Token = "0x40003CB")]
		AttackSwordEnergy,
		// Token: 0x040003CC RID: 972
		[Token(Token = "0x40003CC")]
		AttackSkill01,
		// Token: 0x040003CD RID: 973
		[Token(Token = "0x40003CD")]
		AttackSkill01_02,
		// Token: 0x040003CE RID: 974
		[Token(Token = "0x40003CE")]
		AttackAssault,
		// Token: 0x040003CF RID: 975
		[Token(Token = "0x40003CF")]
		AttackDashRoataeReady,
		// Token: 0x040003D0 RID: 976
		[Token(Token = "0x40003D0")]
		AttackDashRoataeMove,
		// Token: 0x040003D1 RID: 977
		[Token(Token = "0x40003D1")]
		AttackDashRoatae,
		// Token: 0x040003D2 RID: 978
		[Token(Token = "0x40003D2")]
		ComboAssault,
		// Token: 0x040003D3 RID: 979
		[Token(Token = "0x40003D3")]
		Damaged,
		// Token: 0x040003D4 RID: 980
		[Token(Token = "0x40003D4")]
		Death,
		// Token: 0x040003D5 RID: 981
		[Token(Token = "0x40003D5")]
		DeathLoop,
		// Token: 0x040003D6 RID: 982
		[Token(Token = "0x40003D6")]
		End,
		// Token: 0x040003D7 RID: 983
		[Token(Token = "0x40003D7")]
		DamagedFast,
		// Token: 0x040003D8 RID: 984
		[Token(Token = "0x40003D8")]
		DestroyExplosion
	}
}
