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

// Token: 0x020000BA RID: 186
[Token(Token = "0x20000BA")]
public class NPC : MonoBehaviour
{
	// Token: 0x060007E4 RID: 2020 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007E4")]
	[Address(RVA = "0xC3FDF0", Offset = "0xC3EDF0", VA = "0x180C3FDF0", Slot = "4")]
	public virtual void Init()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007E5 RID: 2021 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007E5")]
	[Address(RVA = "0xC40FB0", Offset = "0xC3FFB0", VA = "0x180C40FB0", Slot = "5")]
	protected virtual void OnEnable()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007E6 RID: 2022 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007E6")]
	[Address(RVA = "0xC416E0", Offset = "0xC406E0", VA = "0x180C416E0", Slot = "6")]
	protected virtual void Update()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007E7 RID: 2023 RVA: 0x000116A8 File Offset: 0x0000F8A8
	[Token(Token = "0x60007E7")]
	[Address(RVA = "0xC40EC0", Offset = "0xC3FEC0", VA = "0x180C40EC0", Slot = "7")]
	protected virtual void OnDisable()
	{
		if (base.CompareTag("NPC"))
		{
			Game.sceneManager.RemoveNpc(this);
			return;
		}
	}

	// Token: 0x060007E8 RID: 2024 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007E8")]
	[Address(RVA = "0xC3FBF0", Offset = "0xC3EBF0", VA = "0x180C3FBF0", Slot = "8")]
	public virtual void CrossFade(string AniName, float fBlenderTime = 0.05f)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007E9 RID: 2025 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007E9")]
	[Address(RVA = "0xC3FCF0", Offset = "0xC3ECF0", VA = "0x180C3FCF0", Slot = "9")]
	public virtual void FaceCrossFade(string AniName, float fBlenderTime = 0.05f)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007EA RID: 2026 RVA: 0x000116D8 File Offset: 0x0000F8D8
	[Token(Token = "0x60007EA")]
	[Address(RVA = "0xC41280", Offset = "0xC40280", VA = "0x180C41280", Slot = "10")]
	public virtual void SetLookAtTarget(Transform Target, float Speed = 1f)
	{
		LookAtIK lookAtIK = this.g_LookAt;
		this.g_fLookAtSpeed = Speed;
		int num = 0;
		if (!(lookAtIK == num))
		{
			this.g_LookAtTargetSet = Target;
			int num2 = 0;
			bool flag = Target != num2;
			this.g_bLookAtEnable = flag;
		}
		this.g_bLookAtEnable = false;
		this.g_LookAtTargetSet = (ulong)0L;
	}

	// Token: 0x060007EB RID: 2027 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007EB")]
	[Address(RVA = "0xC41410", Offset = "0xC40410", VA = "0x180C41410", Slot = "11")]
	public virtual void SetMoveTargetWalk(Vector3 v3Target)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007EC RID: 2028 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007EC")]
	[Address(RVA = "0xC414B0", Offset = "0xC404B0", VA = "0x180C414B0", Slot = "12")]
	public virtual void SetMoveTarget(Vector3 v3Target, float fMoveSpeed)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007ED RID: 2029 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007ED")]
	[Address(RVA = "0xC41370", Offset = "0xC40370", VA = "0x180C41370", Slot = "13")]
	public virtual void SetMoveTargetRun(Vector3 v3Target)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007EE RID: 2030 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007EE")]
	[Address(RVA = "0xC41620", Offset = "0xC40620", VA = "0x180C41620", Slot = "14")]
	public virtual void SetTurnTarget(Vector3 v3Target)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007EF RID: 2031 RVA: 0x00011730 File Offset: 0x0000F930
	[Token(Token = "0x60007EF")]
	[Address(RVA = "0xC410A0", Offset = "0xC400A0", VA = "0x180C410A0", Slot = "15")]
	public virtual void SetDialogueEvent(LoadScript Event)
	{
		Dialogue dialogue = this.g_Dialog;
		int num = 0;
		if (dialogue != num)
		{
			int num2 = 0;
			bool flag = Event == num2;
			Dialogue dialogue2 = this.g_Dialog;
			if (flag)
			{
				GameObject gameObject = dialogue.gameObject;
				int num3 = 0;
				gameObject.SetActive(num3 != 0);
				return;
			}
			ulong num4;
			dialogue2.gameObject.SetActive(num4 != 0UL);
			this.g_Dialog.DialogueEvent = Event;
		}
	}

