using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000042 RID: 66
[Token(Token = "0x2000042")]
public class AI_BossLevel03 : AI_NPC
{
	// Token: 0x060001ED RID: 493 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001ED")]
	[Address(RVA = "0x1569220", Offset = "0x1568020", VA = "0x181569220", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001EE RID: 494 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001EE")]
	[Address(RVA = "0x156A220", Offset = "0x1569020", VA = "0x18156A220", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001EF RID: 495 RVA: 0x0000711C File Offset: 0x0000531C
	[Token(Token = "0x60001EF")]
	[Address(RVA = "0x15683D0", Offset = "0x15671D0", VA = "0x1815683D0", Slot = "6")]
	public override void LateUpdate()
	{
		this.AEnd();
		this.g_ShakeHead.Update();
		this.g_ShakeLUA.Update();
		this.g_ShakeRUA.Update();
		this.g_ShakeLHand.Update();
		this.g_ShakeRHand.Update();
		this.g_ShakeLThigh.Update();
		this.g_ShakeRThigh.Update();
		this.g_ShakeLFoot.Update();
		this.g_ShakeRFoot.Update();
		this.g_ShakeBody.Update();
		this.g_ShakeCharacter.Update();
	}

	// Token: 0x060001F0 RID: 496 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001F0")]
	[Address(RVA = "0x1565750", Offset = "0x1564550", VA = "0x181565750", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001F1 RID: 497 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001F1")]
	[Address(RVA = "0x1566D50", Offset = "0x1565B50", VA = "0x181566D50")]
	private void InitFightStatus(AI_BossLevel03.AIFighting Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001F2 RID: 498 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001F2")]
	[Address(RVA = "0x156A630", Offset = "0x1569430", VA = "0x18156A630")]
	private void Watch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001F3 RID: 499 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001F3")]
	[Address(RVA = "0x15699D0", Offset = "0x15687D0", VA = "0x1815699D0")]
	private void TurnLeft()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001F4 RID: 500 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001F4")]
	[Address(RVA = "0x1569DF0", Offset = "0x1568BF0", VA = "0x181569DF0")]
	private void TurnRight()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001F5 RID: 501 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001F5")]
	[Address(RVA = "0x1569090", Offset = "0x1567E90", VA = "0x181569090")]
	private void SprintForward()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001F6 RID: 502 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001F6")]
	[Address(RVA = "0x1568F50", Offset = "0x1567D50", VA = "0x181568F50")]
	private void SprintBack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001F7 RID: 503 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001F7")]
	[Address(RVA = "0x1568580", Offset = "0x1567380", VA = "0x181568580")]
	private void SelectFight()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001F8 RID: 504 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001F8")]
	[Address(RVA = "0x1560460", Offset = "0x155F260", VA = "0x181560460")]
	private void Attack()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001F9 RID: 505 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001F9")]
	[Address(RVA = "0x155FE90", Offset = "0x155EC90", VA = "0x18155FE90")]
	private void AttackCombo()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001FA RID: 506 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001FA")]
	[Address(RVA = "0x155F6D0", Offset = "0x155E4D0", VA = "0x18155F6D0")]
	private void ACombo02()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001FB RID: 507 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001FB")]
	[Address(RVA = "0x15601F0", Offset = "0x155EFF0", VA = "0x1815601F0")]
	private void AttackSprint()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001FC RID: 508 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001FC")]
	[Address(RVA = "0x155FBE0", Offset = "0x155E9E0", VA = "0x18155FBE0")]
	private void AttackAssault()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001FD RID: 509 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001FD")]
	[Address(RVA = "0x15600E0", Offset = "0x155EEE0", VA = "0x1815600E0")]
	private void AttackHammer()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001FE RID: 510 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001FE")]
	[Address(RVA = "0x155F9E0", Offset = "0x155E7E0", VA = "0x18155F9E0")]
	private void ARun()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060001FF RID: 511 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60001FF")]
	[Address(RVA = "0x155FCB0", Offset = "0x155EAB0", VA = "0x18155FCB0")]
	private void AttackCombo04()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000200 RID: 512 RVA: 0x000071B0 File Offset: 0x000053B0
	[Token(Token = "0x6000200")]
	[Address(RVA = "0x155F950", Offset = "0x155E750", VA = "0x18155F950")]
	private void ADamagedFly()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			if (this.g_Effect.g_bChargeComplete)
			{
				this.g_fFightTime = 0f;
			}
			this.InitFightStatus(AI_BossLevel03.AIFighting.Watch);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000201 RID: 513 RVA: 0x000071F8 File Offset: 0x000053F8
	[Token(Token = "0x6000201")]
	[Address(RVA = "0x155F9B0", Offset = "0x155E7B0", VA = "0x18155F9B0")]
	private void ADeath()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			this.InitFightStatus(AI_BossLevel03.AIFighting.End);
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

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

	// Token: 0x06000203 RID: 515 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000203")]
	[Address(RVA = "0x1565EC0", Offset = "0x1564CC0", VA = "0x181565EC0", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000204 RID: 516 RVA: 0x00007224 File Offset: 0x00005424
	[Token(Token = "0x6000204")]
	[Address(RVA = "0x1568EF0", Offset = "0x1567CF0", VA = "0x181568EF0", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_FaceAnim.speed = fTimeScale;
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x06000205 RID: 517 RVA: 0x00007258 File Offset: 0x00005458
	[Token(Token = "0x6000205")]
	[Address(RVA = "0x15684D0", Offset = "0x15672D0", VA = "0x1815684D0", Slot = "32")]
	public override void Remove()
	{
		this.AEnd();
		this.g_Effect.RemoveSoul();
		this.g_Voice.StopVoicePlayDoll();
		this.g_Voice.StopVoiceAbsorbSoul();
		NPCManage g_NPCM = this.g_NPCM;
		int num = 0;
		g_NPCM.SetLockPoint(num != 0);
		GameObject g_This = this.g_This;
		int num2 = 0;
		g_This.SetActive(num2 != 0);
	}

	// Token: 0x06000206 RID: 518 RVA: 0x000072B4 File Offset: 0x000054B4
	[Token(Token = "0x6000206")]
	[Address(RVA = "0x1565650", Offset = "0x1564450", VA = "0x181565650", 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);
		float stageTimeScale = Game.GetStageTimeScale();
		this.g_fTimeScale = stageTimeScale;
		this.InitFightStatus(AI_BossLevel03.AIFighting.Idle);
		if (!base.GameSave.flags.stage03Boss01Clear)
		{
			this.g_Voice.PlayVoicePlayDoll();
			return;
		}
		this.g_iScriptStep = (int)((ulong)4L);
	}

	// Token: 0x06000207 RID: 519 RVA: 0x00007334 File Offset: 0x00005534
	[Token(Token = "0x6000207")]
	[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: 0x06000208 RID: 520 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000208")]
	[Address(RVA = "0x1568840", Offset = "0x1567640", VA = "0x181568840", Slot = "36")]
	public override void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000209 RID: 521 RVA: 0x00007360 File Offset: 0x00005560
	[Token(Token = "0x6000209")]
	[Address(RVA = "0x1568E00", Offset = "0x1567C00", VA = "0x181568E00", Slot = "37")]
	public override void SetSpeakLayerWeight(bool bEnable, string Name = "")
	{
		Animator animator;
		for (;;)
		{
			animator = this.g_FaceAnim;
			if (!bEnable)
			{
				break;
			}
			animator.SetLayerWeight(1, 1f);
			if (Name != "")
			{
				goto Block_1;
			}
		}
		int num = 0;
		animator.SetLayerWeight(1, (float)num);
		return;
		Block_1:
		Animator animator2 = this.g_FaceAnim;
		int num2 = 0;
		animator2.CrossFade(Name, 0.05f, 1, (float)num2);
	}

	// Token: 0x0600020A RID: 522 RVA: 0x000073BC File Offset: 0x000055BC
	[Token(Token = "0x600020A")]
	[Address(RVA = "0x156AA40", Offset = "0x1569840", VA = "0x18156AA40")]
	public AI_BossLevel03()
	{
	}

	// Token: 0x04000239 RID: 569
	[FieldOffset(Offset = "0x170")]
	[Token(Token = "0x4000239")]
	private BossLevel03EffectPlay g_Effect;

	// Token: 0x0400023A RID: 570
	[FieldOffset(Offset = "0x178")]
	[Token(Token = "0x400023A")]
	private VoiceBoss03 g_Voice;

	// Token: 0x0400023B RID: 571
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x400023B")]
	private Animator g_FaceAnim;

	// Token: 0x0400023C RID: 572
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x400023C")]
	private float g_fAttackRadius = 5.5f;

	// Token: 0x0400023D RID: 573
	[FieldOffset(Offset = "0x18C")]
	[Token(Token = "0x400023D")]
	private float g_fAniMoveSpeed;

	// Token: 0x0400023E RID: 574
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x400023E")]
	private float g_fAniMoveDirection;

	// Token: 0x0400023F RID: 575
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x400023F")]
	private Shake g_ShakeHead;

	// Token: 0x04000240 RID: 576
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x4000240")]
	private Shake g_ShakeLUA;

	// Token: 0x04000241 RID: 577
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x4000241")]
	private Shake g_ShakeRUA;

	// Token: 0x04000242 RID: 578
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x4000242")]
	private Shake g_ShakeLHand;

	// Token: 0x04000243 RID: 579
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x4000243")]
	private Shake g_ShakeRHand;

	// Token: 0x04000244 RID: 580
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x4000244")]
	private Shake g_ShakeLThigh;

	// Token: 0x04000245 RID: 581
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x4000245")]
	private Shake g_ShakeRThigh;

	// Token: 0x04000246 RID: 582
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x4000246")]
	private Shake g_ShakeLFoot;

	// Token: 0x04000247 RID: 583
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x4000247")]
	private Shake g_ShakeRFoot;

	// Token: 0x04000248 RID: 584
	[FieldOffset(Offset = "0x1E0")]
	[Token(Token = "0x4000248")]
	private Shake g_ShakeBody;

	// Token: 0x04000249 RID: 585
	[FieldOffset(Offset = "0x1E8")]
	[Token(Token = "0x4000249")]
	private Shake g_ShakeCharacter;

	// Token: 0x0400024A RID: 586
	[FieldOffset(Offset = "0x1F0")]
	[Token(Token = "0x400024A")]
	private AI_BossLevel03.AIFighting g_Fighting = (AI_BossLevel03.AIFighting)((ulong)27L);

	// Token: 0x0400024B RID: 587
	[FieldOffset(Offset = "0x1F4")]
	[Token(Token = "0x400024B")]
	private AI_BossLevel03.AIFighting g_NextFighting;

	// Token: 0x0400024C RID: 588
	[FieldOffset(Offset = "0x1F8")]
	[Token(Token = "0x400024C")]
	private int g_iAWatchMoveDir;

	// Token: 0x0400024D RID: 589
	[FieldOffset(Offset = "0x1FC")]
	[Token(Token = "0x400024D")]
	private float g_fFightTime;

	// Token: 0x0400024E RID: 590
	[FieldOffset(Offset = "0x200")]
	[Token(Token = "0x400024E")]
	private float g_fAttackRotate;

	// Token: 0x0400024F RID: 591
	[FieldOffset(Offset = "0x204")]
	[Token(Token = "0x400024F")]
	private float g_fAttackRotateCon;

	// Token: 0x04000250 RID: 592
	[FieldOffset(Offset = "0x208")]
	[Token(Token = "0x4000250")]
	private float g_fAttackMove;

	// Token: 0x04000251 RID: 593
	[FieldOffset(Offset = "0x20C")]
	[Token(Token = "0x4000251")]
	private float g_fAttackComboStart;

	// Token: 0x04000252 RID: 594
	[FieldOffset(Offset = "0x210")]
	[Token(Token = "0x4000252")]
	private bool g_bCharge;

	// Token: 0x04000253 RID: 595
	[FieldOffset(Offset = "0x214")]
	[Token(Token = "0x4000253")]
	private float g_fAniCharge;

	// Token: 0x04000254 RID: 596
	[Token(Token = "0x4000254")]
	private const float g_fChargeTime = 2f;

	// Token: 0x04000255 RID: 597
	[FieldOffset(Offset = "0x218")]
	[Token(Token = "0x4000255")]
	private float g_fChargeTimeVal;

	// Token: 0x04000256 RID: 598
	[FieldOffset(Offset = "0x21C")]
	[Token(Token = "0x4000256")]
	private float g_fAniCharacterLayerWeight;

	// Token: 0x04000257 RID: 599
	[Token(Token = "0x4000257")]
	private const float g_fChargeCompleteTime = 1f;

	// Token: 0x04000258 RID: 600
	[FieldOffset(Offset = "0x220")]
	[Token(Token = "0x4000258")]
	private float g_fChargeCompleteTimeVal;

	// Token: 0x04000259 RID: 601
	[FieldOffset(Offset = "0x224")]
	[Token(Token = "0x4000259")]
	private bool g_bPlus;

	// Token: 0x0400025A RID: 602
	[FieldOffset(Offset = "0x228")]
	[Token(Token = "0x400025A")]
	private int g_iScriptStep;

	// Token: 0x02000043 RID: 67
	[Token(Token = "0x2000043")]
	private enum AIFighting
	{
		// Token: 0x0400025C RID: 604
		[Token(Token = "0x400025C")]
		Null,
		// Token: 0x0400025D RID: 605
		[Token(Token = "0x400025D")]
		Watch,
		// Token: 0x0400025E RID: 606
		[Token(Token = "0x400025E")]
		TurnLeft,
		// Token: 0x0400025F RID: 607
		[Token(Token = "0x400025F")]
		TurnRight,
		// Token: 0x04000260 RID: 608
		[Token(Token = "0x4000260")]
		SprintForward,
		// Token: 0x04000261 RID: 609
		[Token(Token = "0x4000261")]
		SprintBack,
		// Token: 0x04000262 RID: 610
		[Token(Token = "0x4000262")]
		Damaged,
		// Token: 0x04000263 RID: 611
		[Token(Token = "0x4000263")]
		DamagedFly,
		// Token: 0x04000264 RID: 612
		[Token(Token = "0x4000264")]
		Death,
		// Token: 0x04000265 RID: 613
		[Token(Token = "0x4000265")]
		End,
		// Token: 0x04000266 RID: 614
		[Token(Token = "0x4000266")]
		ACombo01,
		// Token: 0x04000267 RID: 615
		[Token(Token = "0x4000267")]
		ACombo02,
		// Token: 0x04000268 RID: 616
		[Token(Token = "0x4000268")]
		ACombo03,
		// Token: 0x04000269 RID: 617
		[Token(Token = "0x4000269")]
		ACombo03V2,
		// Token: 0x0400026A RID: 618
		[Token(Token = "0x400026A")]
		Attack03,
		// Token: 0x0400026B RID: 619
		[Token(Token = "0x400026B")]
		ACombo04,
		// Token: 0x0400026C RID: 620
		[Token(Token = "0x400026C")]
		AHammer,
		// Token: 0x0400026D RID: 621
		[Token(Token = "0x400026D")]
		AAssault,
		// Token: 0x0400026E RID: 622
		[Token(Token = "0x400026E")]
		ASprint,
		// Token: 0x0400026F RID: 623
		[Token(Token = "0x400026F")]
		AComboB01,
		// Token: 0x04000270 RID: 624
		[Token(Token = "0x4000270")]
		AttackB02,
		// Token: 0x04000271 RID: 625
		[Token(Token = "0x4000271")]
		AComboB02,
		// Token: 0x04000272 RID: 626
		[Token(Token = "0x4000272")]
		AComboB03,
		// Token: 0x04000273 RID: 627
		[Token(Token = "0x4000273")]
		ASprintB,
		// Token: 0x04000274 RID: 628
		[Token(Token = "0x4000274")]
		ARunStart,
		// Token: 0x04000275 RID: 629
		[Token(Token = "0x4000275")]
		ARun,
		// Token: 0x04000276 RID: 630
		[Token(Token = "0x4000276")]
		ARunEnd,
		// Token: 0x04000277 RID: 631
		[Token(Token = "0x4000277")]
		Idle
	}
}
