using System;
using Cpp2IlInjected;
using RootMotion.FinalIK;
using UnityEngine;
using UnityEngine.AI;

// Token: 0x02000083 RID: 131
[Token(Token = "0x2000083")]
public class AI_NPC
{
	// Token: 0x1700002A RID: 42
	// (get) Token: 0x0600055E RID: 1374 RVA: 0x0000D4BC File Offset: 0x0000B6BC
	[Token(Token = "0x1700002A")]
	protected GameSave GameSave
	{
		[Token(Token = "0x600055E")]
		[Address(RVA = "0x16B5110", Offset = "0x16B3F10", VA = "0x1816B5110")]
		get
		{
			return Game.GameSave;
		}
	}

	// Token: 0x0600055F RID: 1375 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600055F")]
	[Address(RVA = "0x16B4000", Offset = "0x16B2E00", VA = "0x1816B4000", Slot = "4")]
	public virtual void Start(GameObject This, NPCManage NPCM)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000560 RID: 1376 RVA: 0x0000D4D0 File Offset: 0x0000B6D0
	[Token(Token = "0x6000560")]
	[Address(RVA = "0x16B4DE0", Offset = "0x16B3BE0", VA = "0x1816B4DE0", Slot = "5")]
	public virtual void Update(float fDeltaTime)
	{
		float stageTimeScale = Game.GetStageTimeScale();
		int num = 0;
		this.g_fTimeScale = stageTimeScale;
		this.g_fDeltaTime = fDeltaTime;
		if (num < (int)fDeltaTime)
		{
			this.NPCNavigation(fDeltaTime);
			MoveController moveController = this.g_Move;
			float num2 = this.g_fDeltaTime;
			moveController.Update(num2);
			bool isSky = this.g_Move.isSky;
			this.g_bIsSky = isSky;
			Transform transform = this.g_Eye;
			int num3 = 0;
			if (transform != num3)
			{
				Transform transform2 = this.g_Eye;
				bool flag = this.FindPlayer(transform2);
				this.g_bSeePlayer = flag;
				if (!flag)
				{
					float num4 = this.g_fNoSeeTime;
					this.g_fNoSeeTime = num4;
				}
				float num5 = this.g_fNoSeeTimeMax;
				this.g_fNoSeeTime = num5;
			}
			LookAtIK lookAtIK = this.g_LookAt;
			int num6 = 0;
			if (lookAtIK != num6)
			{
				float num7 = this.g_fLookAtWeight;
				if (!this.g_bSeePlayer || this.g_bLookAtEnable)
				{
				}
				float num8 = this.g_fDeltaTime;
				float num9 = Mathf.Lerp(num7, 1f, num8);
				this.g_fLookAtWeight = num9;
				this.g_LookAt.solver.SetLookAtWeight(num9);
			}
			if (this.g_NPCM.GetIsBuffCure())
			{
				CharacterBaseData characterBaseData = this.g_CharData;
				float num10 = this.g_fDeltaTime * 15f;
				characterBaseData.HPRecoveryVal(num10);
			}
			this.StatusSwich();
		}
	}

	// Token: 0x06000561 RID: 1377 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000561")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "6")]
	public virtual void LateUpdate()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000562 RID: 1378 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000562")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "7")]
	public virtual void Special()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000563 RID: 1379 RVA: 0x0000D624 File Offset: 0x0000B824
	[Token(Token = "0x6000563")]
	[Address(RVA = "0x16B3210", Offset = "0x16B2010", VA = "0x1816B3210")]
	public void InitIdle()
	{
		float num = this.g_fWalkSpeed;
		this.g_fNavMoveSpeed = num;
		float num2 = UnityEngine.Random.Range(3f, 6f);
		this.g_fWaitTime = num2;
		this.g_bFeelPlayer = false;
		this.g_bNavigation = false;
		this.g_bLookAtEnable = false;
	}

