Files
2026-04-10 22:50:51 +02:00

359 lines
12 KiB
C#

using System;
using System.Collections;
using System.Runtime.CompilerServices;
using AGUI.StackedUI;
using Cpp2IlInjected;
using RecRoom.Consumable;
using UnityEngine;
using UnityEngine.UI;
// Token: 0x02000699 RID: 1689
[Token(Token = "0x2000699")]
[RequireComponent(typeof(ToggleButton3D))]
public class ConsumableButton : MonoBehaviour
{
// Token: 0x17000873 RID: 2163
// (get) Token: 0x060030D9 RID: 12505 RVA: 0x000C7E2C File Offset: 0x000C602C
// (set) Token: 0x060030DA RID: 12506 RVA: 0x000C7E40 File Offset: 0x000C6040
[Token(Token = "0x17000873")]
public OOCCCGPICOG GCPFILALGKL
{
[Token(Token = "0x60030D9")]
[Address(RVA = "0x423D40", Offset = "0x422B40", VA = "0x180423D40")]
get;
[Token(Token = "0x60030DA")]
[Address(RVA = "0x466B90", Offset = "0x465990", VA = "0x180466B90")]
private set;
}
// Token: 0x17000874 RID: 2164
// (get) Token: 0x060030DB RID: 12507 RVA: 0x000C7E54 File Offset: 0x000C6054
[Token(Token = "0x17000874")]
public ToggleButton3D.OnToggleButton3DClick PAALHPHGBDF
{
[Token(Token = "0x60030DB")]
[Address(RVA = "0xD5AC30", Offset = "0xD59A30", VA = "0x180D5AC30")]
get
{
return this.toggle.OnClick;
}
}
// Token: 0x060030DC RID: 12508 RVA: 0x000C7E74 File Offset: 0x000C6074
[Token(Token = "0x60030DC")]
[Address(RVA = "0x10E8F60", Offset = "0x10E7D60", VA = "0x1810E8F60")]
private void Awake()
{
if (NetworkedSingletonMonoBehaviour.FFNIFALJLDD)
{
Action<OOCCCGPICOG, bool> action = new Action(this.HNCNGJFLMEL);
}
}
// Token: 0x060030DD RID: 12509 RVA: 0x000C7E9C File Offset: 0x000C609C
[Token(Token = "0x60030DD")]
[Address(RVA = "0x10E97C0", Offset = "0x10E85C0", VA = "0x1810E97C0")]
private void OnDestroy()
{
if (NetworkedSingletonMonoBehaviour.FFNIFALJLDD)
{
Action<OOCCCGPICOG, bool> action = new Action(this.HNCNGJFLMEL);
}
}
// Token: 0x060030DE RID: 12510 RVA: 0x000C7EC4 File Offset: 0x000C60C4
[Token(Token = "0x60030DE")]
[Address(RVA = "0x10E98A0", Offset = "0x10E86A0", VA = "0x1810E98A0")]
private void OnEnable()
{
OOCCCGPICOG oocccgpicog = this.<EDNKKMAAFEB>k__BackingField;
int num = 0;
if (OOCCCGPICOG.BDBLGMKABNK(oocccgpicog, num))
{
this.EGEHAOPMCIB();
return;
}
}
// Token: 0x060030DF RID: 12511 RVA: 0x000C7EEC File Offset: 0x000C60EC
[Token(Token = "0x60030DF")]
[Address(RVA = "0x10E96A0", Offset = "0x10E84A0", VA = "0x1810E96A0")]
private void HNCNGJFLMEL(OOCCCGPICOG BAJGNABECMN, bool CNEIBILGFCO)
{
OOCCCGPICOG oocccgpicog = this.<EDNKKMAAFEB>k__BackingField;
OOCCCGPICOG oocccgpicog2 = this.<EDNKKMAAFEB>k__BackingField;
string <CNJALCEBPMC>k__BackingField = BAJGNABECMN.<CNJALCEBPMC>k__BackingField;
this.EGEHAOPMCIB();
}
// Token: 0x060030E0 RID: 12512 RVA: 0x000C7F1C File Offset: 0x000C611C
[Token(Token = "0x60030E0")]
[Address(RVA = "0x10E9CC0", Offset = "0x10E8AC0", VA = "0x1810E9CC0")]
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: 0x060030E1 RID: 12513 RVA: 0x000C7F68 File Offset: 0x000C6168
[Token(Token = "0x60030E1")]
[Address(RVA = "0x10E98D0", Offset = "0x10E86D0", VA = "0x1810E98D0")]
public void SetConsumable(OOCCCGPICOG BAJGNABECMN, StackedUIBase ANEGNEHDLOI)
{
int num;
GameObject gameObject;
do
{
num = 0;
OOCCCGPICOG oocccgpicog = this.<EDNKKMAAFEB>k__BackingField;
this.<EDNKKMAAFEB>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.<EDNKKMAAFEB>k__BackingField;
if (gameObject == 0)
{
ConsumableInfo consumableInfo = BAJGNABECMN.LENBPGEABJK();
if (consumableInfo == 0 || consumableInfo.FriendlyName == 0)
{
}
Func<JCOINEEFENJ<GameObject>> 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: 0x060030E2 RID: 12514 RVA: 0x000C8074 File Offset: 0x000C6274
[Token(Token = "0x60030E2")]
[Address(RVA = "0x10E9170", Offset = "0x10E7F70", VA = "0x1810E9170")]
private void EGEHAOPMCIB()
{
int num;
ConsumableInfo consumableInfo;
do
{
num = 0;
if (!base.gameObject.activeInHierarchy)
{
return;
}
consumableInfo = this.<EDNKKMAAFEB>k__BackingField.LENBPGEABJK();
string <CNJALCEBPMC>k__BackingField = this.<EDNKKMAAFEB>k__BackingField.<CNJALCEBPMC>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 <CNJALCEBPMC>k__BackingField2 = this.<EDNKKMAAFEB>k__BackingField.<CNJALCEBPMC>k__BackingField;
bool flag2;
if (consumableInfo != 0 && consumableInfo.LimitType <= ConsumableManager.FFCJLEMFFAJ.Time)
{
base.StopAllCoroutines();
if (!flag2)
{
Text text8 = this.timeLeft;
int <MAAELOFEKIJ>k__BackingField = this.<EDNKKMAAFEB>k__BackingField.<MAAELOFEKIJ>k__BackingField;
string text9 = this.NMLKKAFFNIN(<MAAELOFEKIJ>k__BackingField);
}
OOCCCGPICOG oocccgpicog = this.<EDNKKMAAFEB>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.<EDNKKMAAFEB>k__BackingField.<JPAOOKPLEDB>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: 0x060030E3 RID: 12515 RVA: 0x000C8208 File Offset: 0x000C6408
[Token(Token = "0x60030E3")]
[Address(RVA = "0x10E9100", Offset = "0x10E7F00", VA = "0x1810E9100")]
private IEnumerator DJGAMOHHJNP(int HABFNPMBADP)
{
/*
An exception occurred when decompiling this method (060030E3)
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: 0x060030E4 RID: 12516 RVA: 0x000C8234 File Offset: 0x000C6434
[Token(Token = "0x60030E4")]
[Address(RVA = "0x10E9700", Offset = "0x10E8500", VA = "0x1810E9700")]
private string NMLKKAFFNIN(int HABFNPMBADP)
{
string text;
return text;
}
// Token: 0x060030E5 RID: 12517 RVA: 0x000C8258 File Offset: 0x000C6458
[Token(Token = "0x60030E5")]
[Address(RVA = "0xCD42D0", Offset = "0xCD30D0", VA = "0x180CD42D0")]
public ConsumableButton()
{
}
// Token: 0x060030E6 RID: 12518 RVA: 0x000C8278 File Offset: 0x000C6478
[Token(Token = "0x60030E6")]
[Address(RVA = "0x10E9040", Offset = "0x10E7E40", VA = "0x1810E9040")]
[CompilerGenerated]
private JCOINEEFENJ<GameObject> BJDEOHMJBKN()
{
DCLIBCDKJNF<GameObject> dclibcdkjnf = new DCLIBCDKJNF();
string <CNJALCEBPMC>k__BackingField = this.<EDNKKMAAFEB>k__BackingField.<CNJALCEBPMC>k__BackingField;
GameObject gameObject;
dclibcdkjnf.OOOIENHGNCA(gameObject);
throw new NullReferenceException();
}
// Token: 0x04002861 RID: 10337
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4002861")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
private ToggleButton3D toggle;
// Token: 0x04002862 RID: 10338
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4002862")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.SelfAndChildren, false, false, false)]
private Tooltip tooltip;
// Token: 0x04002863 RID: 10339
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4002863")]
[SerializeField]
private float localImposterRadius = 62.5f;
// Token: 0x04002864 RID: 10340
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4002864")]
[SerializeField]
private Transform consumableRoot;
// Token: 0x04002865 RID: 10341
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4002865")]
[SerializeField]
private Text consumableName;
// Token: 0x04002866 RID: 10342
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4002866")]
[SerializeField]
private Text count;
// Token: 0x04002867 RID: 10343
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4002867")]
[SerializeField]
private Text timeLeft;
// Token: 0x04002868 RID: 10344
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4002868")]
[SerializeField]
private GameObject useText;
// Token: 0x0400286A RID: 10346
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400286A")]
private JCOINEEFENJ<GameObject> IGPGEOMGLDG;
}