	// Token: 0x060007F0 RID: 2032 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007F0")]
	[Address(RVA = "0xC408F0", Offset = "0xC3F8F0", VA = "0x180C408F0")]
	protected void NPCNavigation(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007F1 RID: 2033 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007F1")]
	[Address(RVA = "0xC40350", Offset = "0xC3F350", VA = "0x180C40350")]
	protected void NPCNavigation()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007F2 RID: 2034 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007F2")]
	[Address(RVA = "0xC416B0", Offset = "0xC406B0", VA = "0x180C416B0")]
	protected Vector3 SetYZero(Vector3 Val)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007F3 RID: 2035 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007F3")]
	[Address(RVA = "0xC41560", Offset = "0xC40560", VA = "0x180C41560", Slot = "16")]
	public virtual void SetRimColor(Color Col)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007F4 RID: 2036 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007F4")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "17")]
	public virtual void SetShadowSwitch(float value)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007F5 RID: 2037 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60007F5")]
	[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "18")]
	public virtual void SetSpeakLayerWeight(bool bEnable, string Name = "")
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060007F6 RID: 2038 RVA: 0x0001179C File Offset: 0x0000F99C
	[Token(Token = "0x60007F6")]
	[Address(RVA = "0xC41580", Offset = "0xC40580", VA = "0x180C41580", Slot = "19")]
	public virtual void SetTimeScale(float fTimeScale)
	{
		Animator animator = this.g_Ani;
		this.g_fTimeScale = fTimeScale;
		int num = 0;
		if (animator != num)
		{
			Animator animator2 = this.g_Ani;
			float num2 = this.g_fTimeScale;
			animator2.speed = num2;
		}
	}

	// Token: 0x060007F7 RID: 2039 RVA: 0x000117E0 File Offset: 0x0000F9E0
	[Token(Token = "0x60007F7")]
	[Address(RVA = "0xC411C0", Offset = "0xC401C0", VA = "0x180C411C0", Slot = "20")]
	public virtual void SetEnable(bool bEnable)
	{
		CharacterController controller = this.g_Move.controller;
		int num = 0;
		if (controller != num)
		{
			MoveController moveController = this.g_Move;
			int num2 = 0;
			moveController.moveSpeed = (float)num2;
			moveController.inputSpeed = (float)num2;
		}
		base.gameObject.SetActive(bEnable);
	}

	// Token: 0x060007F8 RID: 2040 RVA: 0x00011830 File Offset: 0x0000FA30
	[Token(Token = "0x60007F8")]
	[Address(RVA = "0xC36570", Offset = "0xC35570", VA = "0x180C36570", Slot = "21")]
	public virtual void SetAnimationWeight(float fWeight)
	{
		this.g_fAniWeightSet = fWeight;
	}

	// Token: 0x060007F9 RID: 2041 RVA: 0x00011844 File Offset: 0x0000FA44
	[Token(Token = "0x60007F9")]
	[Address(RVA = "0xC41F00", Offset = "0xC40F00", VA = "0x180C41F00")]
	public NPC()
	{
		float z = Vector3.zero.z;
		this.g_v3NavTarget.z = z;
		float z2 = Vector3.zero.z;
		this.g_v3NavMoveSeeDirection.z = z2;
		this.g_iPathIndex = (int)((ulong)4294967295L);
		this.g_fNavUpdateTime = 1f;
		this.g_fTimeScale = 1f;
		base..ctor();
	}

	// Token: 0x040008B0 RID: 2224
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x40008B0")]
	protected Animator g_Ani;

	// Token: 0x040008B1 RID: 2225
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x40008B1")]
	protected float g_fAniMoveSpeed;

	// Token: 0x040008B2 RID: 2226
	[FieldOffset(Offset = "0x24")]
	[Token(Token = "0x40008B2")]
	protected float g_fAniRotateSpeed;

	// Token: 0x040008B3 RID: 2227
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x40008B3")]
	protected Vector3 g_v3PreForward;

	// Token: 0x040008B4 RID: 2228
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x40008B4")]
	protected LookAtIK g_LookAt;

	// Token: 0x040008B5 RID: 2229
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x40008B5")]
	protected Transform g_LookAtTarget;

	// Token: 0x040008B6 RID: 2230
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x40008B6")]
	protected Transform g_LookAtTargetSet;

	// Token: 0x040008B7 RID: 2231
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x40008B7")]
	protected bool g_bLookAtEnable;

	// Token: 0x040008B8 RID: 2232
	[FieldOffset(Offset = "0x54")]
	[Token(Token = "0x40008B8")]
	protected float g_fLookAtWeight;

	// Token: 0x040008B9 RID: 2233
	[FieldOffset(Offset = "0x58")]
	[Token(Token = "0x40008B9")]
	protected float g_fLookAtSpeed = 1f;