	// Token: 0x06000564 RID: 1380 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000564")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "8")]
	public virtual void Idle()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000565 RID: 1381 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000565")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "9")]
	public virtual void Sky()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000566 RID: 1382 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000566")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "10")]
	public virtual void Land()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000567 RID: 1383 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000567")]
	[Address(RVA = "0x16B3280", Offset = "0x16B2080", VA = "0x1816B3280")]
	public void InitPatrol()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000568 RID: 1384 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000568")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "11")]
	public virtual void Patrol()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000569 RID: 1385 RVA: 0x0000D66C File Offset: 0x0000B86C
	[Token(Token = "0x6000569")]
	[Address(RVA = "0x16B2D90", Offset = "0x16B1B90", VA = "0x1816B2D90")]
	public void InitConfirming()
	{
		this.g_bNavigation = false;
		this.g_bFeelPlayer = false;
		this.g_fConfirming = 0f;
		this.g_fWaitTime = 5f;
		this.g_bLookAtEnable = true;
	}

	// Token: 0x0600056A RID: 1386 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600056A")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "12")]
	public virtual void Confirming()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600056B RID: 1387 RVA: 0x0000D6A4 File Offset: 0x0000B8A4
	[Token(Token = "0x600056B")]
	[Address(RVA = "0x16B34E0", Offset = "0x16B22E0", VA = "0x1816B34E0")]
	public void InitTrack()
	{
		float num = this.g_fRunSpeed;
		this.g_fNavMoveSpeed = num;
		float z = this.g_v3SeePlayerPos.z;
		this.g_v3NavTarget.z = z;
		this.g_bFeelPlayer = true;
		this.g_bNavigation = true;
		this.g_bLookAtEnable = true;
		this.g_fWaitTime = 30f;
	}

	// Token: 0x0600056C RID: 1388 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600056C")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "13")]
	public virtual void Track()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600056D RID: 1389 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600056D")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "14")]
	public virtual void Escape()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600056E RID: 1390 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600056E")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "15")]
	public virtual void Dodge()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600056F RID: 1391 RVA: 0x0000D6F8 File Offset: 0x0000B8F8
	[Token(Token = "0x600056F")]
	[Address(RVA = "0x16B3260", Offset = "0x16B2060", VA = "0x1816B3260")]
	public void InitLookFor()
	{
		this.g_bNavigation = false;
		this.g_bFeelPlayer = true;
		this.g_fWaitTime = 5f;
		this.g_bLookAtEnable = false;
	}

	// Token: 0x06000570 RID: 1392 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000570")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "16")]
	public virtual void LookFor()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000571 RID: 1393 RVA: 0x0000D728 File Offset: 0x0000B928
	[Token(Token = "0x6000571")]
	[Address(RVA = "0x16B3520", Offset = "0x16B2320", VA = "0x1816B3520")]
	public void InitTurnPlayer()
	{
		this.g_bNavigation = false;
		this.g_bFeelPlayer = true;
		this.g_fWaitTime = 3f;
		this.g_bLookAtEnable = true;
	}

	// Token: 0x06000572 RID: 1394 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000572")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "17")]
	public virtual void TurnPlayer()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000573 RID: 1395 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000573")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "18")]
	public virtual void Prediction()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000574 RID: 1396 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000574")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "19")]
	public virtual void GoHome()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000575 RID: 1397 RVA: 0x0000D758 File Offset: 0x0000B958
	[Token(Token = "0x6000575")]
	[Address(RVA = "0x16B31D0", Offset = "0x16B1FD0", VA = "0x1816B31D0")]
	public void InitHear()
	{
		float num = this.g_fSoundSize;
		this.g_fWaitTime = num;
		this.g_bNavigation = false;
		this.g_bFeelPlayer = false;
		this.g_bLookAtEnable = false;
	}

