using System; using System.Collections; using System.Collections.Generic; using Cpp2IlInjected; using UnityEngine; // Token: 0x0200005E RID: 94 [Token(Token = "0x200005E")] public class MicrophoneToolManager : SingletonMonoBehaviour { // Token: 0x17000072 RID: 114 // (get) Token: 0x060002A6 RID: 678 RVA: 0x0000E394 File Offset: 0x0000C594 // (set) Token: 0x060002A7 RID: 679 RVA: 0x0000E3A8 File Offset: 0x0000C5A8 [Token(Token = "0x17000072")] public MicrophoneToolManager.KGMOAFBFDAK PIAMEOFOMKN { [Token(Token = "0x60002A6")] [Address(RVA = "0x470B60", Offset = "0x46FB60", VA = "0x180470B60")] get; [Token(Token = "0x60002A7")] [Address(RVA = "0x5AC5B0", Offset = "0x5AB5B0", VA = "0x1805AC5B0")] private set; } // Token: 0x060002A8 RID: 680 RVA: 0x0000E3BC File Offset: 0x0000C5BC [Token(Token = "0x60002A8")] [Address(RVA = "0x175C040", Offset = "0x175B040", VA = "0x18175C040", Slot = "4")] protected override void Awake() { base.Awake(); string[] names = Enum.GetNames(typeof(MicrophoneToolManager.KGMOAFBFDAK)); MicrophoneToolManager.SpeakerLineLevelThreshold[] array = this.speakerLineLevelThresholds; int length = names.Length; if (length != array.Length) { Debug.LogError("Length of Speaker Line Level Thresholds array must be " + length); } } // Token: 0x060002A9 RID: 681 RVA: 0x0000E40C File Offset: 0x0000C60C [Token(Token = "0x60002A9")] [Address(RVA = "0x175C910", Offset = "0x175B910", VA = "0x18175C910")] private void Update() { this.MPGCDIKMJPE(); } // Token: 0x060002AA RID: 682 RVA: 0x0000E420 File Offset: 0x0000C620 [Token(Token = "0x60002AA")] [Address(RVA = "0x175C810", Offset = "0x175B810", VA = "0x18175C810")] public void ScheduleDestroy() { if (base.gameObject.activeInHierarchy) { if (this.MBNDOLGFCMA == (ulong)0L) { MicrophoneToolManager.GPLAPOKKGAO gplapokkgao; gplapokkgao.System.IDisposable.Dispose(); gplapokkgao.<>1__state = (int)((ulong)0L); gplapokkgao.<>4__this = this; Coroutine coroutine = base.StartCoroutine(gplapokkgao); this.MBNDOLGFCMA = coroutine; } return; } global::UnityEngine.Object.Destroy(base.gameObject); } // Token: 0x060002AB RID: 683 RVA: 0x0000E480 File Offset: 0x0000C680 [Token(Token = "0x60002AB")] [Address(RVA = "0x175C1B0", Offset = "0x175B1B0", VA = "0x18175C1B0")] private IEnumerator CCNPMLLJNPP() { /* An exception occurred when decompiling this method (060002AB) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator MicrophoneToolManager::CCNPMLLJNPP() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(GPLAPOKKGAO::System.IDisposable.Dispose, ldloc:GPLAPOKKGAO(var_0)) stfld:int32(GPLAPOKKGAO::<>1__state, ldloc:GPLAPOKKGAO(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:MicrophoneToolManager(GPLAPOKKGAO::<>4__this, ldloc:GPLAPOKKGAO(var_0), ldloc:MicrophoneToolManager(this)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060002AC RID: 684 RVA: 0x0000E4A4 File Offset: 0x0000C6A4 [Token(Token = "0x60002AC")] [Address(RVA = "0x175C600", Offset = "0x175B600", VA = "0x18175C600")] public void MicAdded() { Coroutine mbndolgfcma = this.MBNDOLGFCMA; if (mbndolgfcma != 0) { base.StopCoroutine(mbndolgfcma); this.MBNDOLGFCMA = (ulong)0L; return; } this.MBNDOLGFCMA = (ulong)0L; } // Token: 0x060002AD RID: 685 RVA: 0x0000E4D8 File Offset: 0x0000C6D8 [Token(Token = "0x60002AD")] [Address(RVA = "0x175C740", Offset = "0x175B740", VA = "0x18175C740")] public void OnMicUseEvent(Player IEKDDPPNFPF, bool PDGEAOIPNKH) { List ecopckkgmdc; for (;;) { ecopckkgmdc = this.ECOPCKKGMDC; if (PDGEAOIPNKH) { break; } if (ecopckkgmdc.Contains(IEKDDPPNFPF)) { goto Block_2; } } if (!ecopckkgmdc.Contains(IEKDDPPNFPF)) { this.ECOPCKKGMDC.Add(IEKDDPPNFPF); } return; Block_2: bool flag = this.ECOPCKKGMDC.Remove(IEKDDPPNFPF); } // Token: 0x060002AE RID: 686 RVA: 0x0000E524 File Offset: 0x0000C724 [Token(Token = "0x60002AE")] [Address(RVA = "0x175C640", Offset = "0x175B640", VA = "0x18175C640")] public void OnMicSpeakerLinesEvent(float HPNMFCBDOEI, MicrophoneToolManager.KGMOAFBFDAK EMCGAOMOBPB) { float num = Mathf.Max(HPNMFCBDOEI, HPNMFCBDOEI); this.CEFIKHEJJGD = num; Coroutine gfnalckjbcj = this.GFNALCKJBCJ; this.KKOMEACNLEI = EMCGAOMOBPB; if (gfnalckjbcj != 0) { base.StopCoroutine(gfnalckjbcj); } MicrophoneToolManager.IBEEJHGJDGN ibeejhgjdgn; ibeejhgjdgn.System.IDisposable.Dispose(); ibeejhgjdgn.micHitAudioDuration = HPNMFCBDOEI; ibeejhgjdgn.<>1__state = (int)((ulong)0L); ibeejhgjdgn.<>4__this = this; Coroutine coroutine = base.StartCoroutine(ibeejhgjdgn); this.GFNALCKJBCJ = coroutine; } // Token: 0x060002AF RID: 687 RVA: 0x0000E58C File Offset: 0x0000C78C [Token(Token = "0x60002AF")] [Address(RVA = "0x175C150", Offset = "0x175B150", VA = "0x18175C150")] private MicrophoneToolManager.KGMOAFBFDAK BPFBOALBBHO(float DKDOBJOOGLC) { MicrophoneToolManager.SpeakerLineLevelThreshold[] array = this.speakerLineLevelThresholds; int length = array.Length; if (DKDOBJOOGLC < "{il2cpp array field local2->}") { } MicrophoneToolManager.SpeakerLineLevelThreshold speakerLineLevelThreshold = array[length]; throw new NullReferenceException(); } // Token: 0x060002B0 RID: 688 RVA: 0x0000E5C0 File Offset: 0x0000C7C0 [Token(Token = "0x60002B0")] [Address(RVA = "0x175C210", Offset = "0x175B210", VA = "0x18175C210")] private void MPGCDIKMJPE() { int num2; MicrophoneToolManager.KGMOAFBFDAK kkomeacnlei; int num8; for (;;) { int num = 0; num2 = 0; kkomeacnlei = this.KKOMEACNLEI; if (kkomeacnlei == MicrophoneToolManager.KGMOAFBFDAK.OFF) { List list = new List(); List ecopckkgmdc = this.ECOPCKKGMDC; List ecopckkgmdc2 = this.ECOPCKKGMDC; bool flag; if (flag) { goto IL_64; } List ecopckkgmdc3 = this.ECOPCKKGMDC; float num3; float num4; if (num3 > num4) { List ecopckkgmdc4 = this.ECOPCKKGMDC; float num5 = num4; float num6 = Mathf.InverseLerp(num5, 1f, num5); float num7 = Mathf.Max((float)num2, num6); goto IL_64; } IL_6B: num++; List.Enumerator enumerator = this.ECOPCKKGMDC.GetEnumerator(); bool flag2; if (flag2) { List ecopckkgmdc5 = this.ECOPCKKGMDC; } num8 = 0; if (num == 0) { break; } continue; IL_64: list.Add(num); goto IL_6B; } goto IL_C7; } MicrophoneToolManager.SpeakerLineLevelThreshold[] array = this.speakerLineLevelThresholds; int length = array.Length; if (num2 < "{il2cpp array field local29->}") { this.k__BackingField = (MicrophoneToolManager.KGMOAFBFDAK)num8; } MicrophoneToolManager.SpeakerLineLevelThreshold speakerLineLevelThreshold = array[length]; this.k__BackingField = speakerLineLevelThreshold; IL_C7: this.k__BackingField = kkomeacnlei; } // Token: 0x060002B1 RID: 689 RVA: 0x0000E6A4 File Offset: 0x0000C8A4 [Token(Token = "0x60002B1")] [Address(RVA = "0x175BFD0", Offset = "0x175AFD0", VA = "0x18175BFD0")] private IEnumerator AIBLAJMBBLB(float APLONMPKDID) { /* An exception occurred when decompiling this method (060002B1) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator MicrophoneToolManager::AIBLAJMBBLB(System.Single) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(IBEEJHGJDGN::System.IDisposable.Dispose, ldloc:IBEEJHGJDGN(var_0)) stfld:float32(IBEEJHGJDGN::micHitAudioDuration, ldloc:IBEEJHGJDGN(var_0), ldloc:float32(APLONMPKDID)) stfld:int32(IBEEJHGJDGN::<>1__state, ldloc:IBEEJHGJDGN(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:MicrophoneToolManager(IBEEJHGJDGN::<>4__this, ldloc:IBEEJHGJDGN(var_0), ldloc:MicrophoneToolManager(this)) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060002B2 RID: 690 RVA: 0x0000E6D0 File Offset: 0x0000C8D0 [Token(Token = "0x60002B2")] [Address(RVA = "0x175C920", Offset = "0x175B920", VA = "0x18175C920")] public MicrophoneToolManager() { List list = new List(); this.ECOPCKKGMDC = list; base..ctor(); } // Token: 0x04000239 RID: 569 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4000239")] private List ECOPCKKGMDC; // Token: 0x0400023A RID: 570 [FieldOffset(Offset = "0x20")] [Token(Token = "0x400023A")] private MicrophoneToolManager.KGMOAFBFDAK KKOMEACNLEI; // Token: 0x0400023C RID: 572 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400023C")] [SerializeField] private MicrophoneToolManager.SpeakerLineLevelThreshold[] speakerLineLevelThresholds; // Token: 0x0400023D RID: 573 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400023D")] private float CEFIKHEJJGD; // Token: 0x0400023E RID: 574 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400023E")] private Coroutine MBNDOLGFCMA; // Token: 0x0400023F RID: 575 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400023F")] private Coroutine GFNALCKJBCJ; // Token: 0x0200005F RID: 95 [Token(Token = "0x200005F")] public enum KGMOAFBFDAK { // Token: 0x04000241 RID: 577 [Token(Token = "0x4000241")] OFF, // Token: 0x04000242 RID: 578 [Token(Token = "0x4000242")] LEVEL_1, // Token: 0x04000243 RID: 579 [Token(Token = "0x4000243")] LEVEL_2, // Token: 0x04000244 RID: 580 [Token(Token = "0x4000244")] LEVEL_3, // Token: 0x04000245 RID: 581 [Token(Token = "0x4000245")] LEVEL_4 } // Token: 0x02000060 RID: 96 [Token(Token = "0x2000060")] [Serializable] public struct SpeakerLineLevelThreshold { // Token: 0x04000246 RID: 582 [FieldOffset(Offset = "0x0")] [Token(Token = "0x4000246")] public MicrophoneToolManager.KGMOAFBFDAK lineLevel; // Token: 0x04000247 RID: 583 [FieldOffset(Offset = "0x4")] [Token(Token = "0x4000247")] public float volumeThreshold; } }