using System; using System.Collections; using System.Runtime.CompilerServices; using AGUI.StackedUI; using Cpp2IlInjected; using RecRoom.Consumable; using UnityEngine; using UnityEngine.UI; // Token: 0x020006A4 RID: 1700 [Token(Token = "0x20006A4")] [RequireComponent(typeof(ToggleButton3D))] public class ConsumableButton : MonoBehaviour { // Token: 0x17000885 RID: 2181 // (get) Token: 0x0600315A RID: 12634 RVA: 0x000C8988 File Offset: 0x000C6B88 // (set) Token: 0x0600315B RID: 12635 RVA: 0x000C899C File Offset: 0x000C6B9C [Token(Token = "0x17000885")] public OOCCCGPICOG GCPFILALGKL { [Token(Token = "0x600315A")] [Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")] get; [Token(Token = "0x600315B")] [Address(RVA = "0x417A10", Offset = "0x416A10", VA = "0x180417A10")] private set; } // Token: 0x17000886 RID: 2182 // (get) Token: 0x0600315C RID: 12636 RVA: 0x000C89B0 File Offset: 0x000C6BB0 [Token(Token = "0x17000886")] public ToggleButton3D.OnToggleButton3DClick PAALHPHGBDF { [Token(Token = "0x600315C")] [Address(RVA = "0x185AF50", Offset = "0x1859F50", VA = "0x18185AF50")] get { return this.toggle.OnClick; } } // Token: 0x0600315D RID: 12637 RVA: 0x000C89D0 File Offset: 0x000C6BD0 [Token(Token = "0x600315D")] [Address(RVA = "0x1C567C0", Offset = "0x1C557C0", VA = "0x181C567C0")] private void Awake() { if (NetworkedSingletonMonoBehaviour.FFNIFALJLDD) { Action action = new Action(this.HNCNGJFLMEL); } } // Token: 0x0600315E RID: 12638 RVA: 0x000C89F8 File Offset: 0x000C6BF8 [Token(Token = "0x600315E")] [Address(RVA = "0x1C57020", Offset = "0x1C56020", VA = "0x181C57020")] private void OnDestroy() { if (NetworkedSingletonMonoBehaviour.FFNIFALJLDD) { Action action = new Action(this.HNCNGJFLMEL); } } // Token: 0x0600315F RID: 12639 RVA: 0x000C8A20 File Offset: 0x000C6C20 [Token(Token = "0x600315F")] [Address(RVA = "0x1C57100", Offset = "0x1C56100", VA = "0x181C57100")] private void OnEnable() { OOCCCGPICOG oocccgpicog = this.k__BackingField; int num = 0; if (OOCCCGPICOG.BDBLGMKABNK(oocccgpicog, num)) { this.EGEHAOPMCIB(); return; } } // Token: 0x06003160 RID: 12640 RVA: 0x000C8A48 File Offset: 0x000C6C48 [Token(Token = "0x6003160")] [Address(RVA = "0x1C56F00", Offset = "0x1C55F00", VA = "0x181C56F00")] 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: 0x06003161 RID: 12641 RVA: 0x000C8A78 File Offset: 0x000C6C78 [Token(Token = "0x6003161")] [Address(RVA = "0x1C57520", Offset = "0x1C56520", VA = "0x181C57520")] public void ToggleButtonVisualState(bool LIMAOMBLKAO) { if (LIMAOMBLKAO) { GameObject gameObject = this.useText; while (gameObject == 0) { } bool flag = !this.toggle.LLJFGDMOOFA; gameObject.SetActive(flag); return; } ToggleButton3D toggleButton3D = this.toggle; if (toggleButton3D != 0) { toggleButton3D.ForceRelease(); return; } } // Token: 0x06003162 RID: 12642 RVA: 0x000C8AC4 File Offset: 0x000C6CC4 [Token(Token = "0x6003162")] [Address(RVA = "0x1C57130", Offset = "0x1C56130", VA = "0x181C57130")] public void SetConsumable(OOCCCGPICOG BAJGNABECMN, StackedUIBase ANEGNEHDLOI) { int num; GameObject gameObject; do { num = 0; OOCCCGPICOG oocccgpicog = this.k__BackingField; this.k__BackingField = BAJGNABECMN; IEnumerator enumerator = this.consumableRoot.GetEnumerator(); if (enumerator != 0) { if (num < enumerator) { num += num; num++; } ulong num2; enumerator += num2; if (enumerator == 0 || enumerator == 0) { goto IL_F2; } global::UnityEngine.Object.Destroy(gameObject); } if (gameObject != 0) { } } while (num != 0); OOCCCGPICOG oocccgpicog2 = this.k__BackingField; if (gameObject == 0) { ConsumableInfo consumableInfo = BAJGNABECMN.LENBPGEABJK(); if (consumableInfo == 0 || consumableInfo.FriendlyName == 0) { } Func> func = new Func(this.BJDEOHMJBKN); string text = this.consumableName.text; Tooltip tooltip = this.tooltip; int num3 = 0; if (tooltip != num3) { Tooltip tooltip2 = this.tooltip; tooltip2.Message = "Unknown Consumable"; Tooltip tooltip3 = this.tooltip; string message = tooltip3.Message; bool flag = tooltip2 == 0; tooltip3.enabled = flag; } this.EGEHAOPMCIB(); } return; IL_F2: throw new NullReferenceException(); } // Token: 0x06003163 RID: 12643 RVA: 0x000C8BD0 File Offset: 0x000C6DD0 [Token(Token = "0x6003163")] [Address(RVA = "0x1C569D0", Offset = "0x1C559D0", VA = "0x181C569D0")] private void EGEHAOPMCIB() { int num; ConsumableInfo consumableInfo; do { num = 0; if (!base.gameObject.activeInHierarchy) { return; } consumableInfo = this.k__BackingField.LENBPGEABJK(); string k__BackingField = this.k__BackingField.k__BackingField; if (consumableInfo == 0 || consumableInfo.LimitType != (ConsumableManager.FFCJLEMFFAJ)num) { goto IL_57; } bool flag; if (flag) { } } while (num != 0); Text text = this.count; string text3; string text2 = "x" + text3; IL_57: Text text4 = this.count; string text6; string text5 = "x" + text6; string text7 = text4.text; string k__BackingField2 = this.k__BackingField.k__BackingField; bool flag2; if (consumableInfo != 0 && consumableInfo.LimitType <= ConsumableManager.FFCJLEMFFAJ.Time) { base.StopAllCoroutines(); if (!flag2) { Text text8 = this.timeLeft; int k__BackingField = this.k__BackingField.k__BackingField; string text9 = this.NMLKKAFFNIN(k__BackingField); } OOCCCGPICOG oocccgpicog = this.k__BackingField; Text text10 = this.timeLeft; int num2; string text11 = this.NMLKKAFFNIN(num2); string text12 = text10.text; ConsumableButton.HGCFIEFIOKO hgcfiefioko; hgcfiefioko.<>1__state = (int)((ulong)0L); hgcfiefioko.<>4__this = this; hgcfiefioko.seconds = num2; Coroutine coroutine = base.StartCoroutine(hgcfiefioko); } string text13 = this.timeLeft.text; ConsumableTool consumableTool = ConsumableTool.FindConsumableTool(this.k__BackingField.k__BackingField); ToggleButton3D toggleButton3D = this.toggle; if (flag2) { } int num3 = 0; bool activeSelf; if (consumableTool != num3) { activeSelf = consumableTool.gameObject.activeSelf; } toggleButton3D.BOHIGPFGJBA = activeSelf; GameObject gameObject = this.useText; bool flag3 = !this.toggle.LLJFGDMOOFA; gameObject.SetActive(flag3); } // Token: 0x06003164 RID: 12644 RVA: 0x000C8D64 File Offset: 0x000C6F64 [Token(Token = "0x6003164")] [Address(RVA = "0x1C56960", Offset = "0x1C55960", VA = "0x181C56960")] private IEnumerator DJGAMOHHJNP(int HABFNPMBADP) { /* An exception occurred when decompiling this method (06003164) 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(HGCFIEFIOKO::System.IDisposable.Dispose, ldloc:HGCFIEFIOKO(var_0)) stfld:ConsumableButton(HGCFIEFIOKO::<>4__this, ldloc:HGCFIEFIOKO(var_0), ldloc:ConsumableButton(this)) stfld:int32(HGCFIEFIOKO::<>1__state, ldloc:HGCFIEFIOKO(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:int32(HGCFIEFIOKO::seconds, ldloc:HGCFIEFIOKO(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: 0x06003165 RID: 12645 RVA: 0x000C8D90 File Offset: 0x000C6F90 [Token(Token = "0x6003165")] [Address(RVA = "0x1C56F60", Offset = "0x1C55F60", VA = "0x181C56F60")] private string NMLKKAFFNIN(int HABFNPMBADP) { string text; return text; } // Token: 0x06003166 RID: 12646 RVA: 0x000C8DB4 File Offset: 0x000C6FB4 [Token(Token = "0x6003166")] [Address(RVA = "0x17D30F0", Offset = "0x17D20F0", VA = "0x1817D30F0")] public ConsumableButton() { } // Token: 0x06003167 RID: 12647 RVA: 0x000C8DD4 File Offset: 0x000C6FD4 [Token(Token = "0x6003167")] [Address(RVA = "0x1C568A0", Offset = "0x1C558A0", VA = "0x181C568A0")] [CompilerGenerated] private JCOINEEFENJ BJDEOHMJBKN() { DCLIBCDKJNF dclibcdkjnf = new DCLIBCDKJNF(); string k__BackingField = this.k__BackingField.k__BackingField; GameObject gameObject; dclibcdkjnf.OOOIENHGNCA(gameObject); throw new NullReferenceException(); } // Token: 0x040028C7 RID: 10439 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40028C7")] [SerializeField] [NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)] private ToggleButton3D toggle; // Token: 0x040028C8 RID: 10440 [FieldOffset(Offset = "0x20")] [Token(Token = "0x40028C8")] [SerializeField] [NKNLDEIPALE(FHBJCBPFODN.SelfAndChildren, false, false, false)] private Tooltip tooltip; // Token: 0x040028C9 RID: 10441 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40028C9")] [SerializeField] private float localImposterRadius = 62.5f; // Token: 0x040028CA RID: 10442 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40028CA")] [SerializeField] private Transform consumableRoot; // Token: 0x040028CB RID: 10443 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40028CB")] [SerializeField] private Text consumableName; // Token: 0x040028CC RID: 10444 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40028CC")] [SerializeField] private Text count; // Token: 0x040028CD RID: 10445 [FieldOffset(Offset = "0x48")] [Token(Token = "0x40028CD")] [SerializeField] private Text timeLeft; // Token: 0x040028CE RID: 10446 [FieldOffset(Offset = "0x50")] [Token(Token = "0x40028CE")] [SerializeField] private GameObject useText; // Token: 0x040028D0 RID: 10448 [FieldOffset(Offset = "0x60")] [Token(Token = "0x40028D0")] private JCOINEEFENJ IGPGEOMGLDG; }