using System; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using Cpp2IlInjected; using UnityEngine; // Token: 0x020001FE RID: 510 [Token(Token = "0x20001FE")] [StructLayout(3)] public class CollisionAudio : MonoBehaviour { // Token: 0x06000FFB RID: 4091 RVA: 0x00045EA0 File Offset: 0x000440A0 [Token(Token = "0x6000FFB")] [Address(RVA = "0x1B04990", Offset = "0x1B03390", VA = "0x181B04990")] private IEnumerator Start() { /* An exception occurred when decompiling this method (06000FFB) 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(FDCKCECMGFL::System.IDisposable.Dispose, ldloc:FDCKCECMGFL(var_0)) stfld:int32(FDCKCECMGFL::<>1__state, ldloc:FDCKCECMGFL(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:CollisionAudio(FDCKCECMGFL::<>4__this, ldloc:FDCKCECMGFL(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: 0x06000FFC RID: 4092 RVA: 0x00045EC4 File Offset: 0x000440C4 [Token(Token = "0x6000FFC")] [Address(RVA = "0x1B048C0", Offset = "0x1B032C0", VA = "0x181B048C0")] 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: 0x06000FFD RID: 4093 RVA: 0x00045F10 File Offset: 0x00044110 [Token(Token = "0x6000FFD")] [Address(RVA = "0x1B047E0", Offset = "0x1B031E0", VA = "0x181B047E0")] 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: 0x06000FFE RID: 4094 RVA: 0x00045F60 File Offset: 0x00044160 [Token(Token = "0x6000FFE")] [Address(RVA = "0x1B04630", Offset = "0x1B03030", VA = "0x181B04630")] 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: 0x06000FFF RID: 4095 RVA: 0x00045FAC File Offset: 0x000441AC [Token(Token = "0x6000FFF")] [Address(RVA = "0x1B04080", Offset = "0x1B02A80", VA = "0x181B04080")] private void DHOMIDPOPJB(MeleeWeaponCollider BCFFGDFHJMK, GHMDIDJLFMC KNLMJBAKCGF) { } // Token: 0x06001000 RID: 4096 RVA: 0x00045FBC File Offset: 0x000441BC [Token(Token = "0x6001000")] [Address(RVA = "0x1B04120", Offset = "0x1B02B20", VA = "0x181B04120")] private void JJALMFBIPKL(GameObject PGPKHKFMPLD, Vector3 BEOPNIAIJOM, Vector3 CPINMDMJAMO, Vector3 GJFAEGPLDAB) { int num; int num2; do { num = 0; if ((this.ELCODMMONJB ? 1 : 0) == num) { return; } List jlgaahnomjm = this.JLGAAHNOMJM; List.Enumerator enumerator; if (enumerator != 0) { bool flag; while (!flag) { } } num2 = 0; if (num != -1) { } } while (num != 0); if (num != 0) { float time = Time.time; float time2 = Time.time; if (num2 == 0) { return; } } 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; if (num2 < length) { CollisionAudio.AudioClipsToLayer audioClipsToLayer = array[num2]; int layer = PGPKHKFMPLD.layer; float time4 = Time.time; float num3 = audioClipsToLayer.InstanceLimitDuration; if ((num3 >= time4 || Time.time > audioClipsToLayer.InstanceLimitDuration) && (uint)1 != (uint)layer) { string tag = audioClipsToLayer.Tag; if (layer != 0) { goto IL_FC; } string tag2 = audioClipsToLayer.Tag; if (PGPKHKFMPLD.CompareTag(tag2)) { goto IL_FC; } } num2++; IL_FC: float time5 = Time.time; audioClipsToLayer.k__BackingField = time5; AnimationCurve velocityToVolumeCurve = audioClipsToLayer.velocityToVolumeCurve; float num4; if (velocityToVolumeCurve != 0 && velocityToVolumeCurve.length > 0) { AnimationCurve velocityToVolumeCurve2 = audioClipsToLayer.velocityToVolumeCurve; num3 = Mathf.Clamp01(time5); num4 = velocityToVolumeCurve2.Evaluate(num3); } int num5 = 0; float num6; num4 = num6; num6 = Mathf.Clamp01(num4); RecRoomAudioClip[] clips = audioClipsToLayer.Clips; if (this.useCustomRolloff) { throw new NullReferenceException(); } int num7 = 0; int num8 = 0; SFXAudioSource sfxaudioSource = AudioManager.PlayRandom3DSFX(clips, num5, num8, num7 != 0, num6, num2); } } // Token: 0x06001001 RID: 4097 RVA: 0x00046154 File Offset: 0x00044354 [Token(Token = "0x6001001")] [Address(RVA = "0x1B049F0", Offset = "0x1B033F0", VA = "0x181B049F0")] public CollisionAudio() { List list = new List(); this.JLGAAHNOMJM = list; base..ctor(); } // Token: 0x04000CC5 RID: 3269 [Token(Token = "0x4000CC5")] private const float CBPIPLAFEIK = 25f; // Token: 0x04000CC6 RID: 3270 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4000CC6")] private float KDHLFJAAMFJ = 0.1f; // Token: 0x04000CC7 RID: 3271 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4000CC7")] [SerializeField] private CollisionAudio.AudioClipsToLayer[] audioMappings; // Token: 0x04000CC8 RID: 3272 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4000CC8")] [SerializeField] private bool useCustomRolloff; // Token: 0x04000CC9 RID: 3273 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4000CC9")] [SerializeField] private AudioRolloff customRolloff; // Token: 0x04000CCA RID: 3274 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4000CCA")] [SerializeField] [Tooltip("MeleeWeaponColliders that can trigger the collision audio in addition to normal physics collisions.")] private MeleeWeaponCollider[] meleeWeaponColliders; // Token: 0x04000CCB RID: 3275 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4000CCB")] private List JLGAAHNOMJM; // Token: 0x04000CCC RID: 3276 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4000CCC")] private bool ELCODMMONJB; // Token: 0x020001FF RID: 511 [Token(Token = "0x20001FF")] private class PGCONDHMCGB { // Token: 0x06001002 RID: 4098 RVA: 0x00046180 File Offset: 0x00044380 [Token(Token = "0x6001002")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public PGCONDHMCGB() { } // Token: 0x04000CCD RID: 3277 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4000CCD")] public GameObject FKJEIHGOADP; // Token: 0x04000CCE RID: 3278 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4000CCE")] public float IGJBBOHEJHL; } // Token: 0x02000200 RID: 512 [Token(Token = "0x2000200")] [Serializable] public class AudioClipsToLayer { // Token: 0x17000260 RID: 608 // (get) Token: 0x06001003 RID: 4099 RVA: 0x00046194 File Offset: 0x00044394 // (set) Token: 0x06001004 RID: 4100 RVA: 0x000461A8 File Offset: 0x000443A8 [Token(Token = "0x17000260")] public float LastInstanceTime { [Token(Token = "0x6001003")] [Address(RVA = "0x621D80", Offset = "0x620780", VA = "0x180621D80")] get; [Token(Token = "0x6001004")] [Address(RVA = "0x9E8110", Offset = "0x9E6B10", VA = "0x1809E8110")] set; } // Token: 0x06001005 RID: 4101 RVA: 0x000461BC File Offset: 0x000443BC [Token(Token = "0x6001005")] [Address(RVA = "0x1B03D90", Offset = "0x1B02790", VA = "0x181B03D90")] public bool BOBJDACCBKO(GameObject NNNMGKGMIFG) { int layer = NNNMGKGMIFG.layer; float time = Time.time; if ((this.InstanceLimitDuration >= time || Time.time > this.InstanceLimitDuration) && (uint)1 != (uint)layer) { string tag = this.Tag; if (layer == 0) { string tag2 = this.Tag; if (!NNNMGKGMIFG.CompareTag(tag2)) { goto IL_5F; } } float time2 = Time.time; this.k__BackingField = time2; return true; } IL_5F: throw new NullReferenceException(); } // Token: 0x06001006 RID: 4102 RVA: 0x00046230 File Offset: 0x00044430 [Token(Token = "0x6001006")] [Address(RVA = "0x1B03E50", Offset = "0x1B02850", VA = "0x181B03E50")] public AudioClipsToLayer() { } // Token: 0x04000CCF RID: 3279 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x4000CCF")] public string Name; // Token: 0x04000CD0 RID: 3280 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4000CD0")] public LayerMask Layers; // Token: 0x04000CD1 RID: 3281 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4000CD1")] public string Tag = ""; // Token: 0x04000CD2 RID: 3282 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4000CD2")] public AnimationCurve velocityToVolumeCurve; // Token: 0x04000CD3 RID: 3283 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4000CD3")] public RecRoomAudioClip[] Clips; // Token: 0x04000CD4 RID: 3284 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4000CD4")] [Tooltip("Per clip cooldown to limit the number of consecutive audios. Set it to 0 for most clips")] public float InstanceLimitDuration; } }