Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +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: 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<OOCCCGPICOG, bool> 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<OOCCCGPICOG, bool> 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.<EDNKKMAAFEB>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.<EDNKKMAAFEB>k__BackingField;
OOCCCGPICOG oocccgpicog2 = this.<EDNKKMAAFEB>k__BackingField;
string <CNJALCEBPMC>k__BackingField = BAJGNABECMN.<CNJALCEBPMC>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.<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: 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.<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: 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<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: 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<GameObject> IGPGEOMGLDG;
}