// [TypeInfo RVA: 0x0]
public class onehandsupport : MonoBehaviour
{
	public OVRInput.Controller controller; // 0x20
	public UnityEngine.Transform trackedTarget; // 0x28
	public UnityEngine.Transform deadTarget; // 0x30
	public float followSpeed; // 0x38
	public float rotateSpeed; // 0x3C
	public bool isTracking; // 0x40

	// RVA: 0x3219F68 VA: 0x7818904F68
	private void LateUpdate();
	/*
	 *   int iVar1;
	 *   undefined *puVar2;
	 *   byte bVar3;
	 *   onehandsupport *poVar4;
	 *   ulong uVar5;
	 *   void *pvVar6;
	 *   void *pvVar7;
	 *   long lVar8;
	 *   void *this_00;
	 *   float fVar9;
	 *   float fVar10;
	 *   float fVar11;
	 *   UnityEngine_Vector3 UVar12;
	 *   UnityEngine_Vector3 UVar13;
	 *   UnityEngine_Vector3 value;
	 *   UnityEngine_Vector4 a;
	 *   UnityEngine_Vector4 b;
	 *
	 *   puVar2 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   poVar4 = this;
	 *   if ((bRam000000000754a875 & 1) == 0) {
	 *     poVar4 = (onehandsupport *)func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8);
	 *     bRam000000000754a875 = 1;
	 *   }
	 *   bVar3 = onehandsupport.IsControllerAvailable(poVar4,*(undefined4 *)&this.controller);
	 *   lVar8 = 0x28;
	 *   if ((bVar3 & 1) == 0) {
	 *     lVar8 = 0x30;
	 *   }
	 *   iVar1 = *(int *)(*(long *)puVar2 + 0xe4);
	 *   this.isTracking = (bool)(bVar3 & 1);
	 *   this_00 = *(void **)(&this.field_0x0 + lVar8);
	 *   if (iVar1 == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   uVar5 = UnityEngine.Object.op_Equality(this_00,null);
	 *   if ((uVar5 & 1) == 0) {
	 *     pvVar6 = UnityEngine.Component.get_transform(this);
	 *     pvVar7 = UnityEngine.Component.get_transform(this);
	 *     if (pvVar7 != null) {
	 *       UVar12 = UnityEngine.Transform.get_position(pvVar7);
	 *       if (this_00 != null) {
	 *         UVar13 = UnityEngine.Transform.get_position(this_00);
	 *         fVar9 = UnityEngine.Time.get_deltaTime();
	 *         if (pvVar6 != null) {
	 *           fVar9 = fVar9 * this.followSpeed;
	 *           fVar10 = 1.0;
	 *           if (fVar9 <= 1.0) {
	 *             fVar10 = fVar9;
	 *           }
	 *           fVar11 = 0.0;
	 *           if (0.0 <= fVar9) {
	 *             fVar11 = fVar10;
	 *           }
	 *           value.z = UVar12.z + (UVar13.z - UVar12.z) * fVar11;
	 *           value.y = UVar12.y + (UVar13.y - UVar12.y) * fVar11;
	 *           value.x = UVar12.x + (UVar13.x - UVar12.x) * fVar11;
	 *           UnityEngine.Transform.set_position(pvVar6,value);
	 *           pvVar6 = UnityEngine.Component.get_transform(this);
	 *           pvVar7 = UnityEngine.Component.get_transform(this);
	 *           if (pvVar7 != null) {
	 *             a = UnityEngine.Transform.get_rotation(pvVar7);
	 *             b = UnityEngine.Transform.get_rotation(this_00);
	 *             fVar9 = UnityEngine.Time.get_deltaTime();
	 *             UnityEngine.Quaternion.Slerp(a,b,fVar9 * this.rotateSpeed);
	 *             if (pvVar6 != null) {
	 *               if ((bRam000000000755ff1d & 1) == 0) {
	 *                 func_0x031fdc8c(PTR_DAT_0714f6d0,0);
	 *                 bRam000000000755ff1d = 1;
	 *               }
	 *               if (pvVar6 != null) {
	 *                 lVar8 = *(long *)((long)pvVar6 + 0x10);
	 *                 if (lVar8 == 0) {
	 *                   UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(pvVar6);
	 *                 }
	 *                 if (pcRam000000000755ff70 == null) {
	 *                   pcRam000000000755ff70 = (code *)func_0x031fdc50(&UNK_013598d0);
	 *                 }
	 *                 (*pcRam000000000755ff70)(lVar8,&stack0xffffffffffffffd0);
	 *                 return;
	 *               }
	 *               IL2CPP.ThrowNullReferenceException();
	 *             }
	 *           }
	 *         }
	 *       }
	 *     }
	 *     IL2CPP.ThrowNullReferenceException();
	 *   }
	 *   return;
	 */
	// RVA: 0x321A184 VA: 0x7818905184
	private bool IsControllerAvailable(OVRInput.Controller c);
	/*
	 *   undefined *puVar1;
	 *   long lVar2;
	 *
	 *   puVar1 = PTR_DAT_070c2018;
	 *   if ((bRam000000000754a876 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c2018);
	 *     bRam000000000754a876 = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   if (cRam000000000754a8a2 == '\0') {
	 *     func_0x031fdc8c(PTR_DAT_070c2018);
	 *     cRam000000000754a8a2 = '\x01';
	 *   }
	 *   lVar2 = *(long *)puVar1;
	 *   if (*(int *)(lVar2 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *     lVar2 = *(long *)puVar1;
	 *   }
	 *   return (param_2 & (*(uint *)(*(long *)(lVar2 + 0xb8) + 0x24) ^ 0xffffffff)) == 0;
	 */
	// RVA: 0x321A218 VA: 0x7818905218
	public void .ctor();
	/*
	 *   undefined *puVar1;
	 *
	 *   *(undefined4 *)&this.controller = 1;
	 *   this.followSpeed = 50.0;
	 *   puVar1 = typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8;
	 *   this.rotateSpeed = 50.0;
	 *   if ((bRam000000000755f76f & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_UnityEngine_CoreModule_Object_6FC07E8,0);
	 *     bRam000000000755f76f = 1;
	 *   }
	 *   if (*(int *)(*(long *)puVar1 + 0xe4) == 0) {
	 *     func_0x031fde08();
	 *   }
	 *   return;
	 */
}
