using System;
using System.Linq.Expressions;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000090 RID: 144
[Token(Token = "0x2000090")]
public class AI_TreasureChestMonster01 : AI_NPC
{
	// Token: 0x0600064F RID: 1615 RVA: 0x0000F060 File Offset: 0x0000D260
	[Token(Token = "0x600064F")]
	[Address(RVA = "0x11D81B0", Offset = "0x11D6FB0", VA = "0x1811D81B0", Slot = "4")]
	public override void Start(GameObject This, NPCManage NPCM)
	{
		base.Start(This, NPCM);
		TreasureChestMonster01EffectPlay component = This.GetComponent<TreasureChestMonster01EffectPlay>();
		this.g_Effect = component;
		this.g_Effect.InitData();
		MoveController g_Move = this.g_Move;
		this.g_fDragRotation = 0.6f;
		g_Move.SetDragRotation(0.6f);
		this.g_Move.SetDragMove(8f);
		this.g_Move.gravity = 16f;
		this.g_Move.fallSpeedMax = -15f;
		this.g_fVisionDistance = 10f;
		this.g_fVisionAngle = 100f;
		this.g_fWalkSpeed = 1.2f;
		this.g_fRunSpeed = 2.4f;
		this.g_fDashSpeed = 12f;
		this.g_fNavMoveSpeed = 2.4f;
		Shake shake = new Shake();
		this.g_ShakeHead = shake;
		GameObject g_This = this.g_This;
		Shake shake2 = this.g_ShakeHead;
		Transform transform = Common.FindChild(g_This.transform, "Bone004");
		shake2.Start(transform, true);
		Shake shake3 = new Shake();
		this.g_ShakeButton = shake3;
		GameObject g_This2 = this.g_This;
		Shake shake4 = this.g_ShakeButton;
		Transform transform2 = Common.FindChild(g_This2.transform, "Bone001");
		int num = 0;
		shake4.Start(transform2, num != 0);
		Shake shake5 = new Shake();
		this.g_ShakeUp = shake5;
		GameObject g_This3 = this.g_This;
		Shake shake6 = this.g_ShakeUp;
		Transform transform3 = Common.FindChild(g_This3.transform, "Bone002");
		shake6.Start(transform3, true);
		this.g_NPCM.g_bCanResetDeath = false;
		this.g_bCallMonster = false;
	}