	// Token: 0x06000576 RID: 1398 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000576")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "20")]
	public virtual void Hear()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000577 RID: 1399 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000577")]
	[Address(RVA = "0x16B30F0", Offset = "0x16B1EF0", VA = "0x1816B30F0")]
	public void InitHearCheck()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000578 RID: 1400 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000578")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "21")]
	public virtual void HearCheck()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000579 RID: 1401 RVA: 0x0000D788 File Offset: 0x0000B988
	[Token(Token = "0x6000579")]
	[Address(RVA = "0x16B30D0", Offset = "0x16B1ED0", VA = "0x1816B30D0")]
	public void InitFighting()
	{
		this.g_bNavigation = false;
		this.g_bFeelPlayer = true;
		this.g_bLookAtEnable = true;
	}

	// Token: 0x0600057A RID: 1402 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600057A")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "22")]
	public virtual void Fighting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600057B RID: 1403 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600057B")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "23")]
	public virtual void Damaged()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600057C RID: 1404 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600057C")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "24")]
	public virtual void DamagedDown()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600057D RID: 1405 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600057D")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "25")]
	public virtual void DamagedFly()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600057E RID: 1406 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600057E")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "26")]
	public virtual void GetUp()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600057F RID: 1407 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600057F")]
	[Address(RVA = "0x16B2DC0", Offset = "0x16B1BC0", VA = "0x1816B2DC0")]
	public void InitDeath()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000580 RID: 1408 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000580")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "27")]
	public virtual void Death()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000581 RID: 1409 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000581")]
	[Address(RVA = "0x16B2F60", Offset = "0x16B1D60", VA = "0x1816B2F60")]
	public void InitDestory()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000582 RID: 1410 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000582")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "28")]
	public virtual void Destroy()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000583 RID: 1411 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000583")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "29")]
	public virtual void ResurrectionStatus()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000584 RID: 1412 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000584")]
	[Address(RVA = "0x16B4BD0", Offset = "0x16B39D0", VA = "0x1816B4BD0")]
	protected void StatusSwich()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000585 RID: 1413 RVA: 0x0000D7AC File Offset: 0x0000B9AC
	[Token(Token = "0x6000585")]
	[Address(RVA = "0x16B3F90", Offset = "0x16B2D90", VA = "0x1816B3F90", Slot = "30")]
	public virtual void Resurrection()
	{
		this.g_bDeath = false;
	}

