using System; using System.Collections.Generic; using System.Runtime.InteropServices; using Cpp2IlInjected; using RecRoom; using UnityEngine; // Token: 0x0200007C RID: 124 [Token(Token = "0x200007C")] [StructLayout(3)] public class MicrophoneTool : MonoBehaviour { // Token: 0x0600037D RID: 893 RVA: 0x000117F4 File Offset: 0x0000F9F4 [Token(Token = "0x600037D")] [Address(RVA = "0x1424510", Offset = "0x1422F10", VA = "0x181424510")] private void Awake() { MicrophoneTool.NHEKGEIOMEF.Add(this); Tool component = base.GetComponent(); this.EGFEJGHDNAI = component; int num = 0; if (component != num) { Tool egfejghdnai = this.EGFEJGHDNAI; ActionEvent postPickupEvent = egfejghdnai.PostPickupEvent; Action action = new Action(this.GIJJGPLCDCH); ActionEvent actionEvent = postPickupEvent + action; egfejghdnai.PostPickupEvent = actionEvent; } } // Token: 0x0600037E RID: 894 RVA: 0x0001185C File Offset: 0x0000FA5C [Token(Token = "0x600037E")] [Address(RVA = "0x14254D0", Offset = "0x1423ED0", VA = "0x1814254D0")] private void Start() { MicrophoneToolManager instance = SingletonMonoBehaviour.Instance; int num = 0; if (!(instance == num)) { MicrophoneToolManager instance2 = SingletonMonoBehaviour.Instance; Coroutine mbndolgfcma = instance2.MBNDOLGFCMA; if (mbndolgfcma != 0) { instance2.StopCoroutine(mbndolgfcma); } instance2.MBNDOLGFCMA = (ulong)0L; return; } MicrophoneToolManager microphoneToolManager = global::UnityEngine.Object.Instantiate(this.microphoneManagerPrefab); } // Token: 0x0600037F RID: 895 RVA: 0x000118B0 File Offset: 0x0000FAB0 [Token(Token = "0x600037F")] [Address(RVA = "0x1424C70", Offset = "0x1423670", VA = "0x181424C70")] private void OnDestroy() { for (;;) { int num = 0; Tool egfejghdnai = this.EGFEJGHDNAI; int num2 = 0; if (egfejghdnai != num2) { Tool egfejghdnai2 = this.EGFEJGHDNAI; ActionEvent postPickupEvent = egfejghdnai2.PostPickupEvent; Action action = new Action(this.GIJJGPLCDCH); ActionEvent actionEvent = postPickupEvent - action; egfejghdnai2.PostPickupEvent = actionEvent; } bool flag = MicrophoneTool.NHEKGEIOMEF.Remove(this); List nhekgeiomef = MicrophoneTool.NHEKGEIOMEF; MicrophoneToolManager instance = SingletonMonoBehaviour.Instance; int num3 = 0; if (!(instance != num3)) { goto IL_BB; } MicrophoneToolManager instance2 = SingletonMonoBehaviour.Instance; if (!instance2.gameObject.activeInHierarchy) { goto IL_D5; } MicrophoneToolManager.GPLAPOKKGAO gplapokkgao; if (instance2.MBNDOLGFCMA == num) { gplapokkgao.System.IDisposable.Dispose(); gplapokkgao.<>1__state = num; gplapokkgao.<>4__this = instance2; Coroutine coroutine = instance2.StartCoroutine(gplapokkgao); instance2.MBNDOLGFCMA = coroutine; goto IL_BB; } goto IL_BB; IL_E1: if (num != -1) { } if (num == 0) { break; } continue; IL_BB: Dictionary.ValueCollection values = MicrophoneTool.KGMJKCCLEGE.Values; Dictionary.ValueCollection.Enumerator enumerator; if (enumerator == 0) { goto IL_E1; } int <>1__state = gplapokkgao.<>1__state; IL_D5: global::UnityEngine.Object.Destroy(instance2.gameObject); goto IL_E1; } } // Token: 0x06000380 RID: 896 RVA: 0x000119B0 File Offset: 0x0000FBB0 [Token(Token = "0x6000380")] [Address(RVA = "0x14250B0", Offset = "0x1423AB0", VA = "0x1814250B0")] public void OnHeadOverlapChanged(Player player, Player.GAHEJKDCLLE bodyPart, bool isIn) { int num = 0; if (player != num) { int k__BackingField = player.k__BackingField; MicrophoneTool.KGDINCIMJPN kgdincimjpn = this.IKKFOCGCMLP(k__BackingField); if (!isIn) { bool flag = kgdincimjpn.FCCHLJKFDKD.Remove(this); } if (kgdincimjpn.FCCHLJKFDKD.Contains(this)) { object[] array = new object[1]; string name = base.gameObject.name; if (name != 0) { } array[0] = name; Debug.LogWarningFormat("Already in range of {0}!", array); } kgdincimjpn.FCCHLJKFDKD.Add(this); int k__BackingField2 = player.k__BackingField; List fcchljkfdkd = this.IKKFOCGCMLP(k__BackingField2).FCCHLJKFDKD; if (this.applyAudioFX) { player.AddVoiceHighPassFilterEnabled(this); player.AddVoiceReverbFilterEnabled(this); } float num2 = this.micVolumeAdjustment; player.AddVoiceVolumeMultiplier(num2, this); int num3 = 0; player.AddVoiceSpatialBlendMultiplier((float)num3, this); player.RemoveVoiceVolumeMultiplier(this); player.RemoveVoiceSpatialBlendMultiplier(this); player.RemoveVoiceHighPassFilterEnabled(this); player.RemoveVoiceReverbFilterEnabled(this); MicrophoneToolManager instance = SingletonMonoBehaviour.Instance; int num4 = 0; if (instance != num4) { MicrophoneToolManager instance2 = SingletonMonoBehaviour.Instance; List ecopckkgmdc = instance2.ECOPCKKGMDC; if (!isIn) { bool flag2; while (!flag2) { } throw new NullReferenceException(); } if (!ecopckkgmdc.Contains(player)) { instance2.ECOPCKKGMDC.Add(player); } } } } // Token: 0x06000381 RID: 897 RVA: 0x00011AEC File Offset: 0x0000FCEC [Token(Token = "0x6000381")] [Address(RVA = "0x1424930", Offset = "0x1423330", VA = "0x181424930")] private void GIJJGPLCDCH(Tool NBHJPDBHDHB) { Tool egfejghdnai = this.EGFEJGHDNAI; DAJFOCGPHGP defaultCollisionLayer = egfejghdnai.DefaultCollisionLayer; egfejghdnai.SetCollisionLayer(defaultCollisionLayer); } // Token: 0x06000382 RID: 898 RVA: 0x00011B14 File Offset: 0x0000FD14 [Token(Token = "0x6000382")] [Address(RVA = "0x14254C0", Offset = "0x1423EC0", VA = "0x1814254C0")] public void OnMicHit(Collider GLPOLGOBLAA) { this.EKHDMHOLNLO(GLPOLGOBLAA); } // Token: 0x06000383 RID: 899 RVA: 0x00011B28 File Offset: 0x0000FD28 [Token(Token = "0x6000383")] [Address(RVA = "0x1424640", Offset = "0x1423040", VA = "0x181424640")] private void EKHDMHOLNLO(Collider GLPOLGOBLAA) { PlayerHand componentInParent = GLPOLGOBLAA.GetComponentInParent(); Tool egfejghdnai = this.EGFEJGHDNAI; if (egfejghdnai != 0 && egfejghdnai.FNFNLDBILFE && GLPOLGOBLAA.GetComponentInParent()) { int num = 0; if (componentInParent == num) { return; } PlayerHand k__BackingField = this.EGFEJGHDNAI.k__BackingField; if (componentInParent == k__BackingField) { return; } Tool febapkcnndc = componentInParent.FEBAPKCNNDC; int num2 = 0; if (febapkcnndc != num2) { return; } } if (Time.time > this.LAGBBBGGOGF) { float time = Time.time; RecRoomAudioClip[] array = this.micHeadHitAudio; this.CGBOCIFDCPB = time; int length = array.Length; int num3 = global::UnityEngine.Random.Range(0, length); RecRoomAudioClip recRoomAudioClip = array[num3]; int num4 = 0; SFXAudioSource sfxaudioSource = AudioManager.Play2DSFX(recRoomAudioClip, num4); MicrophoneToolManager instance = SingletonMonoBehaviour.Instance; int num5 = 0; if (instance != num5) { MicrophoneToolManager instance2 = SingletonMonoBehaviour.Instance; MicrophoneToolManager.KGMOAFBFDAK kgmoafbfdak = this.micHitSpeakerLineLevel; float num6 = this.micHitSpeakerLinesDuration; instance2.OnMicSpeakerLinesEvent(num6, kgmoafbfdak); } int num7 = 0; if (componentInParent != num7) { componentInParent.Vibrate(30, 1f); } } } // Token: 0x06000384 RID: 900 RVA: 0x00011C54 File Offset: 0x0000FE54 [Token(Token = "0x6000384")] [Address(RVA = "0x1424AC0", Offset = "0x14234C0", VA = "0x181424AC0")] private void OnCollisionEnter(Collision GBJHLKOJGPB) { Collider collider = GBJHLKOJGPB.collider; this.EKHDMHOLNLO(collider); Vector3 vector; float z = vector.z; float value = global::UnityEngine.Random.value; if (this.KCHCLGDDFGK > value && Time.time > this.IJODABDCKFJ) { float time = Time.time; RecRoomAudioClip recRoomAudioClip = this.micFeedbackAudio; this.JBHOEPLMAPO = time; int num = 0; SFXAudioSource sfxaudioSource = AudioManager.Play2DSFX(recRoomAudioClip, num); MicrophoneToolManager instance = SingletonMonoBehaviour.Instance; int num2 = 0; if (instance != num2) { MicrophoneToolManager instance2 = SingletonMonoBehaviour.Instance; MicrophoneToolManager.KGMOAFBFDAK kgmoafbfdak = this.micFeedbackSpeakerLineLevel; float num3 = this.micFeedbackSpeakerLinesDuration; instance2.OnMicSpeakerLinesEvent(num3, kgmoafbfdak); } } } // Token: 0x06000385 RID: 901 RVA: 0x00011D04 File Offset: 0x0000FF04 [Token(Token = "0x6000385")] [Address(RVA = "0x1424960", Offset = "0x1423360", VA = "0x181424960")] private MicrophoneTool.KGDINCIMJPN IKKFOCGCMLP(int CJFGEMGOJHB) { Dictionary kgmjkcclege = MicrophoneTool.KGMJKCCLEGE; bool flag; if (!flag) { MicrophoneTool.KGDINCIMJPN kgdincimjpn = new MicrophoneTool.KGDINCIMJPN(); List list = new List(); kgdincimjpn.FCCHLJKFDKD = list; MicrophoneTool.KGMJKCCLEGE[CJFGEMGOJHB] = kgdincimjpn; } throw new NullReferenceException(); } // Token: 0x06000386 RID: 902 RVA: 0x00011D44 File Offset: 0x0000FF44 [Token(Token = "0x6000386")] [Address(RVA = "0x1425680", Offset = "0x1424080", VA = "0x181425680")] public MicrophoneTool() { } // Token: 0x0400030B RID: 779 [Token(Token = "0x400030B")] private static List NHEKGEIOMEF = new List(); // Token: 0x0400030C RID: 780 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x400030C")] [SerializeField] private MicrophoneToolManager microphoneManagerPrefab; // Token: 0x0400030D RID: 781 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x400030D")] [SerializeField] private float micVolumeAdjustment = 0.75f; // Token: 0x0400030E RID: 782 [global::Cpp2IlInjected.FieldOffset(Offset = "0x24")] [Token(Token = "0x400030E")] [SerializeField] private bool applyAudioFX = true; // Token: 0x0400030F RID: 783 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x400030F")] [SerializeField] private RecRoomAudioClip[] micHeadHitAudio; // Token: 0x04000310 RID: 784 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4000310")] [SerializeField] private float micHitSpeakerLinesDuration = 0.2f; // Token: 0x04000311 RID: 785 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x4000311")] [SerializeField] private MicrophoneToolManager.KGMOAFBFDAK micHitSpeakerLineLevel = (MicrophoneToolManager.KGMOAFBFDAK)((ulong)3L); // Token: 0x04000312 RID: 786 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4000312")] [SerializeField] private RecRoomAudioClip micFeedbackAudio; // Token: 0x04000313 RID: 787 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4000313")] [SerializeField] private float micFeedbackSpeakerLinesDuration = 1.3f; // Token: 0x04000314 RID: 788 [global::Cpp2IlInjected.FieldOffset(Offset = "0x44")] [Token(Token = "0x4000314")] [SerializeField] private MicrophoneToolManager.KGMOAFBFDAK micFeedbackSpeakerLineLevel = (MicrophoneToolManager.KGMOAFBFDAK)((ulong)4L); // Token: 0x04000315 RID: 789 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4000315")] private Tool EGFEJGHDNAI; // Token: 0x04000316 RID: 790 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4000316")] private float LAGBBBGGOGF = 0.2f; // Token: 0x04000317 RID: 791 [global::Cpp2IlInjected.FieldOffset(Offset = "0x54")] [Token(Token = "0x4000317")] private float CGBOCIFDCPB; // Token: 0x04000318 RID: 792 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x4000318")] private float DBAHDLJIKHG = 7f; // Token: 0x04000319 RID: 793 [global::Cpp2IlInjected.FieldOffset(Offset = "0x5C")] [Token(Token = "0x4000319")] private float KCHCLGDDFGK = 0.8f; // Token: 0x0400031A RID: 794 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400031A")] private float IJODABDCKFJ = 2f; // Token: 0x0400031B RID: 795 [global::Cpp2IlInjected.FieldOffset(Offset = "0x64")] [Token(Token = "0x400031B")] private float JBHOEPLMAPO; // Token: 0x0400031C RID: 796 [Token(Token = "0x400031C")] private static Dictionary KGMJKCCLEGE = new Dictionary(); // Token: 0x0200007D RID: 125 [Token(Token = "0x200007D")] private class KGDINCIMJPN { // Token: 0x1700008B RID: 139 // (get) Token: 0x06000388 RID: 904 RVA: 0x00011DE4 File Offset: 0x0000FFE4 [Token(Token = "0x1700008B")] public bool KJHHBBBPFPM { [Token(Token = "0x6000388")] [Address(RVA = "0x1422DC0", Offset = "0x14217C0", VA = "0x181422DC0")] get { List fcchljkfdkd = this.FCCHLJKFDKD; bool flag; return flag; } } // Token: 0x06000389 RID: 905 RVA: 0x00011E00 File Offset: 0x00010000 [Token(Token = "0x6000389")] [Address(RVA = "0x1422E00", Offset = "0x1421800", VA = "0x181422E00")] public void LMHKKFJKNAD(MicrophoneTool JEOOHDHMOEC) { if (this.FCCHLJKFDKD.Contains(JEOOHDHMOEC)) { object[] array = new object[1]; string name = JEOOHDHMOEC.gameObject.name; if (name != 0) { } array[0] = name; Debug.LogWarningFormat("Already in range of {0}!", array); return; } this.FCCHLJKFDKD.Add(JEOOHDHMOEC); } // Token: 0x0600038A RID: 906 RVA: 0x00011E5C File Offset: 0x0001005C [Token(Token = "0x600038A")] [Address(RVA = "0x1422D60", Offset = "0x1421760", VA = "0x181422D60")] public void DJAHAHIHEJL(MicrophoneTool JEOOHDHMOEC) { bool flag = this.FCCHLJKFDKD.Remove(JEOOHDHMOEC); } // Token: 0x0600038B RID: 907 RVA: 0x00011E7C File Offset: 0x0001007C [Token(Token = "0x600038B")] [Address(RVA = "0x1422F40", Offset = "0x1421940", VA = "0x181422F40")] public KGDINCIMJPN() { List list = new List(); this.FCCHLJKFDKD = list; base..ctor(); } // Token: 0x0400031D RID: 797 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x400031D")] private List FCCHLJKFDKD; } }