	// Token: 0x06000650 RID: 1616 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000650")]
	[Address(RVA = "0x11D84B0", Offset = "0x11D72B0", VA = "0x1811D84B0", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000651 RID: 1617 RVA: 0x0000F1EC File Offset: 0x0000D3EC
	[Token(Token = "0x6000651")]
	[Address(RVA = "0x11D8090", Offset = "0x11D6E90", VA = "0x1811D8090", Slot = "6")]
	public override void LateUpdate()
	{
		this.g_ShakeHead.Update();
		this.g_ShakeButton.Update();
		this.g_ShakeUp.Update();
	}

	// Token: 0x06000652 RID: 1618 RVA: 0x0000F220 File Offset: 0x0000D420
	[Token(Token = "0x6000652")]
	[Address(RVA = "0x11D5BB0", Offset = "0x11D49B0", VA = "0x1811D5BB0")]
	public void EndStatus(AI_NPC.AIStatus Status)
	{
		if (Status == AI_NPC.AIStatus.Idle)
		{
			this.g_Effect.OpenBodyEffect();
			return;
		}
	}

	// Token: 0x06000653 RID: 1619 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000653")]
	[Address(RVA = "0x11D7B40", Offset = "0x11D6940", VA = "0x1811D7B40", Slot = "38")]
	public virtual void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000654 RID: 1620 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000654")]
	[Address(RVA = "0x11D7570", Offset = "0x11D6370", VA = "0x1811D7570", Slot = "8")]
	public override void Idle()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000655 RID: 1621 RVA: 0x0000F244 File Offset: 0x0000D444
	[Token(Token = "0x6000655")]
	[Address(RVA = "0x11D6A10", Offset = "0x11D5810", VA = "0x1811D6A10", Slot = "19")]
	public override void GoHome()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int parameterCount = ((IParameterProvider)this).ParameterCount;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000656 RID: 1622 RVA: 0x0000F270 File Offset: 0x0000D470
	[Token(Token = "0x6000656")]
	[Address(RVA = "0x11D5AB0", Offset = "0x11D48B0", VA = "0x1811D5AB0", Slot = "23")]
	public override void Damaged()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int parameterCount = ((IParameterProvider)this).ParameterCount;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000657 RID: 1623 RVA: 0x0000F29C File Offset: 0x0000D49C
	[Token(Token = "0x6000657")]
	[Address(RVA = "0x11D5AB0", Offset = "0x11D48B0", VA = "0x1811D5AB0", Slot = "25")]
	public override void DamagedFly()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int parameterCount = ((IParameterProvider)this).ParameterCount;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000658 RID: 1624 RVA: 0x0000F2C8 File Offset: 0x0000D4C8
	[Token(Token = "0x6000658")]
	[Address(RVA = "0x11D5AF0", Offset = "0x11D48F0", VA = "0x1811D5AF0", Slot = "27")]
	public override void Death()
	{
		base.Initialize();
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			int parameterCount = ((IParameterProvider)this).ParameterCount;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x06000659 RID: 1625 RVA: 0x0000F2F8 File Offset: 0x0000D4F8
	[Token(Token = "0x6000659")]
	[Address(RVA = "0x11D5B50", Offset = "0x11D4950", VA = "0x1811D5B50", 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.Initialize();
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
		base.Initialize();
	}

	// Token: 0x0600065A RID: 1626 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600065A")]
	[Address(RVA = "0x11D6560", Offset = "0x11D5360", VA = "0x1811D6560", Slot = "22")]
	public override void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600065B RID: 1627 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600065B")]
	[Address(RVA = "0x11D76B0", Offset = "0x11D64B0", VA = "0x1811D76B0")]
	private void InitFightingType(AI_TreasureChestMonster01.AIFighting Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600065C RID: 1628 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600065C")]
	[Address(RVA = "0x11D60D0", Offset = "0x11D4ED0", VA = "0x1811D60D0")]
	private void FightWatch()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600065D RID: 1629 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600065D")]
	[Address(RVA = "0x11D5BE0", Offset = "0x11D49E0", VA = "0x1811D5BE0")]
	private void FightAttack01()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600065E RID: 1630 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600065E")]
	[Address(RVA = "0x11D5DB0", Offset = "0x11D4BB0", VA = "0x1811D5DB0")]
	private void FightAttack02()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600065F RID: 1631 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600065F")]
	[Address(RVA = "0x11D6060", Offset = "0x11D4E60", VA = "0x1811D6060")]
	private void FightMagic01Ready()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000660 RID: 1632 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000660")]
	[Address(RVA = "0x11D5FC0", Offset = "0x11D4DC0", VA = "0x1811D5FC0")]
	private void FightMagic01Fire()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000661 RID: 1633 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000661")]
	[Address(RVA = "0x11D6A50", Offset = "0x11D5850", VA = "0x1811D6A50", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000662 RID: 1634 RVA: 0x0000F33C File Offset: 0x0000D53C
	[Token(Token = "0x6000662")]
	[Address(RVA = "0x11D8140", Offset = "0x11D6F40", VA = "0x1811D8140", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		this.g_bDeath = false;
		int parameterCount = ((IParameterProvider)this).ParameterCount;
	}

	// Token: 0x06000663 RID: 1635 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000663")]
	[Address(RVA = "0x11D5990", Offset = "0x11D4790", VA = "0x1811D5990", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000664 RID: 1636 RVA: 0x0000F360 File Offset: 0x0000D560
	[Token(Token = "0x6000664")]
	[Address(RVA = "0x11D80E0", Offset = "0x11D6EE0", VA = "0x1811D80E0", Slot = "32")]
	public override void Remove()
	{
		base.Initialize();
		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: 0x06000665 RID: 1637 RVA: 0x0000F3A4 File Offset: 0x0000D5A4
	[Token(Token = "0x6000665")]
	[Address(RVA = "0x11D8170", Offset = "0x11D6F70", VA = "0x1811D8170", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x06000666 RID: 1638 RVA: 0x0000F3CC File Offset: 0x0000D5CC
	[Token(Token = "0x6000666")]
	[Address(RVA = "0x11D86D0", Offset = "0x11D74D0", VA = "0x1811D86D0")]
	public AI_TreasureChestMonster01()
	{
	}

	// Token: 0x0400075E RID: 1886
	[FieldOffset(Offset = "0x170")]
	[Token(Token = "0x400075E")]
	private TreasureChestMonster01EffectPlay g_Effect;

	// Token: 0x0400075F RID: 1887
	[Token(Token = "0x400075F")]
	private const float g_fAttack01Radius = 3f;

	// Token: 0x04000760 RID: 1888
	[Token(Token = "0x4000760")]
	private const float g_fAttack02Radius = 9f;

	// Token: 0x04000761 RID: 1889
	[FieldOffset(Offset = "0x178")]
	[Token(Token = "0x4000761")]
	private float g_fAttackRadius = 3f;

	// Token: 0x04000762 RID: 1890
	[FieldOffset(Offset = "0x17C")]
	[Token(Token = "0x4000762")]
	protected float g_fAniMoveSpeed;

	// Token: 0x04000763 RID: 1891
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x4000763")]
	protected float g_fAniMoveAngle;

	// Token: 0x04000764 RID: 1892
	[FieldOffset(Offset = "0x184")]
	[Token(Token = "0x4000764")]
	protected Vector3 g_v3PreForward;

	// Token: 0x04000765 RID: 1893
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x4000765")]
	private AI_TreasureChestMonster01.AIFighting g_Fightting;

	// Token: 0x04000766 RID: 1894
	[FieldOffset(Offset = "0x194")]
	[Token(Token = "0x4000766")]
	private AI_TreasureChestMonster01.AIFighting g_NextAttack = (AI_TreasureChestMonster01.AIFighting)((ulong)1L);

	// Token: 0x04000767 RID: 1895
	[FieldOffset(Offset = "0x198")]
	[Token(Token = "0x4000767")]
	private float g_fAttackMoveTime;

	// Token: 0x04000768 RID: 1896
	[FieldOffset(Offset = "0x19C")]
	[Token(Token = "0x4000768")]
	private float g_fAttackRotateTime;

	// Token: 0x04000769 RID: 1897
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x4000769")]
	private float g_fTyrantsTime;

	// Token: 0x0400076A RID: 1898
	[FieldOffset(Offset = "0x1A4")]
	[Token(Token = "0x400076A")]
	private float g_fAttackTime;

	// Token: 0x0400076B RID: 1899
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x400076B")]
	private float g_fTrackTime;

	// Token: 0x0400076C RID: 1900
	[Token(Token = "0x400076C")]
	private const float g_fGoHomeTime = 3f;

	// Token: 0x0400076D RID: 1901
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x400076D")]
	private Shake g_ShakeHead;

	// Token: 0x0400076E RID: 1902
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x400076E")]
	private Shake g_ShakeButton;

	// Token: 0x0400076F RID: 1903
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x400076F")]
	private Shake g_ShakeUp;

	// Token: 0x04000770 RID: 1904
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x4000770")]
	private bool g_bCallMonster;

	// Token: 0x02000091 RID: 145
	[Token(Token = "0x2000091")]
	private enum AIFighting
	{
		// Token: 0x04000772 RID: 1906
		[Token(Token = "0x4000772")]
		Watch,
		// Token: 0x04000773 RID: 1907
		[Token(Token = "0x4000773")]
		Attack01,
		// Token: 0x04000774 RID: 1908
		[Token(Token = "0x4000774")]
		Attack02,
		// Token: 0x04000775 RID: 1909
		[Token(Token = "0x4000775")]
		Magic01Ready,
		// Token: 0x04000776 RID: 1910
		[Token(Token = "0x4000776")]
		Magic01Fire
	}
}
