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

// Token: 0x02000091 RID: 145
[Token(Token = "0x2000091")]
public class AI_TreasureChestMonster01 : AI_NPC
{
	// Token: 0x06000653 RID: 1619 RVA: 0x0000EBD8 File Offset: 0x0000CDD8
	[Token(Token = "0x6000653")]
	[Address(RVA = "0x183D0F0", Offset = "0x183C0F0", VA = "0x18183D0F0", 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: 0x06000654 RID: 1620 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000654")]
	[Address(RVA = "0x183D3F0", Offset = "0x183C3F0", VA = "0x18183D3F0", Slot = "5")]
	public override void Update(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000655 RID: 1621 RVA: 0x0000ED64 File Offset: 0x0000CF64
	[Token(Token = "0x6000655")]
	[Address(RVA = "0x183CFD0", Offset = "0x183BFD0", VA = "0x18183CFD0", Slot = "6")]
	public override void LateUpdate()
	{
		this.g_ShakeHead.Update();
		this.g_ShakeButton.Update();
		this.g_ShakeUp.Update();
	}

	// Token: 0x06000656 RID: 1622 RVA: 0x0000ED98 File Offset: 0x0000CF98
	[Token(Token = "0x6000656")]
	[Address(RVA = "0x183AAD0", Offset = "0x1839AD0", VA = "0x18183AAD0")]
	public void EndStatus(AI_NPC.AIStatus Status)
	{
		if (Status == AI_NPC.AIStatus.Idle)
		{
			this.g_Effect.OpenBodyEffect();
			return;
		}
	}

	// Token: 0x06000657 RID: 1623 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000657")]
	[Address(RVA = "0x183CA60", Offset = "0x183BA60", VA = "0x18183CA60", Slot = "38")]
	public virtual void InitStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000658 RID: 1624 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000658")]
	[Address(RVA = "0x183C490", Offset = "0x183B490", VA = "0x18183C490", Slot = "8")]
	public override void Idle()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000659 RID: 1625 RVA: 0x0000EDBC File Offset: 0x0000CFBC
	[Token(Token = "0x6000659")]
	[Address(RVA = "0x183B930", Offset = "0x183A930", VA = "0x18183B930", Slot = "19")]
	public override void GoHome()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			((MB_IMeshBakerSettings)this).uv2UnwrappingParamsHardAngle = g_fWaitTime;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x0600065A RID: 1626 RVA: 0x0000EDE8 File Offset: 0x0000CFE8
	[Token(Token = "0x600065A")]
	[Address(RVA = "0x15B0200", Offset = "0x15AF200", VA = "0x1815B0200", Slot = "23")]
	public override void Damaged()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x0600065B RID: 1627 RVA: 0x0000EE14 File Offset: 0x0000D014
	[Token(Token = "0x600065B")]
	[Address(RVA = "0x15B0200", Offset = "0x15AF200", VA = "0x1815B0200", Slot = "25")]
	public override void DamagedFly()
	{
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x0600065C RID: 1628 RVA: 0x0000EE40 File Offset: 0x0000D040
	[Token(Token = "0x600065C")]
	[Address(RVA = "0x183AA70", Offset = "0x1839A70", VA = "0x18183AA70", Slot = "27")]
	public override void Death()
	{
		base..ctor();
		float g_fWaitTime = this.g_fWaitTime;
		int num = 0;
		if (g_fWaitTime <= (float)num)
		{
			bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
	}

	// Token: 0x0600065D RID: 1629 RVA: 0x0000EE70 File Offset: 0x0000D070
	[Token(Token = "0x600065D")]
	[Address(RVA = "0x1835C50", Offset = "0x1834C50", VA = "0x181835C50", 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..ctor();
			return;
		}
		this.g_fWaitTime = g_fWaitTime;
		base..ctor();
	}

	// Token: 0x0600065E RID: 1630 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600065E")]
	[Address(RVA = "0x183B480", Offset = "0x183A480", VA = "0x18183B480", Slot = "22")]
	public override void Fighting()
	{
		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 = "0x183C5D0", Offset = "0x183B5D0", VA = "0x18183C5D0")]
	private void InitFightingType(AI_TreasureChestMonster01.AIFighting Type)
	{
		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 = "0x183AFF0", Offset = "0x1839FF0", VA = "0x18183AFF0")]
	private void FightWatch()
	{
		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 = "0x183AB00", Offset = "0x1839B00", VA = "0x18183AB00")]
	private void FightAttack01()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000662 RID: 1634 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000662")]
	[Address(RVA = "0x183ACD0", Offset = "0x1839CD0", VA = "0x18183ACD0")]
	private void FightAttack02()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000663 RID: 1635 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000663")]
	[Address(RVA = "0x183AF80", Offset = "0x1839F80", VA = "0x18183AF80")]
	private void FightMagic01Ready()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000664 RID: 1636 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000664")]
	[Address(RVA = "0x183AEE0", Offset = "0x1839EE0", VA = "0x18183AEE0")]
	private void FightMagic01Fire()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000665 RID: 1637 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000665")]
	[Address(RVA = "0x183B970", Offset = "0x183A970", VA = "0x18183B970", Slot = "33")]
	public override void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000666 RID: 1638 RVA: 0x0000EEB4 File Offset: 0x0000D0B4
	[Token(Token = "0x6000666")]
	[Address(RVA = "0x183D080", Offset = "0x183C080", VA = "0x18183D080", Slot = "30")]
	public override void Resurrection()
	{
		base.Resurrection();
		this.g_bDeath = false;
		bool doUV = ((MB_IMeshBakerSettings)this).doUV7;
	}

	// Token: 0x06000667 RID: 1639 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000667")]
	[Address(RVA = "0x183A950", Offset = "0x1839950", VA = "0x18183A950", Slot = "31")]
	public override void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000668 RID: 1640 RVA: 0x0000EED8 File Offset: 0x0000D0D8
	[Token(Token = "0x6000668")]
	[Address(RVA = "0x183D020", Offset = "0x183C020", VA = "0x18183D020", Slot = "32")]
	public override void Remove()
	{
		base..ctor();
		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: 0x06000669 RID: 1641 RVA: 0x0000EF1C File Offset: 0x0000D11C
	[Token(Token = "0x6000669")]
	[Address(RVA = "0x183D0B0", Offset = "0x183C0B0", VA = "0x18183D0B0", Slot = "35")]
	public override void SetTimeScale(float fTimeScale)
	{
		base.SetTimeScale(fTimeScale);
		this.g_Effect.SetTimeScale(fTimeScale);
	}

	// Token: 0x0600066A RID: 1642 RVA: 0x0000EF44 File Offset: 0x0000D144
	[Token(Token = "0x600066A")]
	[Address(RVA = "0x183D610", Offset = "0x183C610", VA = "0x18183D610")]
	public AI_TreasureChestMonster01()
	{
	}

	// Token: 0x04000789 RID: 1929
	[FieldOffset(Offset = "0x180")]
	[Token(Token = "0x4000789")]
	private TreasureChestMonster01EffectPlay g_Effect;

	// Token: 0x0400078A RID: 1930
	[Token(Token = "0x400078A")]
	private const float g_fAttack01Radius = 3f;

	// Token: 0x0400078B RID: 1931
	[Token(Token = "0x400078B")]
	private const float g_fAttack02Radius = 9f;

	// Token: 0x0400078C RID: 1932
	[FieldOffset(Offset = "0x188")]
	[Token(Token = "0x400078C")]
	private float g_fAttackRadius = 3f;

	// Token: 0x0400078D RID: 1933
	[FieldOffset(Offset = "0x18C")]
	[Token(Token = "0x400078D")]
	protected float g_fAniMoveSpeed;

	// Token: 0x0400078E RID: 1934
	[FieldOffset(Offset = "0x190")]
	[Token(Token = "0x400078E")]
	protected float g_fAniMoveAngle;

	// Token: 0x0400078F RID: 1935
	[FieldOffset(Offset = "0x194")]
	[Token(Token = "0x400078F")]
	protected Vector3 g_v3PreForward;

	// Token: 0x04000790 RID: 1936
	[FieldOffset(Offset = "0x1A0")]
	[Token(Token = "0x4000790")]
	private AI_TreasureChestMonster01.AIFighting g_Fightting;

	// Token: 0x04000791 RID: 1937
	[FieldOffset(Offset = "0x1A4")]
	[Token(Token = "0x4000791")]
	private AI_TreasureChestMonster01.AIFighting g_NextAttack = (AI_TreasureChestMonster01.AIFighting)((ulong)1L);

	// Token: 0x04000792 RID: 1938
	[FieldOffset(Offset = "0x1A8")]
	[Token(Token = "0x4000792")]
	private float g_fAttackMoveTime;

	// Token: 0x04000793 RID: 1939
	[FieldOffset(Offset = "0x1AC")]
	[Token(Token = "0x4000793")]
	private float g_fAttackRotateTime;

	// Token: 0x04000794 RID: 1940
	[FieldOffset(Offset = "0x1B0")]
	[Token(Token = "0x4000794")]
	private float g_fTyrantsTime;

	// Token: 0x04000795 RID: 1941
	[FieldOffset(Offset = "0x1B4")]
	[Token(Token = "0x4000795")]
	private float g_fAttackTime;

	// Token: 0x04000796 RID: 1942
	[FieldOffset(Offset = "0x1B8")]
	[Token(Token = "0x4000796")]
	private float g_fTrackTime;

	// Token: 0x04000797 RID: 1943
	[Token(Token = "0x4000797")]
	private const float g_fGoHomeTime = 3f;

	// Token: 0x04000798 RID: 1944
	[FieldOffset(Offset = "0x1C0")]
	[Token(Token = "0x4000798")]
	private Shake g_ShakeHead;

	// Token: 0x04000799 RID: 1945
	[FieldOffset(Offset = "0x1C8")]
	[Token(Token = "0x4000799")]
	private Shake g_ShakeButton;

	// Token: 0x0400079A RID: 1946
	[FieldOffset(Offset = "0x1D0")]
	[Token(Token = "0x400079A")]
	private Shake g_ShakeUp;

	// Token: 0x0400079B RID: 1947
	[FieldOffset(Offset = "0x1D8")]
	[Token(Token = "0x400079B")]
	private bool g_bCallMonster;

	// Token: 0x02000092 RID: 146
	[Token(Token = "0x2000092")]
	private enum AIFighting
	{
		// Token: 0x0400079D RID: 1949
		[Token(Token = "0x400079D")]
		Watch,
		// Token: 0x0400079E RID: 1950
		[Token(Token = "0x400079E")]
		Attack01,
		// Token: 0x0400079F RID: 1951
		[Token(Token = "0x400079F")]
		Attack02,
		// Token: 0x040007A0 RID: 1952
		[Token(Token = "0x40007A0")]
		Magic01Ready,
		// Token: 0x040007A1 RID: 1953
		[Token(Token = "0x40007A1")]
		Magic01Fire
	}
}