	// Token: 0x040008BA RID: 2234
	[FieldOffset(Offset = "0x60")]
	[Token(Token = "0x40008BA")]
	protected MoveController g_Move;

	// Token: 0x040008BB RID: 2235
	[FieldOffset(Offset = "0x68")]
	[Token(Token = "0x40008BB")]
	protected float g_fWalkSpeed = 0.5f;

	// Token: 0x040008BC RID: 2236
	[FieldOffset(Offset = "0x6C")]
	[Token(Token = "0x40008BC")]
	protected float g_fRunSpeed = 8f;

	// Token: 0x040008BD RID: 2237
	[FieldOffset(Offset = "0x70")]
	[Token(Token = "0x40008BD")]
	protected float g_fAniWeight;

	// Token: 0x040008BE RID: 2238
	[FieldOffset(Offset = "0x74")]
	[Token(Token = "0x40008BE")]
	protected float g_fAniWeightSet;

	// Token: 0x040008BF RID: 2239
	[FieldOffset(Offset = "0x78")]
	[Token(Token = "0x40008BF")]
	protected bool g_bNavigationSystem = true;

	// Token: 0x040008C0 RID: 2240
	[FieldOffset(Offset = "0x79")]
	[Token(Token = "0x40008C0")]
	protected bool g_bNavigation;

	// Token: 0x040008C1 RID: 2241
	[FieldOffset(Offset = "0x7A")]
	[Token(Token = "0x40008C1")]
	protected bool g_bNavigationPath;

	// Token: 0x040008C2 RID: 2242
	[FieldOffset(Offset = "0x7C")]
	[Token(Token = "0x40008C2")]
	protected Vector3 g_v3NavTarget;

	// Token: 0x040008C3 RID: 2243
	[FieldOffset(Offset = "0x88")]
	[Token(Token = "0x40008C3")]
	protected float g_fNavMoveSpeed;

	// Token: 0x040008C4 RID: 2244
	[FieldOffset(Offset = "0x8C")]
	[Token(Token = "0x40008C4")]
	protected Vector3 g_v3NavMoveSeeDirection;

	// Token: 0x040008C5 RID: 2245
	[FieldOffset(Offset = "0x98")]
	[Token(Token = "0x40008C5")]
	protected NavMeshPath g_NavPath;

	// Token: 0x040008C6 RID: 2246
	[FieldOffset(Offset = "0xA0")]
	[Token(Token = "0x40008C6")]
	private int g_iPathIndex;

	// Token: 0x040008C7 RID: 2247
	[FieldOffset(Offset = "0xA4")]
	[Token(Token = "0x40008C7")]
	private float g_fNavUpdateTime;

	// Token: 0x040008C8 RID: 2248
	[FieldOffset(Offset = "0xA8")]
	[Token(Token = "0x40008C8")]
	private float g_fNavUpdate;

	// Token: 0x040008C9 RID: 2249
	[FieldOffset(Offset = "0xB0")]
	[Token(Token = "0x40008C9")]
	protected Dialogue g_Dialog;

	// Token: 0x040008CA RID: 2250
	[FieldOffset(Offset = "0xB8")]
	[Token(Token = "0x40008CA")]
	protected Vector3 g_v3TurnTarget;

	// Token: 0x040008CB RID: 2251
	[FieldOffset(Offset = "0xC4")]
	[Token(Token = "0x40008CB")]
	protected bool g_bTurnTarget;

	// Token: 0x040008CC RID: 2252
	[FieldOffset(Offset = "0xC8")]
	[Token(Token = "0x40008CC")]
	public SkinnedMeshRenderer[] MeshRnderer;

	// Token: 0x040008CD RID: 2253
	[FieldOffset(Offset = "0xD0")]
	[Token(Token = "0x40008CD")]
	protected Material[] g_Mat;

	// Token: 0x040008CE RID: 2254
	[FieldOffset(Offset = "0xD8")]
	[Token(Token = "0x40008CE")]
	private Color g_RimColor;

	// Token: 0x040008CF RID: 2255
	[FieldOffset(Offset = "0xE8")]
	[Token(Token = "0x40008CF")]
	private Color g_RimColorSet;

	// Token: 0x040008D0 RID: 2256
	[FieldOffset(Offset = "0xF8")]
	[Token(Token = "0x40008D0")]
	private float g_fChangeRimTime;

	// Token: 0x040008D1 RID: 2257
	[FieldOffset(Offset = "0xFC")]
	[Token(Token = "0x40008D1")]
	protected float g_fTimeScale;

	// Token: 0x040008D2 RID: 2258
	[FieldOffset(Offset = "0x100")]
	[Token(Token = "0x40008D2")]
	protected float g_fDeltaTime;
}
