using System; using System.Collections; using System.Collections.Generic; using Cpp2IlInjected; using UnityEngine; // Token: 0x020001EA RID: 490 [Token(Token = "0x20001EA")] public class CollisionAudio : MonoBehaviour { // Token: 0x1700024B RID: 587 // (get) Token: 0x06000F6E RID: 3950 RVA: 0x000437E8 File Offset: 0x000419E8 // (set) Token: 0x06000F6F RID: 3951 RVA: 0x000437FC File Offset: 0x000419FC [Token(Token = "0x1700024B")] public bool KHMAFBIKIMA { [Token(Token = "0x6000F6E")] [Address(RVA = "0xAF8AC0", Offset = "0xAF78C0", VA = "0x180AF8AC0")] get; [Token(Token = "0x6000F6F")] [Address(RVA = "0xAF8100", Offset = "0xAF6F00", VA = "0x180AF8100")] set; } // Token: 0x06000F70 RID: 3952 RVA: 0x00043810 File Offset: 0x00041A10 [Token(Token = "0x6000F70")] [Address(RVA = "0x146C300", Offset = "0x146B100", VA = "0x18146C300")] private IEnumerator Start() { /* An exception occurred when decompiling this method (06000F70) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator CollisionAudio::Start() ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(EADCNFKALAA::System.IDisposable.Dispose, ldloc:EADCNFKALAA(var_0)) stfld:int32(EADCNFKALAA::<>1__state, ldloc:EADCNFKALAA(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:CollisionAudio(EADCNFKALAA::<>4__this, ldloc:EADCNFKALAA(var_0), ldloc:CollisionAudio(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: 0x06000F71 RID: 3953 RVA: 0x00043834 File Offset: 0x00041A34 [Token(Token = "0x6000F71")] [Address(RVA = "0x146C230", Offset = "0x146B030", VA = "0x18146C230")] private void OnEnable() { MeleeWeaponCollider[] array = this.meleeWeaponColliders; int num = 0; int length = array.Length; if (num < length) { MeleeWeaponCollider meleeWeaponCollider = array[num]; MeleeWeaponCollider.MMFFGBGIAAD mmffgbgiaad = new MeleeWeaponCollider.MMFFGBGIAAD(this.DHOMIDPOPJB); meleeWeaponCollider.HJKPKBBLGOJ += mmffgbgiaad; num++; } } // Token: 0x06000F72 RID: 3954 RVA: 0x00043880 File Offset: 0x00041A80 [Token(Token = "0x6000F72")] [Address(RVA = "0x146C150", Offset = "0x146AF50", VA = "0x18146C150")] private void OnDisable() { MeleeWeaponCollider[] array = this.meleeWeaponColliders; int num = 0; this.ELCODMMONJB = true; int length = array.Length; if (num < length) { MeleeWeaponCollider meleeWeaponCollider = array[num]; MeleeWeaponCollider.MMFFGBGIAAD mmffgbgiaad = new MeleeWeaponCollider.MMFFGBGIAAD(this.DHOMIDPOPJB); meleeWeaponCollider.HJKPKBBLGOJ -= mmffgbgiaad; num++; } } // Token: 0x06000F73 RID: 3955 RVA: 0x000438D0 File Offset: 0x00041AD0 [Token(Token = "0x6000F73")] [Address(RVA = "0x146BFA0", Offset = "0x146ADA0", VA = "0x18146BFA0")] private void OnCollisionEnter(Collision GBJHLKOJGPB) { if (this.ELCODMMONJB && GBJHLKOJGPB.contacts.Length != 0) { GameObject gameObject = GBJHLKOJGPB.collider.gameObject; ContactPoint[] contacts = GBJHLKOJGPB.contacts; ContactPoint[] contacts2 = GBJHLKOJGPB.contacts; Vector3 vector; float z = vector.z; } } // Token: 0x06000F74 RID: 3956 RVA: 0x0004391C File Offset: 0x00041B1C [Token(Token = "0x6000F74")] [Address(RVA = "0x146B7E0", Offset = "0x146A5E0", VA = "0x18146B7E0")] private void DHOMIDPOPJB(MeleeWeaponCollider BCFFGDFHJMK, GHMDIDJLFMC KNLMJBAKCGF) { } // Token: 0x06000F75 RID: 3957 RVA: 0x0004392C File Offset: 0x00041B2C [Token(Token = "0x6000F75")] [Address(RVA = "0x146B880", Offset = "0x146A680", VA = "0x18146B880")] private void JJALMFBIPKL(GameObject PGPKHKFMPLD, Vector3 BEOPNIAIJOM, Vector3 CPINMDMJAMO, Vector3 GJFAEGPLDAB) { int i; CollisionAudio.AudioClipsToLayer audioClipsToLayer; float num3; float num5; for (;;) { i = 0; if ((this.ELCODMMONJB ? 1 : 0) == i || (this.k__BackingField ? 1 : 0) != i) { break; } List jlgaahnomjm = this.JLGAAHNOMJM; bool flag; if (flag) { bool flag2; while (!flag2) { } } int num = 0; if (i == 0) { if (i != 0) { float time = Time.time; float time2 = Time.time; if (num == 0) { break; } } else { CollisionAudio.PGCONDHMCGB pgcondhmcgb = new CollisionAudio.PGCONDHMCGB(); pgcondhmcgb.FKJEIHGOADP = PGPKHKFMPLD; float time3 = Time.time; pgcondhmcgb.IGJBBOHEJHL = time3; this.JLGAAHNOMJM.Add(pgcondhmcgb); } CollisionAudio.AudioClipsToLayer[] array = this.audioMappings; int length = array.Length; while (i >= length) { } audioClipsToLayer = array[i]; int layer = PGPKHKFMPLD.layer; if (audioClipsToLayer.k__BackingField == 0) { goto IL_C6; } int num2 = 0; num3 = Time.time; if (audioClipsToLayer.k__BackingField != 0) { } if (i != num2) { goto IL_C6; } goto IL_EC; IL_F0: AnimationCurve velocityToVolumeCurve = audioClipsToLayer.velocityToVolumeCurve; float num4; if (velocityToVolumeCurve != 0 && velocityToVolumeCurve.length > 0) { AnimationCurve velocityToVolumeCurve2 = audioClipsToLayer.velocityToVolumeCurve; num3 = Mathf.Clamp01(num3); num4 = velocityToVolumeCurve2.Evaluate(num3); } num4 = num5; num5 = Mathf.Clamp01(num4); CollisionAudio.AudioClipsToLayer.OBGJJILEJMI type = audioClipsToLayer.Type; if (type == CollisionAudio.AudioClipsToLayer.OBGJJILEJMI.SFX3D) { goto IL_1B8; } if (type == CollisionAudio.AudioClipsToLayer.OBGJJILEJMI.SFX3D) { goto IL_19A; } while (type != CollisionAudio.AudioClipsToLayer.OBGJJILEJMI.SFX2D) { } if (SingletonMonoBehaviour.FFNIFALJLDD) { goto Block_12; } continue; IL_C6: uint num6; if (num6 != (uint)i) { string tag = audioClipsToLayer.Tag; if (i != 0) { goto IL_F0; } string tag2 = audioClipsToLayer.Tag; if (PGPKHKFMPLD.CompareTag(tag2)) { goto IL_F0; } } IL_EC: i++; goto IL_F0; } } return; Block_12: bool isPlayingVO = SingletonMonoBehaviour.ONCPNMDGGKG.FMHMDIFGABF; while (isPlayingVO) { } if (isPlayingVO) { string name = audioClipsToLayer.Name; float num7; CollisionAudio.AudioClipsToLayer.OBGJJILEJMI obgjjilejmi; Debug.LogWarning(string.Format("Ignoring volume scale {0:N3}, since clip \"{1}\" is marked as {2}.", num7, name, obgjjilejmi), this); } TutorialManager instance = SingletonMonoBehaviour.ONCPNMDGGKG; throw new MissingMethodException(); IL_19A: RecRoomAudioClip[] clips = audioClipsToLayer.Clips; int num8 = 0; int num9 = 0; SFXAudioSource sfxaudioSource = AudioManager.PlayRandom2DSFX(clips, num9 != 0, num5, num8); IL_1B8: RecRoomAudioClip[] clips2 = audioClipsToLayer.Clips; if (!this.useCustomRolloff) { } AudioRolloff audioRolloff = this.customRolloff; int num10 = 0; SFXAudioSource sfxaudioSource2 = AudioManager.PlayRandom3DSFX(clips2, num9, audioRolloff, num10 != 0, num5, i); num3 = Time.time; audioClipsToLayer.k__BackingField = sfxaudioSource2; throw new NullReferenceException(); } // Token: 0x06000F76 RID: 3958 RVA: 0x00043B40 File Offset: 0x00041D40 [Token(Token = "0x6000F76")] [Address(RVA = "0x146C360", Offset = "0x146B160", VA = "0x18146C360")] public CollisionAudio() { List list = new List(); this.JLGAAHNOMJM = list; base..ctor(); } // Token: 0x04000C45 RID: 3141 [Token(Token = "0x4000C45")] private const float CBPIPLAFEIK = 25f; // Token: 0x04000C46 RID: 3142 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4000C46")] private float KDHLFJAAMFJ = 0.1f; // Token: 0x04000C47 RID: 3143 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4000C47")] [SerializeField] private CollisionAudio.AudioClipsToLayer[] audioMappings; // Token: 0x04000C48 RID: 3144 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4000C48")] [SerializeField] private bool useCustomRolloff; // Token: 0x04000C49 RID: 3145 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4000C49")] [SerializeField] private AudioRolloff customRolloff; // Token: 0x04000C4A RID: 3146 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4000C4A")] [SerializeField] [Tooltip("MeleeWeaponColliders that can trigger the collision audio in addition to normal physics collisions.")] private MeleeWeaponCollider[] meleeWeaponColliders; // Token: 0x04000C4B RID: 3147 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4000C4B")] private List JLGAAHNOMJM; // Token: 0x04000C4C RID: 3148 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4000C4C")] private bool ELCODMMONJB; // Token: 0x020001EB RID: 491 [Token(Token = "0x20001EB")] private class PGCONDHMCGB { // Token: 0x06000F77 RID: 3959 RVA: 0x00043B6C File Offset: 0x00041D6C [Token(Token = "0x6000F77")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public PGCONDHMCGB() { } // Token: 0x04000C4E RID: 3150 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4000C4E")] public GameObject FKJEIHGOADP; // Token: 0x04000C4F RID: 3151 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4000C4F")] public float IGJBBOHEJHL; } // Token: 0x020001EC RID: 492 [Token(Token = "0x20001EC")] [Serializable] public class AudioClipsToLayer { // Token: 0x1700024C RID: 588 // (get) Token: 0x06000F78 RID: 3960 RVA: 0x00043B80 File Offset: 0x00041D80 // (set) Token: 0x06000F79 RID: 3961 RVA: 0x00043B94 File Offset: 0x00041D94 [Token(Token = "0x1700024C")] public float? LastInstanceTime { [Token(Token = "0x6000F78")] [Address(RVA = "0x121CD90", Offset = "0x121BB90", VA = "0x18121CD90")] get; [Token(Token = "0x6000F79")] [Address(RVA = "0x121CD70", Offset = "0x121BB70", VA = "0x18121CD70")] set; } // Token: 0x06000F7A RID: 3962 RVA: 0x00043BA8 File Offset: 0x00041DA8 [Token(Token = "0x6000F7A")] [Address(RVA = "0x145B6C0", Offset = "0x145A4C0", VA = "0x18145B6C0")] public bool BOBJDACCBKO(GameObject NNNMGKGMIFG) { int layer = NNNMGKGMIFG.layer; float? num = this.k__BackingField; if (num != 0) { float time = Time.time; float? num2 = this.k__BackingField; int num3 = 0; if (num2 != 0) { } if (num3 == 0) { goto IL_57; } } if ((uint)1 != num) { string tag = this.Tag; if (num == 0) { string tag2 = this.Tag; if (!NNNMGKGMIFG.CompareTag(tag2)) { goto IL_57; } } return true; } IL_57: throw new NullReferenceException(); } // Token: 0x06000F7B RID: 3963 RVA: 0x00043C14 File Offset: 0x00041E14 [Token(Token = "0x6000F7B")] [Address(RVA = "0x145B7E0", Offset = "0x145A5E0", VA = "0x18145B7E0")] public AudioClipsToLayer() { } // Token: 0x04000C50 RID: 3152 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4000C50")] public string Name; // Token: 0x04000C51 RID: 3153 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4000C51")] public CollisionAudio.AudioClipsToLayer.OBGJJILEJMI Type; // Token: 0x04000C52 RID: 3154 [FieldOffset(Offset = "0x1C")] [Token(Token = "0x4000C52")] public LayerMask Layers; // Token: 0x04000C53 RID: 3155 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4000C53")] public string Tag = ""; // Token: 0x04000C54 RID: 3156 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4000C54")] public AnimationCurve velocityToVolumeCurve; // Token: 0x04000C55 RID: 3157 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4000C55")] public RecRoomAudioClip[] Clips; // Token: 0x04000C56 RID: 3158 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4000C56")] [Tooltip("Per clip cooldown to limit the number of consecutive audios. Set it to 0 for most clips")] public float InstanceLimitDuration; // Token: 0x020001ED RID: 493 [Token(Token = "0x20001ED")] public enum OBGJJILEJMI { // Token: 0x04000C59 RID: 3161 [Token(Token = "0x4000C59")] SFX3D, // Token: 0x04000C5A RID: 3162 [Token(Token = "0x4000C5A")] SFX2D, // Token: 0x04000C5B RID: 3163 [Token(Token = "0x4000C5B")] TutorialVoiceOver } } }