	// Token: 0x06000586 RID: 1414 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000586")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "31")]
	public virtual void Create()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000587 RID: 1415 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000587")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "32")]
	public virtual void Remove()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000588 RID: 1416 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000588")]
	[Address(RVA = "0x16B2540", Offset = "0x16B1340", VA = "0x1816B2540")]
	protected bool FindPlayer(Transform faceFront)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000589 RID: 1417 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000589")]
	[Address(RVA = "0x16B3540", Offset = "0x16B2340", VA = "0x1816B3540")]
	protected void NPCNavigation(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600058A RID: 1418 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600058A")]
	[Address(RVA = "0x16B3A50", Offset = "0x16B2850", VA = "0x1816B3A50")]
	protected void NPCNavigation()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600058B RID: 1419 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600058B")]
	[Address(RVA = "0xBD6640", Offset = "0xBD5440", VA = "0x180BD6640")]
	protected Vector3 SetYZero(Vector3 Val)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600058C RID: 1420 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600058C")]
	[Address(RVA = "0x16B2C10", Offset = "0x16B1A10", VA = "0x1816B2C10", Slot = "33")]
	public virtual void Hit(AttackData Data)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600058D RID: 1421 RVA: 0x0000D7C0 File Offset: 0x0000B9C0
	[Token(Token = "0x600058D")]
	[Address(RVA = "0x16B3F30", Offset = "0x16B2D30", VA = "0x1816B3F30", Slot = "34")]
	public virtual void ReceiveSound(Vector3 v3Source, float fSize, SceneManager.SoundWaveType SoundType)
	{
		if (!this.g_WM.g_bStealth && this.g_fSoundSize <= fSize)
		{
			float z = v3Source.z;
			this.g_v3HearPoint.z = z;
			this.g_fSoundSize = fSize;
			if (fSize > 5f)
			{
				this.g_bHearCheck = true;
			}
		}
	}

	// Token: 0x0600058E RID: 1422 RVA: 0x0000D814 File Offset: 0x0000BA14
	[Token(Token = "0x600058E")]
	[Address(RVA = "0x16B3FD0", Offset = "0x16B2DD0", VA = "0x1816B3FD0", Slot = "35")]
	public virtual void SetTimeScale(float fTimeScale)
	{
		this.g_Anim.speed = fTimeScale;
	}

	// Token: 0x0600058F RID: 1423 RVA: 0x0000D834 File Offset: 0x0000BA34
	[Token(Token = "0x600058F")]
	[Address(RVA = "0x38D510", Offset = "0x38C310", VA = "0x18038D510")]
	public AI_NPC.AIStatus GetStatus()
	{
		return this.g_Status;
	}

	// Token: 0x06000590 RID: 1424 RVA: 0x0000D848 File Offset: 0x0000BA48
	[Token(Token = "0x6000590")]
	[Address(RVA = "0x3190C0", Offset = "0x317EC0", VA = "0x1803190C0")]
	public Transform GetHpPosition()
	{
		return this.hpPosition;
	}

	// Token: 0x06000591 RID: 1425 RVA: 0x0000D85C File Offset: 0x0000BA5C
	[Token(Token = "0x6000591")]
	[Address(RVA = "0x4593A0", Offset = "0x4581A0", VA = "0x1804593A0")]
	public MoveController GetMove()
	{
		return this.g_Move;
	}

	// Token: 0x06000592 RID: 1426 RVA: 0x0000D870 File Offset: 0x0000BA70
	[Token(Token = "0x6000592")]
	[Address(RVA = "0x384E30", Offset = "0x383C30", VA = "0x180384E30")]
	public void SetPatrolPath(EnemyPatrolPath EPP)
	{
		/*
An exception occurred when decompiling this method (06000592)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void AI_NPC::SetPatrolPath(EnemyPatrolPath)

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stfld:EnemyPatrolPath(AI_NPC::g_PatrolPath, ldloc:AI_NPC(this), ldloc:EnemyPatrolPath(EPP)); }; 
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 344
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
   --- End of inner exception stack trace ---
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
   at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618
*/;
	}

	// Token: 0x06000593 RID: 1427 RVA: 0x0000D884 File Offset: 0x0000BA84
	[Token(Token = "0x6000593")]
	[Address(RVA = "0x16B3FB0", Offset = "0x16B2DB0", VA = "0x1816B3FB0")]
	public void SetHearEnable(bool bHearEnable)
	{
		this.g_bHearEnable = bHearEnable;
	}

	// Token: 0x06000594 RID: 1428 RVA: 0x0000D898 File Offset: 0x0000BA98
	[Token(Token = "0x6000594")]
	[Address(RVA = "0x16B3FC0", Offset = "0x16B2DC0", VA = "0x1816B3FC0")]
	public void SetMoveEnable(bool bMoveEnable)
	{
		this.g_bMoveEnable = bMoveEnable;
	}

	// Token: 0x06000595 RID: 1429 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000595")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "36")]
	public virtual void SetAiStatus(AI_NPC.AIStatus Status)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000596 RID: 1430 RVA: 0x0000D8AC File Offset: 0x0000BAAC
	[Token(Token = "0x6000596")]
	[Address(RVA = "0x388BB0", Offset = "0x3879B0", VA = "0x180388BB0")]
	public Transform GetEye()
	{
		return this.g_Eye;
	}

	// Token: 0x06000597 RID: 1431 RVA: 0x0000D8C0 File Offset: 0x0000BAC0
	[Token(Token = "0x6000597")]
	[Address(RVA = "0x16B24D0", Offset = "0x16B12D0", VA = "0x1816B24D0")]
	public void AniCrossFade(string sAnimationName, float fBlendTime = 0.05f)
	{
		this.g_Anim.CrossFade(sAnimationName, fBlendTime);
	}

	// Token: 0x06000598 RID: 1432 RVA: 0x0000D8E0 File Offset: 0x0000BAE0
	[Token(Token = "0x6000598")]
	[Address(RVA = "0x16B2970", Offset = "0x16B1770", VA = "0x1816B2970")]
	public bool GetIsDeath()
	{
		return this.g_bDeath;
	}

	// Token: 0x06000599 RID: 1433 RVA: 0x0000D8F4 File Offset: 0x0000BAF4
	[Token(Token = "0x6000599")]
	[Address(RVA = "0x16B3F90", Offset = "0x16B2D90", VA = "0x1816B3F90")]
	public void ResetDeath()
	{
		this.g_bDeath = false;
	}

	// Token: 0x0600059A RID: 1434 RVA: 0x0000D908 File Offset: 0x0000BB08
	[Token(Token = "0x600059A")]
	[Address(RVA = "0x16B3FA0", Offset = "0x16B2DA0", VA = "0x1816B3FA0")]
	public void SetDeath()
	{
		this.g_bDeath = true;
	}

	// Token: 0x0600059B RID: 1435 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600059B")]
	[Address(RVA = "0x16B2980", Offset = "0x16B1780", VA = "0x1816B2980")]
	protected Vector3 GetNavMoveDirection()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600059C RID: 1436 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600059C")]
	[Address(RVA = "0x16B2B20", Offset = "0x16B1920", VA = "0x1816B2B20")]
	protected Vector3 GetNavMovePos()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600059D RID: 1437 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600059D")]
	[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "37")]
	public virtual void SetSpeakLayerWeight(bool bEnable, string Name = "")
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600059E RID: 1438 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600059E")]
	[Address(RVA = "0x16B2500", Offset = "0x16B1300", VA = "0x1816B2500")]
	public void Dispose()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600059F RID: 1439 RVA: 0x0000D91C File Offset: 0x0000BB1C
	[Token(Token = "0x600059F")]
	[Address(RVA = "0x16B5010", Offset = "0x16B3E10", VA = "0x1816B5010")]
	public AI_NPC()
	{
		float z = Vector3.zero.z;
		this.g_v3SeePlayerPos.z = z;
		this.g_fDragRotation = 0.4f;
		this.g_fGravity = 15f;
		this.g_fWalkSpeed = 1.5f;
		this.g_fRunSpeed = 4f;
		this.g_fDashSpeed = 6f;
		this.g_bNavigationSystem = true;
		float z2 = Vector3.zero.z;
		this.g_v3NavTarget.z = z2;
		float z3 = Vector3.zero.z;
		this.g_v3NavMoveSeeDirection.z = z3;
		this.g_iPathIndex = (int)((ulong)4294967295L);
		this.g_fNavUpdateTime = 1f;
		this.g_fNoSeeTimeMax = 30f;
		this.g_bHearEnable = true;
		this.LateUpdate();
	}

