// [TypeInfo RVA: 0x0]
public class NavMeshAgentThrottleWrapper : MonoBehaviour
{
	public float updatesPerSecond; // 0x20
	private UnityEngine.AI.NavMeshAgent agent; // 0x28
	private float updateInterval; // 0x30
	private float nextAllowedUpdateTime; // 0x34
	private UnityEngine.Vector3 lastRequestedDestination; // 0x38
	private bool destinationPending; // 0x44

	// RVA: 0x3215B64 VA: 0x7818900B64
	private void Awake();
	/*
	 *   undefined *puVar1;
	 *   void *pvVar2;
	 *   float fVar3;
	 *
	 *   puVar1 = PTR_DAT_070c08f8;
	 *   if ((bRam000000000754a850 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c08f8);
	 *     bRam000000000754a850 = 1;
	 *   }
	 *   pvVar2 = (void *)func_0x0373df50(this,*(undefined8 *)puVar1);
	 *   this.agent = pvVar2;
	 *   func_0x031fdc38(&this.agent,pvVar2);
	 *   this.nextAllowedUpdateTime = 0.0;
	 *   fVar3 = _UNK_0134e9fc;
	 *   if (_UNK_0134e9fc <= this.updatesPerSecond) {
	 *     fVar3 = this.updatesPerSecond;
	 *   }
	 *   this.updateInterval = 1.0 / fVar3;
	 *   return;
	 */
	// RVA: 0x3215BE4 VA: 0x7818900BE4
	public void SetDestination(UnityEngine.Vector3 destination);
	/*
	 *   (this.lastRequestedDestination).x = destination.x;
	 *   (this.lastRequestedDestination).y = destination.y;
	 *   (this.lastRequestedDestination).z = destination.z;
	 *   this.destinationPending = true;
	 *   return;
	 */
	// RVA: 0x3215BF8 VA: 0x7818900BF8
	private void LateUpdate();
	/*
	 *   bool bVar1;
	 *   float fVar2;
	 *
	 *   if (this.destinationPending == false) {
	 *     if (this.agent == null) goto LAB_03315c70;
	 *     bVar1 = UnityEngine.AI.NavMeshAgent.get_hasPath(this.agent);
	 *     if (!bVar1) {
	 *       return;
	 *     }
	 *   }
	 *   fVar2 = UnityEngine.Time.get_time();
	 *   if (this.nextAllowedUpdateTime <= fVar2) {
	 *     if (this.destinationPending != false) {
	 *       if (this.agent == null) {
	 * LAB_03315c70:
	 *         IL2CPP.ThrowNullReferenceException();
	 *       }
	 *       UnityEngine.AI.NavMeshAgent.SetDestination(this.agent,this.lastRequestedDestination);
	 *       this.destinationPending = false;
	 *     }
	 *     fVar2 = UnityEngine.Time.get_time();
	 *     this.nextAllowedUpdateTime = fVar2 + this.updateInterval;
	 *   }
	 *   return;
	 */
	// RVA: 0x3215C74 VA: 0x7818900C74
	public void SetUpdateRate(float newUpdatesPerSecond);
	/*
	 *   float fVar1;
	 *
	 *   fVar1 = _UNK_0134e9fc;
	 *   if (_UNK_0134e9fc <= newUpdatesPerSecond) {
	 *     fVar1 = newUpdatesPerSecond;
	 *   }
	 *   this.updatesPerSecond = fVar1;
	 *   this.updateInterval = 1.0 / fVar1;
	 *   return;
	 */
	// RVA: 0x3215C98 VA: 0x7818900C98
	public void .ctor();
	/*
	 *   undefined *puVar1;
	 *
	 *   this.updatesPerSecond = 10.0;
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   if ((bRam000000000755f76f & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
	 *     bRam000000000755f76f = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   return;
	 */
}
