Files
2026-04-08 23:40:05 +02:00

463 lines
14 KiB
C#

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<Tool>();
this.EGFEJGHDNAI = component;
int num = 0;
if (component != num)
{
Tool egfejghdnai = this.EGFEJGHDNAI;
ActionEvent<Tool> postPickupEvent = egfejghdnai.PostPickupEvent;
Action<Tool> action = new Action(this.GIJJGPLCDCH);
ActionEvent<Tool> 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<MicrophoneToolManager>(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<Tool> postPickupEvent = egfejghdnai2.PostPickupEvent;
Action<Tool> action = new Action(this.GIJJGPLCDCH);
ActionEvent<Tool> actionEvent = postPickupEvent - action;
egfejghdnai2.PostPickupEvent = actionEvent;
}
bool flag = MicrophoneTool.NHEKGEIOMEF.Remove(this);
List<MicrophoneTool> 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<int, MicrophoneTool.KGDINCIMJPN>.ValueCollection values = MicrophoneTool.KGMJKCCLEGE.Values;
Dictionary<int, MicrophoneTool.KGDINCIMJPN>.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 <FMMJEJMBDPL>k__BackingField = player.<FMMJEJMBDPL>k__BackingField;
MicrophoneTool.KGDINCIMJPN kgdincimjpn = this.IKKFOCGCMLP(<FMMJEJMBDPL>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 <FMMJEJMBDPL>k__BackingField2 = player.<FMMJEJMBDPL>k__BackingField;
List<MicrophoneTool> fcchljkfdkd = this.IKKFOCGCMLP(<FMMJEJMBDPL>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<Player> 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<PlayerHand>();
Tool egfejghdnai = this.EGFEJGHDNAI;
if (egfejghdnai != 0 && egfejghdnai.FNFNLDBILFE && GLPOLGOBLAA.GetComponentInParent<Player>())
{
int num = 0;
if (componentInParent == num)
{
return;
}
PlayerHand <PBCNKLKCIHJ>k__BackingField = this.EGFEJGHDNAI.<PBCNKLKCIHJ>k__BackingField;
if (componentInParent == <PBCNKLKCIHJ>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<int, MicrophoneTool.KGDINCIMJPN> kgmjkcclege = MicrophoneTool.KGMJKCCLEGE;
bool flag;
if (!flag)
{
MicrophoneTool.KGDINCIMJPN kgdincimjpn = new MicrophoneTool.KGDINCIMJPN();
List<MicrophoneTool> 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<MicrophoneTool> 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<int, MicrophoneTool.KGDINCIMJPN> 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<MicrophoneTool> 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<MicrophoneTool> list = new List();
this.FCCHLJKFDKD = list;
base..ctor();
}
// Token: 0x0400031D RID: 797
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400031D")]
private List<MicrophoneTool> FCCHLJKFDKD;
}
}