	// Token: 0x04000644 RID: 1604
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4000644")]
	protected NPCManage g_NPCM;

	// Token: 0x04000645 RID: 1605
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4000645")]
	protected GameObject g_This;

	// Token: 0x04000646 RID: 1606
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4000646")]
	protected float g_fVisionDistance = 12f;

	// Token: 0x04000647 RID: 1607
	[FieldOffset(Offset = "0x24")]
	[Token(Token = "0x4000647")]
	protected float g_fVisionAngle = 70f;

	// Token: 0x04000648 RID: 1608
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4000648")]
	protected Vector3 g_v3OriginPoint;

	// Token: 0x04000649 RID: 1609
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4000649")]
	protected WizardGirlManage g_WM;

	// Token: 0x0400064A RID: 1610
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x400064A")]
	protected Transform g_Player;

	// Token: 0x0400064B RID: 1611
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x400064B")]
	protected bool g_bSeePlayer;

	// Token: 0x0400064C RID: 1612
	[FieldOffset(Offset = "0x4C")]
	[Token(Token = "0x400064C")]
	protected float g_fConfirming;

	// Token: 0x0400064D RID: 1613
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x400064D")]
	protected float g_fConfirmAdd = 0.2f;

	// Token: 0x0400064E RID: 1614
	[FieldOffset(Offset = "0x54")]
	[Token(Token = "0x400064E")]
	protected float g_fConfirmLess = 0.5f;

