using System; using System.Collections; using Cpp2IlInjected; using RecRoom.Core.Combat; using UnityEngine; // Token: 0x02000554 RID: 1364 [Token(Token = "0x2000554")] public class ToolTrail : MonoBehaviour { // Token: 0x06002994 RID: 10644 RVA: 0x000A8A74 File Offset: 0x000A6C74 [Token(Token = "0x6002994")] [Address(RVA = "0x1321550", Offset = "0x1320550", VA = "0x181321550")] private void Awake() { Tool componentInParent = base.GetComponentInParent(); this.NBHJPDBHDHB = componentInParent; MFBGLIHGCGO postReleaseEvent = componentInParent.PostReleaseEvent; Action action = new Action(this.PAEFCHDJPHF); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postReleaseEvent, action); componentInParent.PostReleaseEvent = mfbglihgcgo; Tool nbhjpdbhdhb = this.NBHJPDBHDHB; MFBGLIHGCGO postPickupEvent = nbhjpdbhdhb.PostPickupEvent; Action action2 = new Action(this.AEHDEJPEAKM); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action2); nbhjpdbhdhb.PostPickupEvent = mfbglihgcgo2; Tool nbhjpdbhdhb2 = this.NBHJPDBHDHB; EAHPNACBLDD attackAppliedEvent = nbhjpdbhdhb2.AttackAppliedEvent; Action action3 = new Action(this.FCAOMHKOJOH); EAHPNACBLDD eahpnacbldd = EAHPNACBLDD.BPJDFPACLMK(attackAppliedEvent, action3); nbhjpdbhdhb2.AttackAppliedEvent = eahpnacbldd; Tool nbhjpdbhdhb3 = this.NBHJPDBHDHB; EAHPNACBLDD postResetEvent = nbhjpdbhdhb3.PostResetEvent; Action action4 = new Action(this.LBODGLNOABB); EAHPNACBLDD eahpnacbldd2 = EAHPNACBLDD.BPJDFPACLMK(postResetEvent, action4); nbhjpdbhdhb3.PostResetEvent = eahpnacbldd2; TrailRenderer component = base.GetComponent(); this.DEOCLFNKJBN = component; } // Token: 0x06002995 RID: 10645 RVA: 0x000A8B64 File Offset: 0x000A6D64 [Token(Token = "0x6002995")] [Address(RVA = "0x1321870", Offset = "0x1320870", VA = "0x181321870")] private void Start() { TrailRenderer deoclfnkjbn = this.DEOCLFNKJBN; int num = 0; deoclfnkjbn.enabled = num != 0; this.DEOCLFNKJBN.Clear(); TrailRenderer deoclfnkjbn2 = this.DEOCLFNKJBN; int num2 = 0; deoclfnkjbn2.time = (float)num2; } // Token: 0x06002996 RID: 10646 RVA: 0x000A8BA4 File Offset: 0x000A6DA4 [Token(Token = "0x6002996")] [Address(RVA = "0x1321720", Offset = "0x1320720", VA = "0x181321720")] private void OnDisable() { Coroutine onpijmcgcig = this.ONPIJMCGCIG; if (onpijmcgcig != 0) { base.StopCoroutine(onpijmcgcig); this.ONPIJMCGCIG = (ulong)0L; } } // Token: 0x06002997 RID: 10647 RVA: 0x000A8BCC File Offset: 0x000A6DCC [Token(Token = "0x6002997")] [Address(RVA = "0x13219F0", Offset = "0x13209F0", VA = "0x1813219F0")] private void OnDestroy() { Tool nbhjpdbhdhb = this.NBHJPDBHDHB; int num = 0; if (nbhjpdbhdhb != num) { Tool nbhjpdbhdhb2 = this.NBHJPDBHDHB; MFBGLIHGCGO postReleaseEvent = nbhjpdbhdhb2.PostReleaseEvent; Action action = new Action(this.PAEFCHDJPHF); MFBGLIHGCGO mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postReleaseEvent, action); nbhjpdbhdhb2.PostReleaseEvent = mfbglihgcgo; Tool nbhjpdbhdhb3 = this.NBHJPDBHDHB; MFBGLIHGCGO postPickupEvent = nbhjpdbhdhb3.PostPickupEvent; Action action2 = new Action(this.AEHDEJPEAKM); MFBGLIHGCGO mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action2); nbhjpdbhdhb3.PostPickupEvent = mfbglihgcgo2; Tool nbhjpdbhdhb4 = this.NBHJPDBHDHB; EAHPNACBLDD attackAppliedEvent = nbhjpdbhdhb4.AttackAppliedEvent; Action action3 = new Action(this.FCAOMHKOJOH); EAHPNACBLDD eahpnacbldd = EAHPNACBLDD.GMNMHGMFGOL(attackAppliedEvent, action3); nbhjpdbhdhb4.AttackAppliedEvent = eahpnacbldd; Tool nbhjpdbhdhb5 = this.NBHJPDBHDHB; EAHPNACBLDD postResetEvent = nbhjpdbhdhb5.PostResetEvent; Action action4 = new Action(this.LBODGLNOABB); EAHPNACBLDD eahpnacbldd2 = EAHPNACBLDD.GMNMHGMFGOL(postResetEvent, action4); nbhjpdbhdhb5.PostResetEvent = eahpnacbldd2; } } // Token: 0x06002998 RID: 10648 RVA: 0x000A8CBC File Offset: 0x000A6EBC [Token(Token = "0x6002998")] [Address(RVA = "0x1321870", Offset = "0x1320870", VA = "0x181321870")] private void LBODGLNOABB(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ) { TrailRenderer deoclfnkjbn = this.DEOCLFNKJBN; int num = 0; deoclfnkjbn.enabled = num != 0; this.DEOCLFNKJBN.Clear(); TrailRenderer deoclfnkjbn2 = this.DEOCLFNKJBN; int num2 = 0; deoclfnkjbn2.time = (float)num2; } // Token: 0x06002999 RID: 10649 RVA: 0x000A8CFC File Offset: 0x000A6EFC [Token(Token = "0x6002999")] [Address(RVA = "0x1321BD0", Offset = "0x1320BD0", VA = "0x181321BD0")] private void PAEFCHDJPHF(Tool EGFEJGHDNAI) { if (this.visibleUponRelease) { float num = this.releaseTime; this.DEOCLFNKJBN.enabled = true; this.DEOCLFNKJBN.time = num; if (this.fadeOutUponRelease) { float num2 = this.releaseTime; float num3 = this.releaseFadeOutDuration; this.LOCGIDPMDHA(num3, num2); } return; } TrailRenderer deoclfnkjbn = this.DEOCLFNKJBN; int num4 = 0; deoclfnkjbn.enabled = num4 != 0; this.DEOCLFNKJBN.Clear(); TrailRenderer deoclfnkjbn2 = this.DEOCLFNKJBN; int num5 = 0; deoclfnkjbn2.time = (float)num5; } // Token: 0x0600299A RID: 10650 RVA: 0x000A8D88 File Offset: 0x000A6F88 [Token(Token = "0x600299A")] [Address(RVA = "0x1321420", Offset = "0x1320420", VA = "0x181321420")] private void AEHDEJPEAKM(Tool EGFEJGHDNAI) { Coroutine onpijmcgcig = this.ONPIJMCGCIG; if (onpijmcgcig != 0) { base.StopCoroutine(onpijmcgcig); this.ONPIJMCGCIG = (ulong)0L; } TrailRenderer deoclfnkjbn = this.DEOCLFNKJBN; TrailRenderer deoclfnkjbn2; if (this.visibleWhileHeld) { float num = this.heldTime; deoclfnkjbn.enabled = true; deoclfnkjbn2 = this.DEOCLFNKJBN; deoclfnkjbn2.time = num; return; } int num2 = 0; deoclfnkjbn2.enabled = num2 != 0; this.DEOCLFNKJBN.Clear(); TrailRenderer deoclfnkjbn3 = this.DEOCLFNKJBN; int num3 = 0; deoclfnkjbn3.time = (float)num3; } // Token: 0x0600299B RID: 10651 RVA: 0x000A8E10 File Offset: 0x000A7010 [Token(Token = "0x600299B")] [Address(RVA = "0x1321750", Offset = "0x1320750", VA = "0x181321750")] private void FCAOMHKOJOH(Tool NBHJPDBHDHB, Weapon GDIGKHINJCG, FJDJKDOJKDO GMPCPLNNMGD, Vector3 KPLDEODOJID, Vector3 CDFHDACBFKN) { Coroutine onpijmcgcig = this.ONPIJMCGCIG; if (onpijmcgcig != 0) { base.StopCoroutine(onpijmcgcig); this.ONPIJMCGCIG = (ulong)0L; } TrailRenderer deoclfnkjbn = this.DEOCLFNKJBN; if (this.visibleAfterAttackApplied) { float num = this.forceAppliedTime; deoclfnkjbn.enabled = true; this.DEOCLFNKJBN.time = num; if (this.fadeOutAfterForceApplied) { float num2 = this.forceAppliedTime; float num3 = this.forceAppliedFadeOutDuration; this.LOCGIDPMDHA(num3, num2); } return; } this.DEOCLFNKJBN.Clear(); TrailRenderer deoclfnkjbn2 = this.DEOCLFNKJBN; int num4 = 0; deoclfnkjbn2.time = (float)num4; } // Token: 0x0600299C RID: 10652 RVA: 0x000A8EAC File Offset: 0x000A70AC [Token(Token = "0x600299C")] [Address(RVA = "0x13218C0", Offset = "0x13208C0", VA = "0x1813218C0")] private void LOCGIDPMDHA(float BJJEDIGOMGC, float IOACKBLNMHC) { Coroutine onpijmcgcig = this.ONPIJMCGCIG; if (onpijmcgcig != 0) { base.StopCoroutine(onpijmcgcig); this.ONPIJMCGCIG = (ulong)0L; } Tool nbhjpdbhdhb = this.NBHJPDBHDHB; int num = 0; if (nbhjpdbhdhb != num && this.NBHJPDBHDHB.gameObject.activeSelf) { ToolTrail.APCHLEMDPBM apchlemdpbm; apchlemdpbm.System.IDisposable.Dispose(); apchlemdpbm.duration = BJJEDIGOMGC; apchlemdpbm.maxTime = IOACKBLNMHC; apchlemdpbm.<>1__state = (int)((ulong)0L); apchlemdpbm.<>4__this = this; Coroutine coroutine = base.StartCoroutine(apchlemdpbm); this.ONPIJMCGCIG = coroutine; } } // Token: 0x0600299D RID: 10653 RVA: 0x000A8F38 File Offset: 0x000A7138 [Token(Token = "0x600299D")] [Address(RVA = "0x1321720", Offset = "0x1320720", VA = "0x181321720")] private void BAMHBLEOJHF() { Coroutine onpijmcgcig = this.ONPIJMCGCIG; if (onpijmcgcig != 0) { base.StopCoroutine(onpijmcgcig); this.ONPIJMCGCIG = (ulong)0L; } } // Token: 0x0600299E RID: 10654 RVA: 0x000A8F60 File Offset: 0x000A7160 [Token(Token = "0x600299E")] [Address(RVA = "0x13214D0", Offset = "0x13204D0", VA = "0x1813214D0")] private IEnumerator AIEENHBGKCA(float BJJEDIGOMGC, float IOACKBLNMHC) { /* An exception occurred when decompiling this method (0600299E) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator ToolTrail::AIEENHBGKCA(System.Single,System.Single) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(APCHLEMDPBM::System.IDisposable.Dispose, ldloc:APCHLEMDPBM(var_0)) stfld:float32(APCHLEMDPBM::duration, ldloc:APCHLEMDPBM(var_0), ldloc:float32(BJJEDIGOMGC)) stfld:float32(APCHLEMDPBM::maxTime, ldloc:APCHLEMDPBM(var_0), ldloc:float32(IOACKBLNMHC)) stfld:int32(APCHLEMDPBM::<>1__state, ldloc:APCHLEMDPBM(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:ToolTrail(APCHLEMDPBM::<>4__this, ldloc:APCHLEMDPBM(var_0), ldloc:ToolTrail(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: 0x0600299F RID: 10655 RVA: 0x000A8F90 File Offset: 0x000A7190 [Token(Token = "0x600299F")] [Address(RVA = "0x1321870", Offset = "0x1320870", VA = "0x181321870")] private void JCJBALBOHOO() { TrailRenderer deoclfnkjbn = this.DEOCLFNKJBN; int num = 0; deoclfnkjbn.enabled = num != 0; this.DEOCLFNKJBN.Clear(); TrailRenderer deoclfnkjbn2 = this.DEOCLFNKJBN; int num2 = 0; deoclfnkjbn2.time = (float)num2; } // Token: 0x060029A0 RID: 10656 RVA: 0x000A8FD0 File Offset: 0x000A71D0 [Token(Token = "0x60029A0")] [Address(RVA = "0x1321820", Offset = "0x1320820", VA = "0x181321820")] private void GIEOIPBDGCD(float DBIHDDMKDJN) { this.DEOCLFNKJBN.enabled = true; this.DEOCLFNKJBN.time = DBIHDDMKDJN; } // Token: 0x060029A1 RID: 10657 RVA: 0x000A8FFC File Offset: 0x000A71FC [Token(Token = "0x60029A1")] [Address(RVA = "0x1321C90", Offset = "0x1320C90", VA = "0x181321C90")] public ToolTrail() { } // Token: 0x04002162 RID: 8546 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4002162")] [SerializeField] [Header("Held Trails")] private bool visibleWhileHeld = true; // Token: 0x04002163 RID: 8547 [FieldOffset(Offset = "0x1C")] [Token(Token = "0x4002163")] [SerializeField] private float heldTime = 2f; // Token: 0x04002164 RID: 8548 [FieldOffset(Offset = "0x20")] [Token(Token = "0x4002164")] [SerializeField] [Header("Release Trails")] private bool visibleUponRelease = true; // Token: 0x04002165 RID: 8549 [FieldOffset(Offset = "0x24")] [Token(Token = "0x4002165")] [SerializeField] private float releaseTime = 2f; // Token: 0x04002166 RID: 8550 [FieldOffset(Offset = "0x28")] [Token(Token = "0x4002166")] [SerializeField] private bool fadeOutUponRelease; // Token: 0x04002167 RID: 8551 [FieldOffset(Offset = "0x2C")] [Token(Token = "0x4002167")] [SerializeField] private float releaseFadeOutDuration = 1f; // Token: 0x04002168 RID: 8552 [FieldOffset(Offset = "0x30")] [Token(Token = "0x4002168")] [SerializeField] [Header("Force Applied Trails")] private bool visibleAfterAttackApplied = true; // Token: 0x04002169 RID: 8553 [FieldOffset(Offset = "0x34")] [Token(Token = "0x4002169")] [SerializeField] private float forceAppliedTime = 2f; // Token: 0x0400216A RID: 8554 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400216A")] [SerializeField] private bool fadeOutAfterForceApplied = true; // Token: 0x0400216B RID: 8555 [FieldOffset(Offset = "0x3C")] [Token(Token = "0x400216B")] [SerializeField] private float forceAppliedFadeOutDuration = 1f; // Token: 0x0400216C RID: 8556 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400216C")] private Tool NBHJPDBHDHB; // Token: 0x0400216D RID: 8557 [FieldOffset(Offset = "0x48")] [Token(Token = "0x400216D")] private TrailRenderer DEOCLFNKJBN; // Token: 0x0400216E RID: 8558 [FieldOffset(Offset = "0x50")] [Token(Token = "0x400216E")] private Coroutine ONPIJMCGCIG; }