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

// Token: 0x020000A3 RID: 163
[Token(Token = "0x20000A3")]
public class NPC : MonoBehaviour
{
	// Token: 0x0600073D RID: 1853 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600073D")]
	[Address(RVA = "0xBD4D90", Offset = "0xBD3B90", VA = "0x180BD4D90", Slot = "4")]
	public virtual void Init()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600073E RID: 1854 RVA: 0x00010BFC File Offset: 0x0000EDFC
	[Token(Token = "0x600073E")]
	[Address(RVA = "0xBD5F50", Offset = "0xBD4D50", VA = "0x180BD5F50", Slot = "5")]
	protected virtual void OnEnable()
	{
		if (base.CompareTag("NPC"))
		{
			Game.sceneManager.AddNpc(this);
			return;
		}
	}

	// Token: 0x0600073F RID: 1855 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600073F")]
	[Address(RVA = "0xBD6670", Offset = "0xBD5470", VA = "0x180BD6670", Slot = "6")]
	protected virtual void Update()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000740 RID: 1856 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000740")]
	[Address(RVA = "0xBD5E60", Offset = "0xBD4C60", VA = "0x180BD5E60", Slot = "7")]
	protected virtual void OnDisable()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000741 RID: 1857 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000741")]
	[Address(RVA = "0xBD4B90", Offset = "0xBD3990", VA = "0x180BD4B90", 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: 0x06000742 RID: 1858 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000742")]
	[Address(RVA = "0xBD4C90", Offset = "0xBD3A90", VA = "0x180BD4C90", 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: 0x06000743 RID: 1859 RVA: 0x00010C2C File Offset: 0x0000EE2C
	[Token(Token = "0x6000743")]
	[Address(RVA = "0xBD6220", Offset = "0xBD5020", VA = "0x180BD6220", Slot = "10")]
	public virtual void SetLookAtTarget(Transform Target)
	{
		LookAtIK lookAtIK = this.g_LookAt;
		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: 0x06000744 RID: 1860 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000744")]
	[Address(RVA = "0xBD63A0", Offset = "0xBD51A0", VA = "0x180BD63A0", Slot = "11")]
	public virtual void SetMoveTargetWalk(Vector3 v3Target)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000745 RID: 1861 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000745")]
	[Address(RVA = "0xBD6440", Offset = "0xBD5240", VA = "0x180BD6440", Slot = "12")]
	public virtual void SetMoveTarget(Vector3 v3Target, float fMoveSpeed)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000746 RID: 1862 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000746")]
	[Address(RVA = "0xBD6300", Offset = "0xBD5100", VA = "0x180BD6300", Slot = "13")]
	public virtual void SetMoveTargetRun(Vector3 v3Target)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000747 RID: 1863 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000747")]
	[Address(RVA = "0xBD65B0", Offset = "0xBD53B0", VA = "0x180BD65B0", Slot = "14")]
	public virtual void SetTurnTarget(Vector3 v3Target)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000748 RID: 1864 RVA: 0x00010C7C File Offset: 0x0000EE7C
	[Token(Token = "0x6000748")]
	[Address(RVA = "0xBD6040", Offset = "0xBD4E40", VA = "0x180BD6040", 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: 0x06000749 RID: 1865 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000749")]
	[Address(RVA = "0xBD5890", Offset = "0xBD4690", VA = "0x180BD5890")]
	protected void NPCNavigation(float fDeltaTime)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600074A RID: 1866 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600074A")]
	[Address(RVA = "0xBD52F0", Offset = "0xBD40F0", VA = "0x180BD52F0")]
	protected void NPCNavigation()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600074B RID: 1867 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600074B")]
	[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: 0x0600074C RID: 1868 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600074C")]
	[Address(RVA = "0xBD64F0", Offset = "0xBD52F0", VA = "0x180BD64F0", Slot = "16")]
	public virtual void SetRimColor(Color Col)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600074D RID: 1869 RVA: 0x00010CE8 File Offset: 0x0000EEE8
	[Token(Token = "0x600074D")]
	[Address(RVA = "0xBD6510", Offset = "0xBD5310", VA = "0x180BD6510", Slot = "17")]
	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: 0x0600074E RID: 1870 RVA: 0x00010D2C File Offset: 0x0000EF2C
	[Token(Token = "0x600074E")]
	[Address(RVA = "0xBD6160", Offset = "0xBD4F60", VA = "0x180BD6160", Slot = "18")]
	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: 0x0600074F RID: 1871 RVA: 0x00010D7C File Offset: 0x0000EF7C
	[Token(Token = "0x600074F")]
	[Address(RVA = "0xBCB8E0", Offset = "0xBCA6E0", VA = "0x180BCB8E0", Slot = "19")]
	public virtual void SetAnimationWeight(float fWeight)
	{
		this.g_fAniWeightSet = fWeight;
	}

	// Token: 0x06000750 RID: 1872 RVA: 0x00010D90 File Offset: 0x0000EF90
	[Token(Token = "0x6000750")]
	[Address(RVA = "0xBD6E80", Offset = "0xBD5C80", VA = "0x180BD6E80")]
	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: 0x0400083C RID: 2108
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x400083C")]
	protected Animator g_Ani;

	// Token: 0x0400083D RID: 2109
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x400083D")]
	protected float g_fAniMoveSpeed;

	// Token: 0x0400083E RID: 2110
	[FieldOffset(Offset = "0x24")]
	[Token(Token = "0x400083E")]
	protected float g_fAniRotateSpeed;

	// Token: 0x0400083F RID: 2111
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x400083F")]
	protected Vector3 g_v3PreForward;

	// Token: 0x04000840 RID: 2112
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4000840")]
	protected LookAtIK g_LookAt;

	// Token: 0x04000841 RID: 2113
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4000841")]
	protected Transform g_LookAtTarget;

	// Token: 0x04000842 RID: 2114
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x4000842")]
	protected Transform g_LookAtTargetSet;

	// Token: 0x04000843 RID: 2115
	[FieldOffset(Offset = "0x50")]
	[Token(Token = "0x4000843")]
	protected bool g_bLookAtEnable;

	// Token: 0x04000844 RID: 2116
	[FieldOffset(Offset = "0x54")]
	[Token(Token = "0x4000844")]
	protected float g_fLookAtWeight;

	// Token: 0x04000845 RID: 2117
	[FieldOffset(Offset = "0x58")]
	[Token(Token = "0x4000845")]
	protected MoveController g_Move;

	// Token: 0x04000846 RID: 2118
	[FieldOffset(Offset = "0x60")]
	[Token(Token = "0x4000846")]
	protected float g_fWalkSpeed = 0.5f;

	// Token: 0x04000847 RID: 2119
	[FieldOffset(Offset = "0x64")]
	[Token(Token = "0x4000847")]
	protected float g_fRunSpeed = 8f;

	// Token: 0x04000848 RID: 2120
	[FieldOffset(Offset = "0x68")]
	[Token(Token = "0x4000848")]
	protected float g_fAniWeight;

	// Token: 0x04000849 RID: 2121
	[FieldOffset(Offset = "0x6C")]
	[Token(Token = "0x4000849")]
	protected float g_fAniWeightSet;

	// Token: 0x0400084A RID: 2122
	[FieldOffset(Offset = "0x70")]
	[Token(Token = "0x400084A")]
	protected bool g_bNavigationSystem = true;

	// Token: 0x0400084B RID: 2123
	[FieldOffset(Offset = "0x71")]
	[Token(Token = "0x400084B")]
	protected bool g_bNavigation;

	// Token: 0x0400084C RID: 2124
	[FieldOffset(Offset = "0x72")]
	[Token(Token = "0x400084C")]
	protected bool g_bNavigationPath;

	// Token: 0x0400084D RID: 2125
	[FieldOffset(Offset = "0x74")]
	[Token(Token = "0x400084D")]
	protected Vector3 g_v3NavTarget;

	// Token: 0x0400084E RID: 2126
	[FieldOffset(Offset = "0x80")]
	[Token(Token = "0x400084E")]
	protected float g_fNavMoveSpeed;

	// Token: 0x0400084F RID: 2127
	[FieldOffset(Offset = "0x84")]
	[Token(Token = "0x400084F")]
	protected Vector3 g_v3NavMoveSeeDirection;

	// Token: 0x04000850 RID: 2128
	[FieldOffset(Offset = "0x90")]
	[Token(Token = "0x4000850")]
	protected NavMeshPath g_NavPath;

	// Token: 0x04000851 RID: 2129
	[FieldOffset(Offset = "0x98")]
	[Token(Token = "0x4000851")]
	private int g_iPathIndex;

	// Token: 0x04000852 RID: 2130
	[FieldOffset(Offset = "0x9C")]
	[Token(Token = "0x4000852")]
	private float g_fNavUpdateTime;

	// Token: 0x04000853 RID: 2131
	[FieldOffset(Offset = "0xA0")]
	[Token(Token = "0x4000853")]
	private float g_fNavUpdate;

	// Token: 0x04000854 RID: 2132
	[FieldOffset(Offset = "0xA8")]
	[Token(Token = "0x4000854")]
	protected Dialogue g_Dialog;

	// Token: 0x04000855 RID: 2133
	[FieldOffset(Offset = "0xB0")]
	[Token(Token = "0x4000855")]
	protected Vector3 g_v3TurnTarget;

	// Token: 0x04000856 RID: 2134
	[FieldOffset(Offset = "0xBC")]
	[Token(Token = "0x4000856")]
	protected bool g_bTurnTarget;

	// Token: 0x04000857 RID: 2135
	[FieldOffset(Offset = "0xC0")]
	[Token(Token = "0x4000857")]
	public SkinnedMeshRenderer[] MeshRnderer;

	// Token: 0x04000858 RID: 2136
	[FieldOffset(Offset = "0xC8")]
	[Token(Token = "0x4000858")]
	protected Material[] g_Mat;

	// Token: 0x04000859 RID: 2137
	[FieldOffset(Offset = "0xD0")]
	[Token(Token = "0x4000859")]
	private Color g_RimColor;

	// Token: 0x0400085A RID: 2138
	[FieldOffset(Offset = "0xE0")]
	[Token(Token = "0x400085A")]
	private Color g_RimColorSet;

	// Token: 0x0400085B RID: 2139
	[FieldOffset(Offset = "0xF0")]
	[Token(Token = "0x400085B")]
	private float g_fChangeRimTime;

	// Token: 0x0400085C RID: 2140
	[FieldOffset(Offset = "0xF4")]
	[Token(Token = "0x400085C")]
	private float g_fTimeScale;

	// Token: 0x0400085D RID: 2141
	[FieldOffset(Offset = "0xF8")]
	[Token(Token = "0x400085D")]
	protected float g_fDeltaTime;
}