	// Token: 0x0400064F RID: 1615
	[FieldOffset(Offset = "0x58")]
	[Token(Token = "0x400064F")]
	protected bool g_bFeelPlayer;

	// Token: 0x04000650 RID: 1616
	[FieldOffset(Offset = "0x5C")]
	[Token(Token = "0x4000650")]
	protected float g_fPlayerDistance;

	// Token: 0x04000651 RID: 1617
	[FieldOffset(Offset = "0x60")]
	[Token(Token = "0x4000651")]
	protected Vector3 g_v3PlayerDirection;

	// Token: 0x04000652 RID: 1618
	[FieldOffset(Offset = "0x6C")]
	[Token(Token = "0x4000652")]
	protected Vector3 g_v3SeePlayerPos;

	// Token: 0x04000653 RID: 1619
	[FieldOffset(Offset = "0x78")]
	[Token(Token = "0x4000653")]
	protected Vector3 g_v3HearPoint;

	// Token: 0x04000654 RID: 1620
	[FieldOffset(Offset = "0x84")]
	[Token(Token = "0x4000654")]
	protected float g_fSoundSize;

	// Token: 0x04000655 RID: 1621
	[FieldOffset(Offset = "0x88")]
	[Token(Token = "0x4000655")]
	protected bool g_bHearCheck;

	// Token: 0x04000656 RID: 1622
	[FieldOffset(Offset = "0x90")]
	[Token(Token = "0x4000656")]
	protected MoveController g_Move;

	// Token: 0x04000657 RID: 1623
	[FieldOffset(Offset = "0x98")]
	[Token(Token = "0x4000657")]
	protected float g_fDragRotation;

	// Token: 0x04000658 RID: 1624
	[FieldOffset(Offset = "0x9C")]
	[Token(Token = "0x4000658")]
	protected float g_fGravity;

	// Token: 0x04000659 RID: 1625
	[FieldOffset(Offset = "0xA0")]
	[Token(Token = "0x4000659")]
	protected float g_fWalkSpeed;

	// Token: 0x0400065A RID: 1626
	[FieldOffset(Offset = "0xA4")]
	[Token(Token = "0x400065A")]
	protected float g_fRunSpeed;

	// Token: 0x0400065B RID: 1627
	[FieldOffset(Offset = "0xA8")]
	[Token(Token = "0x400065B")]
	protected float g_fDashSpeed;

	// Token: 0x0400065C RID: 1628
	[FieldOffset(Offset = "0xAC")]
	[Token(Token = "0x400065C")]
	protected float g_fHitStr;

	// Token: 0x0400065D RID: 1629
	[FieldOffset(Offset = "0xB0")]
	[Token(Token = "0x400065D")]
	protected AttackData.AttackDirection g_AttackDirection;

	// Token: 0x0400065E RID: 1630
	[FieldOffset(Offset = "0xB4")]
	[Token(Token = "0x400065E")]
	protected Vector3 g_v3HitSourceDir;

	// Token: 0x0400065F RID: 1631
	[FieldOffset(Offset = "0xC0")]
	[Token(Token = "0x400065F")]
	protected float g_fInitialRepulse;

	// Token: 0x04000660 RID: 1632
	[FieldOffset(Offset = "0xC4")]
	[Token(Token = "0x4000660")]
	protected float g_fRepulse;

	// Token: 0x04000661 RID: 1633
	[FieldOffset(Offset = "0xC8")]
	[Token(Token = "0x4000661")]
	protected bool g_bNavigationSystem;

	// Token: 0x04000662 RID: 1634
	[FieldOffset(Offset = "0xC9")]
	[Token(Token = "0x4000662")]
	protected bool g_bNavigation;

	// Token: 0x04000663 RID: 1635
	[FieldOffset(Offset = "0xCA")]
	[Token(Token = "0x4000663")]
	protected bool g_bNavigationPath;

