// [TypeInfo RVA: 0x0]
public class HitSoundsv2 : MonoBehaviour
{
	public UnityEngine.AudioClip[] water; // 0x20
	public UnityEngine.AudioClip[] stone; // 0x28
	public UnityEngine.AudioClip[] tree; // 0x30
	public UnityEngine.AudioClip[] grass; // 0x38
	public UnityEngine.AudioClip[] metal; // 0x40
	public UnityEngine.AudioClip[] glass; // 0x48
	public UnityEngine.AudioClip[] snow; // 0x50
	public UnityEngine.AudioClip[] dirt; // 0x58
	public UnityEngine.AudioClip[] carpet; // 0x60
	public UnityEngine.AudioClip[] wood; // 0x68
	public UnityEngine.AudioSource audioSource; // 0x70
	public bool LeftController; // 0x78
	private float hapticWaitSeconds; // 0x7C
	private System.Collections.Generic.Dictionary<System.String,UnityEngine.AudioClip[]> audio; // 0x80

	// RVA: 0x323B0D4 VA: 0x78189260D4
	private void Start();
	/*
	 *   undefined *puVar1;
	 *   undefined *puVar2;
	 *   undefined *puVar3;
	 *   undefined *puVar4;
	 *   undefined *puVar5;
	 *   undefined *puVar6;
	 *   undefined *puVar7;
	 *   undefined *puVar8;
	 *   undefined *puVar9;
	 *   void *pvVar10;
	 *   void *extraout_x1;
	 *   void **ppvVar11;
	 *
	 *   puVar2 = PTR_DAT_070c34d8;
	 *   puVar1 = PTR_DAT_070c34d0;
	 *   if ((bRam000000000754a9a6 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c34e0);
	 *     func_0x031fdc8c(PTR_DAT_070c34d8);
	 *     func_0x031fdc8c(PTR_DAT_070c34d0);
	 *     func_0x031fdc8c(PTR_DAT_070c34e8);
	 *     func_0x031fdc8c(PTR_DAT_070c34f0);
	 *     func_0x031fdc8c(PTR_DAT_070c34f8);
	 *     func_0x031fdc8c(PTR_DAT_070c3500);
	 *     func_0x031fdc8c(PTR_DAT_070c3508);
	 *     func_0x031fdc8c(PTR_DAT_070c3510);
	 *     func_0x031fdc8c(PTR_DAT_070c3518);
	 *     func_0x031fdc8c(PTR_DAT_070c3520);
	 *     func_0x031fdc8c(PTR_DAT_070c3528);
	 *     func_0x031fdc8c(PTR_DAT_070c3530);
	 *     bRam000000000754a9a6 = 1;
	 *     methodInfo = extraout_x1;
	 *   }
	 *   pvVar10 = (void *)func_0x031fdf24(*(undefined8 *)puVar1,methodInfo);
	 *   func_0x04e2c4c4(pvVar10,*(undefined8 *)puVar2);
	 *   puVar9 = PTR_DAT_070c3528;
	 *   puVar8 = PTR_DAT_070c3520;
	 *   puVar7 = PTR_DAT_070c3518;
	 *   puVar6 = PTR_DAT_070c3510;
	 *   puVar5 = PTR_DAT_070c3508;
	 *   puVar4 = PTR_DAT_070c3500;
	 *   puVar3 = PTR_DAT_070c34f8;
	 *   puVar2 = PTR_DAT_070c34e8;
	 *   puVar1 = PTR_DAT_070c34e0;
	 *   if (pvVar10 != null) {
	 *     func_0x04e2ce54(pvVar10,*(undefined8 *)PTR_DAT_070c34f0,this.water,
	 *                     *(undefined8 *)PTR_DAT_070c34e0);
	 *     func_0x04e2ce54(pvVar10,*(undefined8 *)puVar4,this.stone,*(undefined8 *)puVar1);
	 *     func_0x04e2ce54(pvVar10,*(undefined8 *)puVar2,this.tree,*(undefined8 *)puVar1);
	 *     func_0x04e2ce54(pvVar10,*(undefined8 *)puVar8,this.grass,*(undefined8 *)puVar1);
	 *     func_0x04e2ce54(pvVar10,*(undefined8 *)puVar6,this.metal,*(undefined8 *)puVar1);
	 *     func_0x04e2ce54(pvVar10,*(undefined8 *)puVar3,this.glass,*(undefined8 *)puVar1);
	 *     func_0x04e2ce54(pvVar10,*(undefined8 *)puVar7,this.snow,*(undefined8 *)puVar1);
	 *     func_0x04e2ce54(pvVar10,*(undefined8 *)puVar5,this.dirt,*(undefined8 *)puVar1);
	 *     func_0x04e2ce54(pvVar10,*(undefined8 *)puVar9,this.carpet,*(undefined8 *)puVar1);
	 *     func_0x04e2ce54(pvVar10,*(undefined8 *)PTR_DAT_070c3530,this.wood,*(undefined8 *)puVar1);
	 *     ppvVar11 = &this.audio;
	 *     *ppvVar11 = pvVar10;
	 *     if (iRam00000000077785f0 != 0) {
	 *       func_0x032ed0c0(1L << ((ulong)ppvVar11 >> 0xc & 0x3f),
	 *                       ((ulong)ppvVar11 >> 0x12 & 0x7fff) * 8 + 0x75ac5c8);
	 *     }
	 *     return;
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x323B314 VA: 0x7818926314
	private void OnTriggerEnter(UnityEngine.Collider other);
	/*
	 *   void *pvVar1;
	 *   HitSoundsv2 *this_00;
	 *   ulong uVar2;
	 *   undefined8 uVar3;
	 *   void *in_x3;
	 *   void *pvVar4;
	 *   long lVar5;
	 *
	 *   if ((bRam000000000754a9a7 & 1) == 0) {
	 *     func_0x031fdc8c(PTR_DAT_070c3538);
	 *     bRam000000000754a9a7 = 1;
	 *   }
	 *   if (other != null) {
	 *     pvVar4 = this.audio;
	 *     pvVar1 = UnityEngine.Component.get_gameObject(other);
	 *     if ((pvVar1 != null) &&
	 *        (pvVar1 = UnityEngine.GameObject.get_tag(pvVar1),
	 *        pvVar4 != null)) {
	 *       this_00 = (HitSoundsv2 *)func_0x04e2cdd4(pvVar4,pvVar1,*(undefined8 *)PTR_DAT_070c3538);
	 *       pvVar1 = this.audioSource;
	 *       HitSoundsv2.PlayRandomSound(this_00,this_00,pvVar1);
	 *       pvVar1 = HitSoundsv2.HapticPulses(this,this.LeftController,_UNK_0134e8e0,_UNK_0134e8e0);
	 *       if (pvVar1 == null) {
	 *         func_0x031fdca0(PTR_DAT_070c9118,0,0);
	 *         pvVar4 = (void *)func_0x031fdf24();
	 *         pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
	 *         NullReferenceException..ctor(pvVar4,pvVar1);
	 *       }
	 *       else {
	 *         uVar2 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
	 *         if ((uVar2 & 1) != 0) {
	 *           if ((bRam000000000755f8f7 & 1) == 0) {
	 *             func_0x031fdc8c(PTR_DAT_0714f590);
	 *             bRam000000000755f8f7 = 1;
	 *           }
	 *           if (this != null) {
	 *             lVar5 = *(long *)&this.field_0x10;
	 *             if (lVar5 == 0) {
	 *               UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(this);
	 *             }
	 *             if (pcRam000000000755f968 == null) {
	 *               pcRam000000000755f968 = (code *)func_0x031fdc50(&UNK_013604ff);
	 *             }
	 *             (*pcRam000000000755f968)(lVar5,pvVar1);
	 *             return;
	 *           }
	 *           IL2CPP.ThrowNullReferenceException();
	 *         }
	 *         func_0x031fdca0(PTR_DAT_070c6fb0);
	 *         pvVar4 = (void *)func_0x031fdf24();
	 *         pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
	 *         System.ArgumentException..ctor(pvVar4,pvVar1);
	 *       }
	 *       uVar3 = func_0x031fdca0(PTR_DAT_0714f5d0);
	 *       IL2CPP.ThrowManagedException();
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x323B3C0 VA: 0x78189263C0
	private void PlayRandomSound(UnityEngine.AudioClip[] audioClips, UnityEngine.AudioSource audioSource);
	/*
	 *   uint uVar1;
	 *   long lVar2;
	 *
	 *   if (audioClips != null) {
	 *     uVar1 = Random.Range(0,*(int *)((long)audioClips + 0x18));
	 *     this = (HitSoundsv2 *)(ulong)uVar1;
	 *     if (*(uint *)((long)audioClips + 0x18) <= uVar1) {
	 *       IL2CPP.ThrowIndexOutOfRangeException();
	 *     }
	 *     if (audioSource != null) {
	 *       UnityEngine.AudioSource.set_clip(audioSource,*(void **)((long)audioClips + (long)(int)uVar1 * 8 + 0x20))
	 *       ;
	 *       if ((bRam000000000755d742 & 1) == 0) {
	 *         func_0x031fdc8c(PTR_DAT_0714e1b0);
	 *         func_0x031fdc8c(PTR_DAT_070c6e98);
	 *         bRam000000000755d742 = 1;
	 *       }
	 *       if (audioSource != null) {
	 *         lVar2 = *(long *)((long)audioSource + 0x10);
	 *         if (lVar2 == 0) {
	 *           UnityEngine.Bindings.ThrowHelper.ThrowArgumentNullException(audioSource,*(void **)PTR_DAT_070c6e98);
	 *         }
	 *         if (pcRam000000000755d770 == null) {
	 *           pcRam000000000755d770 = (code *)func_0x031fdc50(&UNK_0138b07d);
	 *         }
	 *         (*pcRam000000000755d770)(lVar2,0);
	 *         return;
	 *       }
	 *       UnityEngine.Bindings.ThrowHelper.ThrowArgumentNullException(null,*(void **)PTR_DAT_070c6e98);
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *   }
	 *   IL2CPP.ThrowNullReferenceException();
	 */
	// RVA: 0x323B424 VA: 0x7818926424
	public void StartVibration(bool forLeftController, float amplitude, float duration);
	/*
	 *   void *pvVar1;
	 *   ulong uVar2;
	 *   void *this_00;
	 *   undefined8 uVar3;
	 *   long lVar4;
	 *
	 *   pvVar1 = HitSoundsv2.HapticPulses(this,forLeftController,amplitude,duration);
	 *   if (pvVar1 == null) {
	 *     func_0x031fdca0(PTR_DAT_070c9118,0,0);
	 *     this_00 = (void *)func_0x031fdf24();
	 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5c8);
	 *     NullReferenceException..ctor(this_00,pvVar1);
	 *   }
	 *   else {
	 *     uVar2 = UnityEngine.MonoBehaviour.IsObjectMonoBehaviour();
	 *     if ((uVar2 & 1) != 0) {
	 *       if ((bRam000000000755f8f7 & 1) == 0) {
	 *         func_0x031fdc8c(PTR_DAT_0714f590);
	 *         bRam000000000755f8f7 = 1;
	 *       }
	 *       if (this != null) {
	 *         lVar4 = *(long *)&this.field_0x10;
	 *         if (lVar4 == 0) {
	 *           UnityEngine.Bindings.ThrowHelper.ThrowNullReferenceException(this)
	 *           ;
	 *         }
	 *         if (pcRam000000000755f968 == null) {
	 *           pcRam000000000755f968 = (code *)func_0x031fdc50(&UNK_013604ff);
	 *         }
	 *         (*pcRam000000000755f968)(lVar4,pvVar1);
	 *         return;
	 *       }
	 *       IL2CPP.ThrowNullReferenceException();
	 *     }
	 *     func_0x031fdca0(PTR_DAT_070c6fb0);
	 *     this_00 = (void *)func_0x031fdf24();
	 *     pvVar1 = (void *)func_0x031fdca0(PTR_DAT_0714f5b0);
	 *     System.ArgumentException..ctor(this_00,pvVar1);
	 *   }
	 *   uVar3 = func_0x031fdca0(PTR_DAT_0714f5d0);
	 *   IL2CPP.ThrowManagedException();
	 */
	// RVA: 0x323B444 VA: 0x7818926444
	private System.Collections.IEnumerator HapticPulses(bool forLeftController, float amplitude, float duration);
	/*
	 *   undefined *puVar1;
	 *   void *this_00;
	 *
	 *   puVar1 = typeinfo_ptr_Assembly_CSharp_HapticPulses_d__18_6FC3540;
	 *   if ((bRam000000000754a9a8 & 1) == 0) {
	 *     func_0x031fdc8c(typeinfo_ptr_Assembly_CSharp_HapticPulses_d__18_6FC3540);
	 *     bRam000000000754a9a8 = 1;
	 *   }
	 *   this_00 = (void *)func_0x031fdf24(*(undefined8 *)puVar1);
	 *   System.Object..ctor(this_00);
	 *   *(undefined4 *)((long)this_00 + 0x10) = 0;
	 *   *(undefined8 *)((long)this_00 + 0x28) = this;
	 *   func_0x031fdc38((undefined8 *)((long)this_00 + 0x28),this);
	 *   *(bool *)((long)this_00 + 0x20) = forLeftController;
	 *   *(float *)((long)this_00 + 0x24) = amplitude;
	 *   *(float *)((long)this_00 + 0x30) = duration;
	 *   return this_00;
	 */
	// RVA: 0x323B504 VA: 0x7818926504
	public void .ctor();
	/*
	 *   undefined *puVar1;
	 *
	 *   this.hapticWaitSeconds = 0.05;
	 *   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;
	 */
}
