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

// Token: 0x0200004F RID: 79
[Token(Token = "0x200004F")]
public class AI_Boss_Act01 : AI_NPC
{
	// Token: 0x060002A1 RID: 673 RVA: 0x00008AEC File Offset: 0x00006CEC
	[Token(Token = "0x60002A1")]
	[Address(RVA = "0x1A00AA0", Offset = "0x19FFAA0", VA = "0x181A00AA0", 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: 0x060002A2 RID: 674 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A2")]
	[Address(RVA = "0x1A01100", Offset = "0x1A00100", VA = "0x181A01100", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002A3 RID: 675 RVA: 0x00008DB8 File Offset: 0x00006FB8
	[Token(Token = "0x60002A3")]
	[Address(RVA = "0x1A002D0", Offset = "0x19FF2D0", VA = "0x181A002D0", 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: 0x060002A4 RID: 676 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A4")]
	[Address(RVA = "0x1A005E0", Offset = "0x19FF5E0", VA = "0x181A005E0", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002A5 RID: 677 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A5")]
	[Address(RVA = "0x19FE080", Offset = "0x19FD080", VA = "0x1819FE080", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002A6 RID: 678 RVA: 0x00008E40 File Offset: 0x00007040
	[Token(Token = "0x60002A6")]
	[Address(RVA = "0x19FE050", Offset = "0x19FD050", VA = "0x1819FE050")]
	protected void ExitFightStatus(AI_Boss_Act01.AIFighting Status)
	{
		this.g_CCBlock.enabled = true;
	}

	// Token: 0x060002A7 RID: 679 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A7")]
	[Address(RVA = "0x19FF0E0", Offset = "0x19FE0E0", VA = "0x1819FF0E0", 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: 0x060002A8 RID: 680 RVA: 0x00008E60 File Offset: 0x00007060
	[Token(Token = "0x60002A8")]
	[Address(RVA = "0x19FD3D0", Offset = "0x19FC3D0", VA = "0x1819FD3D0")]
	private void AWait()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doUV = ((MB_IMeshBakerSettings)this).doUV6;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x060002A9 RID: 681 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002A9")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "39")]
	protected virtual void AEnd()
	{
		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 = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "40")]
	protected virtual void ADestoryExplosion()
	{
		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 = "0x19FD410", Offset = "0x19FC410", VA = "0x1819FD410", Slot = "41")]
	protected virtual void AWatch()
	{
		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 = "0x19FE510", Offset = "0x19FD510", VA = "0x1819FE510", Slot = "42")]
	protected virtual void FirstMode()
	{
		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 = "0x1A00410", Offset = "0x19FF410", VA = "0x181A00410", Slot = "43")]
	protected virtual void SecondMode()
	{
		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 = "0x19FD290", Offset = "0x19FC290", VA = "0x1819FD290")]
	private void ATrack()
	{
		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 = "0x19FDCF0", Offset = "0x19FCCF0", VA = "0x1819FDCF0")]
	private void Attack()
	{
		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 = "0x19FD510", Offset = "0x19FC510", VA = "0x1819FD510")]
	private void Attack02()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002B1 RID: 689 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002B1")]
	[Address(RVA = "0x19FD880", Offset = "0x19FC880", VA = "0x1819FD880", Slot = "44")]
	protected virtual void AttackAssault()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002B2 RID: 690 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002B2")]
	[Address(RVA = "0x19FDC70", Offset = "0x19FCC70", VA = "0x1819FDC70")]
	private void AttackDashRoataeReady()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002B3 RID: 691 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002B3")]
	[Address(RVA = "0x19FDA80", Offset = "0x19FCA80", VA = "0x1819FDA80")]
	private void AttackDashRoataeMove()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002B4 RID: 692 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60002B4")]
	[Address(RVA = "0x19FE6A0", Offset = "0x19FD6A0", VA = "0x1819FE6A0", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060002B5 RID: 693 RVA: 0x00008E8C File Offset: 0x0000708C
	[Token(Token = "0x60002B5")]
	[Address(RVA = "0x1A00A60", Offset = "0x19FFA60", VA = "0x181A00A60", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x060002B6 RID: 694 RVA: 0x00008EB4 File Offset: 0x000070B4
	[Token(Token = "0x60002B6")]
	[Address(RVA = "0x1A003C0", Offset = "0x19FF3C0", VA = "0x181A003C0", 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: 0x060002B7 RID: 695 RVA: 0x00008EE8 File Offset: 0x000070E8
	[Token(Token = "0x60002B7")]
	[Address(RVA = "0x19FDFF0", Offset = "0x19FCFF0", VA = "0x1819FDFF0", 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: 0x060002B8 RID: 696 RVA: 0x00008F28 File Offset: 0x00007128
	[Token(Token = "0x60002B8")]
	[Address(RVA = "0x15A7DD0", Offset = "0x15A6DD0", VA = "0x1815A7DD0", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		NPCManage g_NPCM = this.g_NPCM;
		int num = 0;
		g_NPCM.SetLockPoint(num != 0);
	}

	// Token: 0x060002B9 RID: 697 RVA: 0x00008F54 File Offset: 0x00007154
	[Token(Token = "0x60002B9")]
	[Address(RVA = "0x1A01250", Offset = "0x1A00250", VA = "0x181A01250")]
	public AI_Boss_Act01()
	{
	}

	// Token: 0x040003BB RID: 955
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x40003BB")]
	protected BossAct01EffectPlay g_Effect;

	// Token: 0x040003BC RID: 956
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x40003BC")]
	protected VoiceBoss01 g_Voice;

	// Token: 0x040003BD RID: 957
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x40003BD")]
	protected float g_fAttackRadiusFar = 6.5f;

	// Token: 0x040003BE RID: 958
	[FieldOffset(Offset = "0x194")]
	[Token(Token = "0x40003BE")]
	protected float g_fAttackRadiusNear = 3f;

	// Token: 0x040003BF RID: 959
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x40003BF")]
	protected float g_fAttackMoveTime;

	// Token: 0x040003C0 RID: 960
	[FieldOffset(Offset = "0x19C")]
	[Token(Token = "0x40003C0")]
	protected float g_fAttackTurnTime;

	// Token: 0x040003C1 RID: 961
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x40003C1")]
	protected float g_fComboTime;

	// Token: 0x040003C2 RID: 962
	[FieldOffset(Offset = "0x1A4")]
	[Token(Token = "0x40003C2")]
	protected float g_fAniMoveSpeed;

	// Token: 0x040003C3 RID: 963
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x40003C3")]
	protected CharacterController g_CCBlock;

	// Token: 0x040003C4 RID: 964
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x40003C4")]
	protected Shake g_ShakeHead;

	// Token: 0x040003C5 RID: 965
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x40003C5")]
	protected Shake g_ShakeBody;

	// Token: 0x040003C6 RID: 966
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x40003C6")]
	protected Shake g_ShakeShoulderR;

	// Token: 0x040003C7 RID: 967
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x40003C7")]
	protected Shake g_ShakeShoulderL;

	// Token: 0x040003C8 RID: 968
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x40003C8")]
	protected Shake g_ShakeHandR;

	// Token: 0x040003C9 RID: 969
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x40003C9")]
	protected Shake g_ShakeHandL;

	// Token: 0x040003CA RID: 970
	[FieldOffset(Offset = "0x1E0")]
	[Token(Token = "0x40003CA")]
	protected Shake g_ShakeWenpon;

	// Token: 0x040003CB RID: 971
	[FieldOffset(Offset = "0x1E8")]
	[Token(Token = "0x40003CB")]
	protected Shake g_ShakeShield;

	// Token: 0x040003CC RID: 972
	[FieldOffset(Offset = "0x1F0")]
	[Token(Token = "0x40003CC")]
	protected Shake g_ShakeSmoke01;

	// Token: 0x040003CD RID: 973
	[FieldOffset(Offset = "0x1F8")]
	[Token(Token = "0x40003CD")]
	protected Shake g_ShakeSmoke02;

	// Token: 0x040003CE RID: 974
	[FieldOffset(Offset = "0x200")]
	[Token(Token = "0x40003CE")]
	protected AI_Boss_Act01.AIFighting g_Fightting;

	// Token: 0x040003CF RID: 975
	[FieldOffset(Offset = "0x204")]
	[Token(Token = "0x40003CF")]
	protected AI_Boss_Act01.AIFighting g_FightCombo;

	// Token: 0x040003D0 RID: 976
	[FieldOffset(Offset = "0x208")]
	[Token(Token = "0x40003D0")]
	protected Vector3 g_v3AttackDashRotateTarget;

	// Token: 0x040003D1 RID: 977
	[FieldOffset(Offset = "0x214")]
	[Token(Token = "0x40003D1")]
	protected bool g_bSecondMode;

	// Token: 0x02000050 RID: 80
	[Token(Token = "0x2000050")]
	protected enum AIFighting
	{
		// Token: 0x040003D3 RID: 979
		[Token(Token = "0x40003D3")]
		Null,
		// Token: 0x040003D4 RID: 980
		[Token(Token = "0x40003D4")]
		Opening01,
		// Token: 0x040003D5 RID: 981
		[Token(Token = "0x40003D5")]
		Opening02,
		// Token: 0x040003D6 RID: 982
		[Token(Token = "0x40003D6")]
		AWatch,
		// Token: 0x040003D7 RID: 983
		[Token(Token = "0x40003D7")]
		ATrack,
		// Token: 0x040003D8 RID: 984
		[Token(Token = "0x40003D8")]
		Attack01,
		// Token: 0x040003D9 RID: 985
		[Token(Token = "0x40003D9")]
		Attack02,
		// Token: 0x040003DA RID: 986
		[Token(Token = "0x40003DA")]
		Attack03,
		// Token: 0x040003DB RID: 987
		[Token(Token = "0x40003DB")]
		Attack04,
		// Token: 0x040003DC RID: 988
		[Token(Token = "0x40003DC")]
		ComboAttack02,
		// Token: 0x040003DD RID: 989
		[Token(Token = "0x40003DD")]
		ComboAttack03,
		// Token: 0x040003DE RID: 990
		[Token(Token = "0x40003DE")]
		ComboAttack04,
		// Token: 0x040003DF RID: 991
		[Token(Token = "0x40003DF")]
		AttackShield,
		// Token: 0x040003E0 RID: 992
		[Token(Token = "0x40003E0")]
		AttackSwordEnergy,
		// Token: 0x040003E1 RID: 993
		[Token(Token = "0x40003E1")]
		AttackSkill01,
		// Token: 0x040003E2 RID: 994
		[Token(Token = "0x40003E2")]
		AttackSkill01_02,
		// Token: 0x040003E3 RID: 995
		[Token(Token = "0x40003E3")]
		AttackAssault,
		// Token: 0x040003E4 RID: 996
		[Token(Token = "0x40003E4")]
		AttackDashRoataeReady,
		// Token: 0x040003E5 RID: 997
		[Token(Token = "0x40003E5")]
		AttackDashRoataeMove,
		// Token: 0x040003E6 RID: 998
		[Token(Token = "0x40003E6")]
		AttackDashRoatae,
		// Token: 0x040003E7 RID: 999
		[Token(Token = "0x40003E7")]
		ComboAssault,
		// Token: 0x040003E8 RID: 1000
		[Token(Token = "0x40003E8")]
		Damaged,
		// Token: 0x040003E9 RID: 1001
		[Token(Token = "0x40003E9")]
		Death,
		// Token: 0x040003EA RID: 1002
		[Token(Token = "0x40003EA")]
		DeathLoop,
		// Token: 0x040003EB RID: 1003
		[Token(Token = "0x40003EB")]
		End,
		// Token: 0x040003EC RID: 1004
		[Token(Token = "0x40003EC")]
		DamagedFast,
		// Token: 0x040003ED RID: 1005
		[Token(Token = "0x40003ED")]
		DestroyExplosion,
		// Token: 0x040003EE RID: 1006
		[Token(Token = "0x40003EE")]
		BR_DamageAttack01,
		// Token: 0x040003EF RID: 1007
		[Token(Token = "0x40003EF")]
		BR_DamageAttack02,
		// Token: 0x040003F0 RID: 1008
		[Token(Token = "0x40003F0")]
		BR_AttackAssaultCombo
	}
}