	// Token: 0x04000664 RID: 1636
	[FieldOffset(Offset = "0xCC")]
	[Token(Token = "0x4000664")]
	protected Vector3 g_v3NavTarget;

	// Token: 0x04000665 RID: 1637
	[FieldOffset(Offset = "0xD8")]
	[Token(Token = "0x4000665")]
	protected float g_fNavMoveSpeed;

	// Token: 0x04000666 RID: 1638
	[FieldOffset(Offset = "0xDC")]
	[Token(Token = "0x4000666")]
	protected Vector3 g_v3NavMoveSeeDirection;

	// Token: 0x04000667 RID: 1639
	[FieldOffset(Offset = "0xE8")]
	[Token(Token = "0x4000667")]
	private NavMeshPath g_NavPath;

	// Token: 0x04000668 RID: 1640
	[FieldOffset(Offset = "0xF0")]
	[Token(Token = "0x4000668")]
	private int g_iPathIndex;

	// Token: 0x04000669 RID: 1641
	[FieldOffset(Offset = "0xF4")]
	[Token(Token = "0x4000669")]
	private float g_fNavUpdateTime;

	// Token: 0x0400066A RID: 1642
	[FieldOffset(Offset = "0xF8")]
	[Token(Token = "0x400066A")]
	private float g_fNavUpdate;

	// Token: 0x0400066B RID: 1643
	[FieldOffset(Offset = "0x100")]
	[Token(Token = "0x400066B")]
	protected EnemyPatrolPath g_PatrolPath;

	// Token: 0x0400066C RID: 1644
	[FieldOffset(Offset = "0x108")]
	[Token(Token = "0x400066C")]
	protected int g_iPatrolPathIndex;

	// Token: 0x0400066D RID: 1645
	[FieldOffset(Offset = "0x10C")]
	[Token(Token = "0x400066D")]
	protected float g_fRandomPatrolRadius;

	// Token: 0x0400066E RID: 1646
	[FieldOffset(Offset = "0x110")]
	[Token(Token = "0x400066E")]
	protected Transform g_Eye;

	// Token: 0x0400066F RID: 1647
	[FieldOffset(Offset = "0x118")]
	[Token(Token = "0x400066F")]
	private LayerMask g_SeeMask;

	// Token: 0x04000670 RID: 1648
	[FieldOffset(Offset = "0x120")]
	[Token(Token = "0x4000670")]
	protected LookAtIK g_LookAt;

	// Token: 0x04000671 RID: 1649
	[FieldOffset(Offset = "0x128")]
	[Token(Token = "0x4000671")]
	protected bool g_bLookAtEnable;

	// Token: 0x04000672 RID: 1650
	[FieldOffset(Offset = "0x12C")]
	[Token(Token = "0x4000672")]
	protected float g_fLookAtWeight;

	// Token: 0x04000673 RID: 1651
	[FieldOffset(Offset = "0x130")]
	[Token(Token = "0x4000673")]
	protected float g_fNoSeeTime;

	// Token: 0x04000674 RID: 1652
	[FieldOffset(Offset = "0x134")]
	[Token(Token = "0x4000674")]
	protected float g_fNoSeeTimeMax;

	// Token: 0x04000675 RID: 1653
	[FieldOffset(Offset = "0x138")]
	[Token(Token = "0x4000675")]
	protected Animator g_Anim;

	// Token: 0x04000676 RID: 1654
	[FieldOffset(Offset = "0x140")]
	[Token(Token = "0x4000676")]
	protected Transform hpPosition;

	// Token: 0x04000677 RID: 1655
	[FieldOffset(Offset = "0x148")]
	[Token(Token = "0x4000677")]
	protected CharacterBaseData g_CharData;

	// Token: 0x04000678 RID: 1656
	[FieldOffset(Offset = "0x150")]
	[Token(Token = "0x4000678")]
	protected AI_NPC.AIStatus g_Status;

