using System; using System.Collections; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using AGUI.StackedUI; using Cpp2IlInjected; using RecRoom.Async; using RecRoom.Consumable; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; // Token: 0x020006AC RID: 1708 [Token(Token = "0x20006AC")] [RequireComponent(typeof(ToggleButton3D))] [StructLayout(3)] public class ConsumableButton : MonoBehaviour { // Token: 0x1700089F RID: 2207 // (get) Token: 0x06003139 RID: 12601 RVA: 0x000CC7AC File Offset: 0x000CA9AC // (set) Token: 0x0600313A RID: 12602 RVA: 0x000CC7C0 File Offset: 0x000CA9C0 [Token(Token = "0x1700089F")] public OOCCCGPICOG GCPFILALGKL { [Token(Token = "0x6003139")] [Address(RVA = "0x4B81A0", Offset = "0x4B6BA0", VA = "0x1804B81A0")] get; [Token(Token = "0x600313A")] [Address(RVA = "0x3EDEB0", Offset = "0x3EC8B0", VA = "0x1803EDEB0")] private set; } // Token: 0x170008A0 RID: 2208 // (get) Token: 0x0600313B RID: 12603 RVA: 0x000CC7D4 File Offset: 0x000CA9D4 [Token(Token = "0x170008A0")] public ToggleButton3D.OnToggleButton3DClick PAALHPHGBDF { [Token(Token = "0x600313B")] [Address(RVA = "0x129D980", Offset = "0x129C380", VA = "0x18129D980")] get { return this.toggle.OnClick; } } // Token: 0x0600313C RID: 12604 RVA: 0x000CC7F4 File Offset: 0x000CA9F4 [Token(Token = "0x600313C")] [Address(RVA = "0x1B06E80", Offset = "0x1B05880", VA = "0x181B06E80")] private void Awake() { if (NetworkedSingletonMonoBehaviour.FFNIFALJLDD) { Action action = new Action(this.HNCNGJFLMEL); } ToggleButton3D.OnToggleButton3DClick onClick = this.toggle.OnClick; UnityAction unityAction = new UnityAction(this.FDNLBBPECCJ); onClick.AddListener(unityAction); } // Token: 0x0600313D RID: 12605 RVA: 0x000CC83C File Offset: 0x000CAA3C [Token(Token = "0x600313D")] [Address(RVA = "0x1B077F0", Offset = "0x1B061F0", VA = "0x181B077F0")] private void OnDestroy() { if (NetworkedSingletonMonoBehaviour.FFNIFALJLDD) { Action action = new Action(this.HNCNGJFLMEL); } } // Token: 0x0600313E RID: 12606 RVA: 0x000CC864 File Offset: 0x000CAA64 [Token(Token = "0x600313E")] [Address(RVA = "0x1B078D0", Offset = "0x1B062D0", VA = "0x181B078D0")] private void OnEnable() { OOCCCGPICOG oocccgpicog = this.k__BackingField; int num = 0; if (OOCCCGPICOG.BDBLGMKABNK(oocccgpicog, num)) { this.EGEHAOPMCIB(); return; } } // Token: 0x0600313F RID: 12607 RVA: 0x000CC88C File Offset: 0x000CAA8C [Token(Token = "0x600313F")] [Address(RVA = "0x1B076D0", Offset = "0x1B060D0", VA = "0x181B076D0")] private void HNCNGJFLMEL(OOCCCGPICOG BAJGNABECMN, bool CNEIBILGFCO) { OOCCCGPICOG oocccgpicog = this.k__BackingField; OOCCCGPICOG oocccgpicog2 = this.k__BackingField; string k__BackingField = BAJGNABECMN.k__BackingField; this.EGEHAOPMCIB(); } // Token: 0x06003140 RID: 12608 RVA: 0x000CC8BC File Offset: 0x000CAABC [Token(Token = "0x6003140")] [Address(RVA = "0x1B07900", Offset = "0x1B06300", VA = "0x181B07900")] public void SetConsumable(OOCCCGPICOG BAJGNABECMN, StackedUIBase ANEGNEHDLOI) { int num; do { num = 0; int num2 = 0; OOCCCGPICOG oocccgpicog = this.k__BackingField; this.k__BackingField = BAJGNABECMN; IEnumerator enumerator = this.consumableRoot.GetEnumerator(); if (num < num2) { num += num; num++; } int num3 = 0; GameObject gameObject; if (enumerator != 0) { if (num < num3) { num += num; num++; } num += 19; ulong num4; num = (int)((ulong)num + num4); num++; num += 19; num = (int)((ulong)num + num4); if (num == 0 || num == 0) { goto IL_127; } global::UnityEngine.Object.Destroy(gameObject); } if (gameObject != 0) { } if (num != -1) { } } while (num != 0); OOCCCGPICOG oocccgpicog2 = this.k__BackingField; if (num == 0) { Func> func = new Func(this.DCMADBPBACL); Text text = this.consumableName; ConsumableInfo k__BackingField = this.k__BackingField.k__BackingField; string text2 = text.text; Tooltip tooltip = this.tooltip; int num5 = 0; if (tooltip != num5) { Tooltip tooltip2 = this.tooltip; string friendlyName = this.k__BackingField.k__BackingField.FriendlyName; tooltip2.Message = friendlyName; Tooltip tooltip3 = this.tooltip; string message = tooltip3.Message; bool flag = friendlyName == 0; tooltip3.enabled = flag; } this.EGEHAOPMCIB(); } return; IL_127: throw new NullReferenceException(); } // Token: 0x06003141 RID: 12609 RVA: 0x000CC9FC File Offset: 0x000CABFC [Token(Token = "0x6003141")] [Address(RVA = "0x1B070E0", Offset = "0x1B05AE0", VA = "0x181B070E0")] private void EGEHAOPMCIB() { int num; int num2; do { num = 0; if (!base.gameObject.activeInHierarchy) { return; } string k__BackingField = this.k__BackingField.k__BackingField; if (this.k__BackingField.k__BackingField.LimitType != (ConsumableManager.FFCJLEMFFAJ)num) { Text text = this.count; } List.Enumerator enumerator; if (enumerator != 0) { } num2 = 0; if (num2 != -1) { } } while (num != 0); Text text2 = this.count; string text3 = "x" + num2; string text4 = text2.text; string k__BackingField2 = this.k__BackingField.k__BackingField; ConsumableManager.FFCJLEMFFAJ limitType = this.k__BackingField.k__BackingField.LimitType; if (limitType != ConsumableManager.FFCJLEMFFAJ.Time && limitType != ConsumableManager.FFCJLEMFFAJ.RealWorldTime) { string text5 = this.timeLeft.text; } base.StopAllCoroutines(); bool flag; if (!flag) { Text text6 = this.timeLeft; int k__BackingField = this.k__BackingField.k__BackingField; string text7 = this.NMLKKAFFNIN(k__BackingField); string text8 = text6.text; } OOCCCGPICOG oocccgpicog = this.k__BackingField; Text text9 = this.timeLeft; int num3; string text10 = this.NMLKKAFFNIN(num3); string text11 = text9.text; ConsumableButton.LOOAJFHEFHN looajfhefhn; looajfhefhn.System.IDisposable.Dispose(); looajfhefhn.<>1__state = (int)((ulong)0L); looajfhefhn.<>4__this = this; looajfhefhn.seconds = num3; Coroutine coroutine = base.StartCoroutine(looajfhefhn); ConsumableTool consumableTool = ConsumableTool.FindConsumableTool(this.k__BackingField.k__BackingField); ToggleButton3D toggleButton3D = this.toggle; if (flag) { } int num4 = 0; bool activeSelf; if (consumableTool != num4) { activeSelf = consumableTool.gameObject.activeSelf; } toggleButton3D.BOHIGPFGJBA = activeSelf; GameObject gameObject = this.useText; bool flag2 = !this.toggle.LLJFGDMOOFA; gameObject.SetActive(flag2); } // Token: 0x06003142 RID: 12610 RVA: 0x000CCB98 File Offset: 0x000CAD98 [Token(Token = "0x6003142")] [Address(RVA = "0x1B07070", Offset = "0x1B05A70", VA = "0x181B07070")] private IEnumerator DJGAMOHHJNP(int HABFNPMBADP) { /* An exception occurred when decompiling this method (06003142) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator ConsumableButton::DJGAMOHHJNP(System.Int32) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(LOOAJFHEFHN::System.IDisposable.Dispose, ldloc:LOOAJFHEFHN(var_0)) stfld:ConsumableButton(LOOAJFHEFHN::<>4__this, ldloc:LOOAJFHEFHN(var_0), ldloc:ConsumableButton(this)) stfld:int32(LOOAJFHEFHN::<>1__state, ldloc:LOOAJFHEFHN(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:int32(LOOAJFHEFHN::seconds, ldloc:LOOAJFHEFHN(var_0), ldloc:int32(HABFNPMBADP)) } 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: 0x06003143 RID: 12611 RVA: 0x000CCBC4 File Offset: 0x000CADC4 [Token(Token = "0x6003143")] [Address(RVA = "0x1B07730", Offset = "0x1B06130", VA = "0x181B07730")] private string NMLKKAFFNIN(int HABFNPMBADP) { TimeSpan timeSpan; return string.Format("{0} days", timeSpan); } // Token: 0x06003144 RID: 12612 RVA: 0x000CCBDC File Offset: 0x000CADDC [Token(Token = "0x6003144")] [Address(RVA = "0x15287B0", Offset = "0x15271B0", VA = "0x1815287B0")] public ConsumableButton() { } // Token: 0x06003145 RID: 12613 RVA: 0x000CCBFC File Offset: 0x000CADFC [Token(Token = "0x6003145")] [Address(RVA = "0x1B07690", Offset = "0x1B06090", VA = "0x181B07690")] [CompilerGenerated] private void FDNLBBPECCJ(bool LLJFGDMOOFA) { ToggleButton3D toggleButton3D = this.toggle; GameObject gameObject = this.useText; bool flag = !toggleButton3D.LLJFGDMOOFA; gameObject.SetActive(flag); } // Token: 0x06003146 RID: 12614 RVA: 0x000CCC30 File Offset: 0x000CAE30 [Token(Token = "0x6003146")] [Address(RVA = "0x1B06FB0", Offset = "0x1B059B0", VA = "0x181B06FB0")] [CompilerGenerated] private Promise DCMADBPBACL() { Promise promise = new Promise(); string k__BackingField = this.k__BackingField.k__BackingField; GameObject gameObject; promise.Complete(gameObject); return promise; } // Token: 0x04002A39 RID: 10809 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4002A39")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private ToggleButton3D toggle; // Token: 0x04002A3A RID: 10810 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4002A3A")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.SelfAndChildren, false, false)] private Tooltip tooltip; // Token: 0x04002A3B RID: 10811 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4002A3B")] [SerializeField] private float localImposterRadius = 62.5f; // Token: 0x04002A3C RID: 10812 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4002A3C")] [SerializeField] private Transform consumableRoot; // Token: 0x04002A3D RID: 10813 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4002A3D")] [SerializeField] private Text consumableName; // Token: 0x04002A3E RID: 10814 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x4002A3E")] [SerializeField] private Text count; // Token: 0x04002A3F RID: 10815 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4002A3F")] [SerializeField] private Text timeLeft; // Token: 0x04002A40 RID: 10816 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4002A40")] [SerializeField] private GameObject useText; // Token: 0x04002A42 RID: 10818 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x4002A42")] private Promise IGPGEOMGLDG; }