	// Token: 0x04000679 RID: 1657
	[FieldOffset(Offset = "0x154")]
	[Token(Token = "0x4000679")]
	protected float g_fWaitTime;

	// Token: 0x0400067A RID: 1658
	[FieldOffset(Offset = "0x158")]
	[Token(Token = "0x400067A")]
	protected bool g_bIsSky;

	// Token: 0x0400067B RID: 1659
	[FieldOffset(Offset = "0x15C")]
	[Token(Token = "0x400067B")]
	protected float g_fTimeScale;

	// Token: 0x0400067C RID: 1660
	[FieldOffset(Offset = "0x160")]
	[Token(Token = "0x400067C")]
	protected float g_fDeltaTime;

	// Token: 0x0400067D RID: 1661
	[FieldOffset(Offset = "0x164")]
	[Token(Token = "0x400067D")]
	protected bool g_bHearEnable;

	// Token: 0x0400067E RID: 1662
	[FieldOffset(Offset = "0x165")]
	[Token(Token = "0x400067E")]
	protected bool g_bMoveEnable;

	// Token: 0x0400067F RID: 1663
	[FieldOffset(Offset = "0x166")]
	[Token(Token = "0x400067F")]
	protected bool g_bDeath;

	// Token: 0x04000680 RID: 1664
	[FieldOffset(Offset = "0x168")]
	[Token(Token = "0x4000680")]
	private RaycastJob raycastJob;

	// Token: 0x02000084 RID: 132
	[Token(Token = "0x2000084")]
	public enum AIStatus
	{
		// Token: 0x04000682 RID: 1666
		[Token(Token = "0x4000682")]
		Idle,
		// Token: 0x04000683 RID: 1667
		[Token(Token = "0x4000683")]
		Sky,
		// Token: 0x04000684 RID: 1668
		[Token(Token = "0x4000684")]
		Patrol,
		// Token: 0x04000685 RID: 1669
		[Token(Token = "0x4000685")]
		Confirming,
		// Token: 0x04000686 RID: 1670
		[Token(Token = "0x4000686")]
		Track,
		// Token: 0x04000687 RID: 1671
		[Token(Token = "0x4000687")]
		Escape,
		// Token: 0x04000688 RID: 1672
		[Token(Token = "0x4000688")]
		Dodge,
		// Token: 0x04000689 RID: 1673
		[Token(Token = "0x4000689")]
		LookFor,
		// Token: 0x0400068A RID: 1674
		[Token(Token = "0x400068A")]
		Hear,
		// Token: 0x0400068B RID: 1675
		[Token(Token = "0x400068B")]
		HearCheck,
		// Token: 0x0400068C RID: 1676
		[Token(Token = "0x400068C")]
		TurnPlayer,
		// Token: 0x0400068D RID: 1677
		[Token(Token = "0x400068D")]
		Prediction,
		// Token: 0x0400068E RID: 1678
		[Token(Token = "0x400068E")]
		GoHome,
		// Token: 0x0400068F RID: 1679
		[Token(Token = "0x400068F")]
		Damaged,
		// Token: 0x04000690 RID: 1680
		[Token(Token = "0x4000690")]
		DamagedDown,
		// Token: 0x04000691 RID: 1681
		[Token(Token = "0x4000691")]
		DamagedFly,
		// Token: 0x04000692 RID: 1682
		[Token(Token = "0x4000692")]
		GetUp,
		// Token: 0x04000693 RID: 1683
		[Token(Token = "0x4000693")]
		Fighting,
		// Token: 0x04000694 RID: 1684
		[Token(Token = "0x4000694")]
		Death,
		// Token: 0x04000695 RID: 1685
		[Token(Token = "0x4000695")]
		Destroy,
		// Token: 0x04000696 RID: 1686
		[Token(Token = "0x4000696")]
		Special,
		// Token: 0x04000697 RID: 1687
		[Token(Token = "0x4000697")]
		ResurrectionStatus,
		// Token: 0x04000698 RID: 1688
		[Token(Token = "0x4000698")]
		Land
	}
}
