This commit is contained in:
niko
2026-04-12 16:51:38 +02:00
parent 1b6f6d81d0
commit c12fbe3fc6
17828 changed files with 2994770 additions and 0 deletions
@@ -0,0 +1,126 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;
namespace RecRoom.Consumable
{
// Token: 0x020023F9 RID: 9209
[Token(Token = "0x20023F9")]
public class CameraFilterConsumableEffect : ConsumableEffect
{
// Token: 0x0600EA4E RID: 59982 RVA: 0x0035D840 File Offset: 0x0035BA40
[Token(Token = "0x600EA4E")]
[Address(RVA = "0x1D7F6C0", Offset = "0x1D7E6C0", VA = "0x181D7F6C0", Slot = "13")]
protected override void Awake()
{
base.Awake();
List<ConsumableManager.KIDKMAOBOIG> <CEKFDODGELA>k__BackingField = this.<CEKFDODGELA>k__BackingField;
int num = 0;
<CEKFDODGELA>k__BackingField.Add(num);
}
// Token: 0x0600EA4F RID: 59983 RVA: 0x0035D86C File Offset: 0x0035BA6C
[Token(Token = "0x600EA4F")]
[Address(RVA = "0x1D7FB80", Offset = "0x1D7EB80", VA = "0x181D7FB80", Slot = "15")]
protected override void Start()
{
if (NetworkedSingletonMonoBehaviour.FFNIFALJLDD)
{
NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.TryApplyConsumableEffect(this);
}
ShareCamera shareCamera = this.shareCamera;
Action action = new Action(this.CFGDOPBGFJE);
shareCamera.NFDCNGAAKBC += action;
}
// Token: 0x0600EA50 RID: 59984 RVA: 0x0035D8B0 File Offset: 0x0035BAB0
[Token(Token = "0x600EA50")]
[Address(RVA = "0x1D7F710", Offset = "0x1D7E710", VA = "0x181D7F710")]
private void CFGDOPBGFJE()
{
OOCCCGPICOG[] array = this.ACDOAOMJGBF.ToArray();
int num = 0;
int length = array.Length;
if (num < length)
{
OOCCCGPICOG oocccgpicog = array[num];
base.OCFKJPHFMCH(oocccgpicog, 1);
num++;
}
}
// Token: 0x0600EA51 RID: 59985 RVA: 0x0035D8F0 File Offset: 0x0035BAF0
[Token(Token = "0x600EA51")]
[Address(RVA = "0x1D7F9C0", Offset = "0x1D7E9C0", VA = "0x181D7F9C0", Slot = "16")]
protected override void IEKANKBCIBP(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
GameObject effectPrefab = ALMOGLHMFHL.effectPrefab;
int num = 0;
if (effectPrefab != num)
{
GameObject effectPrefab2 = ALMOGLHMFHL.effectPrefab;
Transform transform = base.transform;
GameObject gameObject = global::UnityEngine.Object.Instantiate<GameObject>(effectPrefab2, transform);
Dictionary<string, GameObject> pafplmgleof = this.PAFPLMGLEOF;
string guidString = ALMOGLHMFHL.guidString;
pafplmgleof[guidString] = gameObject;
}
int num2 = 0;
if (ALMOGLHMFHL != num2)
{
this.shareCamera.HBCEKOLOOCK = ALMOGLHMFHL;
if (CPNHCODHDAD)
{
string text = ALMOGLHMFHL.friendlyName + " activated";
base.KOEKICOBBKF(text);
}
}
}
// Token: 0x0600EA52 RID: 59986 RVA: 0x0035D984 File Offset: 0x0035BB84
[Token(Token = "0x600EA52")]
[Address(RVA = "0x1D7F7B0", Offset = "0x1D7E7B0", VA = "0x181D7F7B0", Slot = "17")]
protected override void HHBCNEEODDB(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
GameObject effectPrefab = ALMOGLHMFHL.effectPrefab;
int num = 0;
if (effectPrefab != num)
{
Dictionary<string, GameObject> pafplmgleof = this.PAFPLMGLEOF;
throw new NullReferenceException();
}
int num2 = 0;
if (ALMOGLHMFHL != num2)
{
this.shareCamera.HBCEKOLOOCK = (ulong)0L;
if (CPNHCODHDAD)
{
string text = ALMOGLHMFHL.friendlyName + " deactivated";
base.KOEKICOBBKF(text);
}
}
}
// Token: 0x0600EA53 RID: 59987 RVA: 0x0035DA44 File Offset: 0x0035BC44
[Token(Token = "0x600EA53")]
[Address(RVA = "0x1D7FCA0", Offset = "0x1D7ECA0", VA = "0x181D7FCA0")]
public CameraFilterConsumableEffect()
{
}
// Token: 0x04009A11 RID: 39441
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009A11")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
private ShareCamera shareCamera;
// Token: 0x04009A12 RID: 39442
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4009A12")]
[SerializeField]
private PostProcessProfile filterProfile;
}
}
@@ -0,0 +1,78 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x020023FA RID: 9210
[Token(Token = "0x20023FA")]
public class CameraFilterConsumableItem : ConsumableItem
{
// Token: 0x1700255D RID: 9565
// (get) Token: 0x0600EA54 RID: 59988 RVA: 0x0035DA58 File Offset: 0x0035BC58
[Token(Token = "0x1700255D")]
public EquipmentSkin DBBKHADKFMN
{
[Token(Token = "0x600EA54")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")]
get
{
return this.shareCamSkin;
}
}
// Token: 0x1700255E RID: 9566
// (get) Token: 0x0600EA55 RID: 59989 RVA: 0x0035DA6C File Offset: 0x0035BC6C
[Token(Token = "0x1700255E")]
public Texture2D AKACHFMDLDP
{
[Token(Token = "0x600EA55")]
[Address(RVA = "0x417720", Offset = "0x416720", VA = "0x180417720")]
get
{
return this.lookUpTexture;
}
}
// Token: 0x1700255F RID: 9567
// (get) Token: 0x0600EA56 RID: 59990 RVA: 0x0035DA80 File Offset: 0x0035BC80
[Token(Token = "0x1700255F")]
public Texture PMLKAJBJDBH
{
[Token(Token = "0x600EA56")]
[Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0")]
get
{
return this.overlayTexture;
}
}
// Token: 0x0600EA57 RID: 59991 RVA: 0x0035DA94 File Offset: 0x0035BC94
[Token(Token = "0x600EA57")]
[Address(RVA = "0x1D7FD00", Offset = "0x1D7ED00", VA = "0x181D7FD00")]
public CameraFilterConsumableItem()
{
}
// Token: 0x04009A13 RID: 39443
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009A13")]
[SerializeField]
[Header("Camera Filter settings")]
protected EquipmentSkin shareCamSkin;
// Token: 0x04009A14 RID: 39444
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009A14")]
[SerializeField]
[Header("Image Settings")]
private Texture2D lookUpTexture;
// Token: 0x04009A15 RID: 39445
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4009A15")]
[SerializeField]
[Header("Overlay")]
protected Texture overlayTexture;
}
}
@@ -0,0 +1,106 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x020023FB RID: 9211
[Token(Token = "0x20023FB")]
public class ConsumableCollectionBuildConfig : ScriptableObject
{
// Token: 0x0600EA58 RID: 59992 RVA: 0x0035DAA8 File Offset: 0x0035BCA8
[Token(Token = "0x600EA58")]
[Address(RVA = "0x1D87650", Offset = "0x1D86650", VA = "0x181D87650")]
public static void HDECHBMKJCO(ConsumableCollectionBuildConfig PFPAJKHPEFN, ConsumableCollectionRuntimeConfig JPPKOPCBAIF)
{
List<ConsumableItem> list = PFPAJKHPEFN.consumablePrefabs;
Func<ConsumableItem, ConsumableInfo> <>9__1_ = ConsumableCollectionBuildConfig.<>c.<>9__1_0;
if (<>9__1_ == 0)
{
ConsumableCollectionBuildConfig.<>c.<>9__1_0 = delegate(ConsumableItem p)
{
bool shouldLoopAudio = ((AIGLMCILBAF.FAEGFHMMIDB)p).BIILOFOAKEJ;
throw new NullReferenceException();
};
}
IEnumerable<ConsumableItem> enumerable = Enumerable.Select<ConsumableItem, ConsumableInfo>(list, <>9__1_);
Func<ConsumableInfo, bool> func;
if (ConsumableCollectionBuildConfig.<>c.<>9__1_1 == 0)
{
func = delegate(ConsumableInfo i)
{
if (i == 0)
{
return 0 != 0;
}
return i != 0;
};
ConsumableCollectionBuildConfig.<>c.<>9__1_1 = func;
}
GenericConsumableInfo[] array = Enumerable.ToArray<GenericConsumableInfo>(Enumerable.Cast<GenericConsumableInfo>(Enumerable.Where<ConsumableInfo>(enumerable, func)));
JPPKOPCBAIF.GenericConsumables = array;
Func<ConsumableInfo, bool> func2;
if (ConsumableCollectionBuildConfig.<>c.<>9__1_2 == 0)
{
func2 = delegate(ConsumableInfo i)
{
if (i == 0)
{
return 0 != 0;
}
return i != 0;
};
ConsumableCollectionBuildConfig.<>c.<>9__1_2 = func2;
}
HairDyeConsumableInfo[] array2 = Enumerable.ToArray<HairDyeConsumableInfo>(Enumerable.Cast<HairDyeConsumableInfo>(Enumerable.Where<ConsumableInfo>(enumerable, func2)));
JPPKOPCBAIF.HairDyeConsumables = array2;
Func<ConsumableInfo, bool> func3;
if (ConsumableCollectionBuildConfig.<>c.<>9__1_3 == 0)
{
func3 = delegate(ConsumableInfo i)
{
if (i == 0)
{
return 0 != 0;
}
return i != 0;
};
ConsumableCollectionBuildConfig.<>c.<>9__1_3 = func3;
}
CouponConsumableInfo[] array3 = Enumerable.ToArray<CouponConsumableInfo>(Enumerable.Cast<CouponConsumableInfo>(Enumerable.Where<ConsumableInfo>(enumerable, func3)));
JPPKOPCBAIF.CouponConsumables = array3;
Func<ConsumableInfo, bool> func4;
if (ConsumableCollectionBuildConfig.<>c.<>9__1_4 == 0)
{
func4 = delegate(ConsumableInfo i)
{
if (i == 0)
{
return 0 != 0;
}
return i != 0;
};
ConsumableCollectionBuildConfig.<>c.<>9__1_4 = func4;
}
HeadPotionConsumableInfo[] array4 = Enumerable.ToArray<HeadPotionConsumableInfo>(Enumerable.Cast<HeadPotionConsumableInfo>(Enumerable.Where<ConsumableInfo>(enumerable, func4)));
JPPKOPCBAIF.HeadPotionConsumables = array4;
}
// Token: 0x0600EA59 RID: 59993 RVA: 0x0035DBDC File Offset: 0x0035BDDC
[Token(Token = "0x600EA59")]
[Address(RVA = "0x1D87A90", Offset = "0x1D86A90", VA = "0x181D87A90")]
public ConsumableCollectionBuildConfig()
{
List<ConsumableItem> list = new List();
this.consumablePrefabs = list;
base..ctor();
}
// Token: 0x04009A16 RID: 39446
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009A16")]
public List<ConsumableItem> consumablePrefabs;
}
}
@@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x020023FD RID: 9213
[Token(Token = "0x20023FD")]
public class ConsumableCollectionRuntimeConfig : ScriptableObject
{
// Token: 0x0600EA61 RID: 60001 RVA: 0x0035DCD4 File Offset: 0x0035BED4
[Token(Token = "0x600EA61")]
[Address(RVA = "0x1D87AF0", Offset = "0x1D86AF0", VA = "0x181D87AF0")]
public ConsumableInfo[] OMNPEILCEOD()
{
HairDyeConsumableInfo[] hairDyeConsumables = this.HairDyeConsumables;
IEnumerable<ConsumableInfo> enumerable = Enumerable.Concat<ConsumableInfo>(this.GenericConsumables, hairDyeConsumables);
CouponConsumableInfo[] couponConsumables = this.CouponConsumables;
IEnumerable<ConsumableInfo> enumerable2 = Enumerable.Concat<ConsumableInfo>(enumerable, couponConsumables);
HeadPotionConsumableInfo[] headPotionConsumables = this.HeadPotionConsumables;
return Enumerable.ToArray<ConsumableInfo>(Enumerable.Concat<ConsumableInfo>(enumerable2, headPotionConsumables));
}
// Token: 0x0600EA62 RID: 60002 RVA: 0x0035DD1C File Offset: 0x0035BF1C
[Token(Token = "0x600EA62")]
[Address(RVA = "0x5B1810", Offset = "0x5B0810", VA = "0x1805B1810")]
public ConsumableCollectionRuntimeConfig()
{
}
// Token: 0x04009A1D RID: 39453
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009A1D")]
[SerializeField]
public GenericConsumableInfo[] GenericConsumables;
// Token: 0x04009A1E RID: 39454
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009A1E")]
[SerializeField]
public HairDyeConsumableInfo[] HairDyeConsumables;
// Token: 0x04009A1F RID: 39455
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009A1F")]
[SerializeField]
public CouponConsumableInfo[] CouponConsumables;
// Token: 0x04009A20 RID: 39456
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009A20")]
[SerializeField]
public HeadPotionConsumableInfo[] HeadPotionConsumables;
}
}
@@ -0,0 +1,444 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using Photon.Pun;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002403 RID: 9219
[Token(Token = "0x2002403")]
public abstract class ConsumableEffect : MonoBehaviourPun
{
// Token: 0x17002561 RID: 9569
// (get) Token: 0x0600EA6B RID: 60011 RVA: 0x0035DE3C File Offset: 0x0035C03C
// (set) Token: 0x0600EA6C RID: 60012 RVA: 0x0035DE50 File Offset: 0x0035C050
[Token(Token = "0x17002561")]
public List<ConsumableManager.KIDKMAOBOIG> DPCHAPDNDAI
{
[Token(Token = "0x600EA6B")]
[Address(RVA = "0x417680", Offset = "0x416680", VA = "0x180417680")]
get;
[Token(Token = "0x600EA6C")]
[Address(RVA = "0x417960", Offset = "0x416960", VA = "0x180417960")]
protected set;
}
// Token: 0x17002562 RID: 9570
// (get) Token: 0x0600EA6D RID: 60013 RVA: 0x0035DE64 File Offset: 0x0035C064
// (set) Token: 0x0600EA6E RID: 60014 RVA: 0x0035DE78 File Offset: 0x0035C078
[Token(Token = "0x17002562")]
public bool DKLGNFGONEM
{
[Token(Token = "0x600EA6D")]
[Address(RVA = "0x42EBF0", Offset = "0x42DBF0", VA = "0x18042EBF0")]
get;
[Token(Token = "0x600EA6E")]
[Address(RVA = "0x42F020", Offset = "0x42E020", VA = "0x18042F020")]
private set;
}
// Token: 0x0600EA6F RID: 60015 RVA: 0x0035DE8C File Offset: 0x0035C08C
[Token(Token = "0x600EA6F")]
[Address(RVA = "0x1D88BE0", Offset = "0x1D87BE0", VA = "0x181D88BE0")]
protected ConsumableItem PHILEFGALDN()
{
string[] array = this.LDIDFEJLBPK.IAHDANBDAAM();
if (array.Length == 0)
{
}
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
string text = array[0];
return instance.GetOrLoadConsumablePrefab(text);
}
// Token: 0x0600EA70 RID: 60016 RVA: 0x0035DECC File Offset: 0x0035C0CC
[Token(Token = "0x600EA70")]
[Address(RVA = "0x1D87B70", Offset = "0x1D86B70", VA = "0x181D87B70", Slot = "13")]
protected override void Awake()
{
base..ctor();
List<ConsumableManager.KIDKMAOBOIG> list = new List();
this.<CEKFDODGELA>k__BackingField = list;
bool isLocal = base.JDHMIOJKLCK.AHNNNIPLFGD;
this.<MHCDCIGJNNA>k__BackingField = isLocal;
string[] array = new string[0];
Action action = new Action(this.MHNEGDPFLNL);
KLLMCPFPIIE<string[]> kllmcpfpiie;
this.LDIDFEJLBPK = kllmcpfpiie;
KLLMCPFPIIE<bool> kllmcpfpiie2;
this.CLNHDLDPMOI = kllmcpfpiie2;
if (this.<MHCDCIGJNNA>k__BackingField)
{
ConsumableEffect.AllLocal.Add(this);
}
Action action2 = new Action(this.GCILAGCGICN);
Coroutine coroutine = this.CHAAKFJCLIH(action2);
}
// Token: 0x0600EA71 RID: 60017 RVA: 0x0035DF58 File Offset: 0x0035C158
[Token(Token = "0x600EA71")]
[Address(RVA = "0x1D88C90", Offset = "0x1D87C90", VA = "0x181D88C90", Slot = "15")]
protected virtual void Start()
{
if (NetworkedSingletonMonoBehaviour.FFNIFALJLDD && this.<MHCDCIGJNNA>k__BackingField)
{
NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.TryApplyConsumableEffect(this);
return;
}
}
// Token: 0x0600EA72 RID: 60018 RVA: 0x0035DF88 File Offset: 0x0035C188
[Token(Token = "0x600EA72")]
[Address(RVA = "0x1D88B00", Offset = "0x1D87B00", VA = "0x181D88B00", Slot = "14")]
protected override void OnDestroy()
{
if (this.<MHCDCIGJNNA>k__BackingField)
{
bool flag = ConsumableEffect.AllLocal.Remove(this);
}
base.OnDestroy();
}
// Token: 0x0600EA73 RID: 60019 RVA: 0x0035DFB8 File Offset: 0x0035C1B8
[Token(Token = "0x600EA73")]
[Address(RVA = "0x1D88550", Offset = "0x1D87550", VA = "0x181D88550")]
public bool LocalActivateConsumable(OOCCCGPICOG BAJGNABECMN, bool CPNHCODHDAD)
{
if (this.<MHCDCIGJNNA>k__BackingField)
{
List<ConsumableManager.KIDKMAOBOIG> list = this.<CEKFDODGELA>k__BackingField;
ConsumableManager.KIDKMAOBOIG kidkmaoboig = BAJGNABECMN.GMMAAAGFAKO();
bool flag;
if (flag && !this.ACDOAOMJGBF.Contains(BAJGNABECMN))
{
this.ACDOAOMJGBF.Add(BAJGNABECMN);
KLLMCPFPIIE<bool> clnhdldpmoi = this.CLNHDLDPMOI;
int num = this.LDIDFEJLBPK.IAHDANBDAAM().Length;
num++;
string[] array = new string[num];
string <CNJALCEBPMC>k__BackingField = BAJGNABECMN.<CNJALCEBPMC>k__BackingField;
if (<CNJALCEBPMC>k__BackingField != 0)
{
}
array[0] = <CNJALCEBPMC>k__BackingField;
KLLMCPFPIIE<string[]> ldidfejlbpk = this.LDIDFEJLBPK;
}
}
throw new ArrayTypeMismatchException();
}
// Token: 0x0600EA74 RID: 60020 RVA: 0x0035E04C File Offset: 0x0035C24C
[Token(Token = "0x600EA74")]
[Address(RVA = "0x1D888B0", Offset = "0x1D878B0", VA = "0x181D888B0")]
public static IEnumerable<ConsumableEffect> LocalGetAll(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK)
{
List<ConsumableEffect> allLocal = ConsumableEffect.AllLocal;
Func<ConsumableEffect, bool> func = delegate(ConsumableEffect e)
{
List<ConsumableManager.KIDKMAOBOIG> list = e.<CEKFDODGELA>k__BackingField;
ConsumableManager.KIDKMAOBOIG category = DJFBMCIDJNK;
return list.Contains(category);
};
return Enumerable.Where<ConsumableEffect>(allLocal, func);
}
// Token: 0x0600EA75 RID: 60021 RVA: 0x0035E088 File Offset: 0x0035C288
[Token(Token = "0x600EA75")]
[Address(RVA = "0x1D88700", Offset = "0x1D87700", VA = "0x181D88700")]
public bool LocalDeactivateConsumable(OOCCCGPICOG BAJGNABECMN, bool CPNHCODHDAD)
{
OOCCCGPICOG consumable = BAJGNABECMN;
if (this.<MHCDCIGJNNA>k__BackingField)
{
List<ConsumableManager.KIDKMAOBOIG> list = this.<CEKFDODGELA>k__BackingField;
ConsumableManager.KIDKMAOBOIG kidkmaoboig = BAJGNABECMN.GMMAAAGFAKO();
bool flag;
if (flag)
{
List<OOCCCGPICOG> acdoaomjgbf = this.ACDOAOMJGBF;
OOCCCGPICOG consumable3 = consumable;
if (acdoaomjgbf.Contains(consumable3))
{
List<OOCCCGPICOG> acdoaomjgbf2 = this.ACDOAOMJGBF;
OOCCCGPICOG consumable2 = consumable;
bool flag2 = acdoaomjgbf2.Remove(consumable2);
KLLMCPFPIIE<bool> clnhdldpmoi = this.CLNHDLDPMOI;
string[] array = this.LDIDFEJLBPK.IAHDANBDAAM();
Func<string, bool> func = delegate(string d)
{
string <CNJALCEBPMC>k__BackingField = consumable.<CNJALCEBPMC>k__BackingField;
return d != <CNJALCEBPMC>k__BackingField;
};
string[] array2 = Enumerable.ToArray<string>(Enumerable.Where<string>(array, func));
KLLMCPFPIIE<string[]> ldidfejlbpk = this.LDIDFEJLBPK;
return true;
}
}
}
throw new NullReferenceException();
}
// Token: 0x0600EA76 RID: 60022 RVA: 0x0035E13C File Offset: 0x0035C33C
[Token(Token = "0x600EA76")]
[Address(RVA = "0x1D87D60", Offset = "0x1D86D60", VA = "0x181D87D60")]
private void EMKJNFKEMAK(bool EEGJPAHLMCH = false)
{
int num;
do
{
num = 0;
if (this.CLNHDLDPMOI.IAHDANBDAAM() == 0)
{
}
string[] array = this.LDIDFEJLBPK.IAHDANBDAAM();
if (array != 0)
{
int length = array.Length;
if (num < length)
{
string text = array[num];
if (!this.JKMOCAJOOPF.Contains(text))
{
ConsumableItem orLoadConsumablePrefab = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.GetOrLoadConsumablePrefab(text);
bool flag = this.JKMOCAJOOPF.Add(text);
int num2 = 0;
if (orLoadConsumablePrefab != num2)
{
this.Start();
}
}
num++;
}
List<string> list = Enumerable.ToList<string>(Enumerable.Except<string>(this.JKMOCAJOOPF, array));
bool flag2;
if (flag2)
{
bool flag3 = this.JKMOCAJOOPF.Remove(num);
ConsumableItem orLoadConsumablePrefab2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.GetOrLoadConsumablePrefab(num);
int num3 = 0;
if (!(orLoadConsumablePrefab2 != num3))
{
continue;
}
this.IEKANKBCIBP(orLoadConsumablePrefab2, EEGJPAHLMCH);
}
if (num != 0)
{
continue;
}
if (num != -1)
{
}
}
List<string> list2 = Enumerable.ToList<string>(this.JKMOCAJOOPF);
bool flag4;
if (flag4)
{
HashSet<string> jkmocajoopf = this.JKMOCAJOOPF;
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num4 = 0;
ConsumableItem consumableItem;
if (!(consumableItem != num4))
{
continue;
}
this.IEKANKBCIBP(consumableItem, EEGJPAHLMCH);
}
}
while (num != 0);
}
// Token: 0x0600EA77 RID: 60023 RVA: 0x0035E264 File Offset: 0x0035C464
[Token(Token = "0x600EA77")]
[Address(RVA = "0x1D88A30", Offset = "0x1D87A30", VA = "0x181D88A30")]
protected void OCFKJPHFMCH(OOCCCGPICOG BAJGNABECMN, int FKKAPHAMPMG)
{
if (this.<MHCDCIGJNNA>k__BackingField)
{
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
IEnumerator enumerator = FOEHJBDMMBH.LCELAOEOIJO(BAJGNABECMN, FKKAPHAMPMG, num);
}
}
// Token: 0x0600EA78 RID: 60024 RVA: 0x0035E294 File Offset: 0x0035C494
[Token(Token = "0x600EA78")]
[Address(RVA = "0x1D883D0", Offset = "0x1D873D0", VA = "0x181D883D0", Slot = "16")]
protected virtual void IEKANKBCIBP(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
GameObject effectPrefab = ALMOGLHMFHL.effectPrefab;
int num = 0;
if (effectPrefab != num)
{
GameObject effectPrefab2 = ALMOGLHMFHL.effectPrefab;
Transform transform = base.transform;
GameObject gameObject = global::UnityEngine.Object.Instantiate<GameObject>(effectPrefab2, transform);
Dictionary<string, GameObject> pafplmgleof = this.PAFPLMGLEOF;
string guidString = ALMOGLHMFHL.guidString;
pafplmgleof[guidString] = gameObject;
}
}
// Token: 0x0600EA79 RID: 60025 RVA: 0x0035E2EC File Offset: 0x0035C4EC
[Token(Token = "0x600EA79")]
[Address(RVA = "0x1D88B90", Offset = "0x1D87B90", VA = "0x181D88B90")]
protected Dictionary<string, GameObject>.ValueCollection PGHKOFAMNJA()
{
return this.PAFPLMGLEOF.Values;
}
// Token: 0x0600EA7A RID: 60026 RVA: 0x0035E30C File Offset: 0x0035C50C
[Token(Token = "0x600EA7A")]
[Address(RVA = "0x1D889A0", Offset = "0x1D879A0", VA = "0x181D889A0")]
protected GameObject NKEAAJDOLJK(ConsumableItem ALMOGLHMFHL)
{
Dictionary<string, GameObject> pafplmgleof = this.PAFPLMGLEOF;
throw new NullReferenceException();
}
// Token: 0x0600EA7B RID: 60027 RVA: 0x0035E348 File Offset: 0x0035C548
[Token(Token = "0x600EA7B")]
[Address(RVA = "0x1D88290", Offset = "0x1D87290", VA = "0x181D88290", Slot = "17")]
protected virtual void HHBCNEEODDB(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
GameObject effectPrefab = ALMOGLHMFHL.effectPrefab;
int num = 0;
if (effectPrefab != num)
{
Dictionary<string, GameObject> pafplmgleof = this.PAFPLMGLEOF;
throw new NullReferenceException();
}
}
// Token: 0x0600EA7C RID: 60028 RVA: 0x0035E3CC File Offset: 0x0035C5CC
[Token(Token = "0x600EA7C")]
[Address(RVA = "0x1D884C0", Offset = "0x1D874C0", VA = "0x181D884C0")]
protected void KOEKICOBBKF(string NGPMADFHHKP)
{
NotificationManager instance = SingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
IDisposable disposable = instance.Play(NotificationManager.IBIDFAOPIPC.Medium, NGPMADFHHKP, 3f, num, num);
}
// Token: 0x0600EA7D RID: 60029 RVA: 0x0035E3F8 File Offset: 0x0035C5F8
[Token(Token = "0x600EA7D")]
[Address(RVA = "0x1D88DA0", Offset = "0x1D87DA0", VA = "0x181D88DA0")]
protected ConsumableEffect()
{
HashSet<string> hashSet = new HashSet();
this.JKMOCAJOOPF = hashSet;
List<OOCCCGPICOG> list = new List();
this.ACDOAOMJGBF = list;
Dictionary<string, GameObject> dictionary = new Dictionary();
this.PAFPLMGLEOF = dictionary;
base..ctor();
}
// Token: 0x0600EA7F RID: 60031 RVA: 0x0035E44C File Offset: 0x0035C64C
[Token(Token = "0x600EA7F")]
[Address(RVA = "0x1D88990", Offset = "0x1D87990", VA = "0x181D88990")]
[CompilerGenerated]
private void MHNEGDPFLNL()
{
int num = 0;
this.EMKJNFKEMAK(num != 0);
}
// Token: 0x0600EA80 RID: 60032 RVA: 0x0035E464 File Offset: 0x0035C664
[Token(Token = "0x600EA80")]
[Address(RVA = "0x1D88280", Offset = "0x1D87280", VA = "0x181D88280")]
[CompilerGenerated]
private void GCILAGCGICN()
{
this.EMKJNFKEMAK(true);
}
// Token: 0x04009A2F RID: 39471
[Token(Token = "0x4009A2F")]
public static List<ConsumableEffect> AllLocal = new List();
// Token: 0x04009A32 RID: 39474
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009A32")]
private KLLMCPFPIIE<bool> CLNHDLDPMOI;
// Token: 0x04009A33 RID: 39475
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009A33")]
private KLLMCPFPIIE<string[]> LDIDFEJLBPK;
// Token: 0x04009A34 RID: 39476
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009A34")]
private HashSet<string> JKMOCAJOOPF;
// Token: 0x04009A35 RID: 39477
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4009A35")]
protected List<OOCCCGPICOG> ACDOAOMJGBF;
// Token: 0x04009A36 RID: 39478
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4009A36")]
private Dictionary<string, GameObject> PAFPLMGLEOF;
// Token: 0x02002404 RID: 9220
[Token(Token = "0x2002404")]
[CompilerGenerated]
private sealed class AFDMFCGFNKG
{
// Token: 0x0600EA81 RID: 60033 RVA: 0x0035E478 File Offset: 0x0035C678
[Token(Token = "0x600EA81")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public AFDMFCGFNKG()
{
}
// Token: 0x0600EA82 RID: 60034 RVA: 0x0035E48C File Offset: 0x0035C68C
[Token(Token = "0x600EA82")]
[Address(RVA = "0x1D7EEE0", Offset = "0x1D7DEE0", VA = "0x181D7EEE0")]
internal bool <LocalGetAll>b__0(ConsumableEffect e)
{
List<ConsumableManager.KIDKMAOBOIG> <CEKFDODGELA>k__BackingField = e.<CEKFDODGELA>k__BackingField;
ConsumableManager.KIDKMAOBOIG kidkmaoboig = this.category;
return <CEKFDODGELA>k__BackingField.Contains(kidkmaoboig);
}
// Token: 0x04009A37 RID: 39479
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A37")]
public ConsumableManager.KIDKMAOBOIG category;
}
// Token: 0x02002405 RID: 9221
[Token(Token = "0x2002405")]
[CompilerGenerated]
private sealed class HPCLPDDEDEG
{
// Token: 0x0600EA83 RID: 60035 RVA: 0x0035E4B4 File Offset: 0x0035C6B4
[Token(Token = "0x600EA83")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public HPCLPDDEDEG()
{
}
// Token: 0x0600EA84 RID: 60036 RVA: 0x0035E4C8 File Offset: 0x0035C6C8
[Token(Token = "0x600EA84")]
[Address(RVA = "0x1D8FE90", Offset = "0x1D8EE90", VA = "0x181D8FE90")]
internal bool <LocalDeactivateConsumable>b__0(string d)
{
string <CNJALCEBPMC>k__BackingField = this.consumable.<CNJALCEBPMC>k__BackingField;
return d != <CNJALCEBPMC>k__BackingField;
}
// Token: 0x04009A38 RID: 39480
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A38")]
public OOCCCGPICOG consumable;
}
}
}
@@ -0,0 +1,71 @@
using System;
using Cpp2IlInjected;
namespace RecRoom.Consumable
{
// Token: 0x020023FE RID: 9214
[Token(Token = "0x20023FE")]
[Serializable]
public abstract class ConsumableInfo
{
// Token: 0x17002560 RID: 9568
// (get) Token: 0x0600EA63 RID: 60003 RVA: 0x0035DD30 File Offset: 0x0035BF30
[Token(Token = "0x17002560")]
public bool HasConsumableTool
{
[Token(Token = "0x600EA63")]
[Address(RVA = "0x1BC2D10", Offset = "0x1BC1D10", VA = "0x181BC2D10")]
get
{
return !string.IsNullOrEmpty(this.ConsumableToolName);
}
}
// Token: 0x0600EA64 RID: 60004 RVA: 0x0035DD4C File Offset: 0x0035BF4C
[Token(Token = "0x600EA64")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
protected ConsumableInfo()
{
}
// Token: 0x04009A21 RID: 39457
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A21")]
public string FileName;
// Token: 0x04009A22 RID: 39458
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009A22")]
public string ConsumableItemDesc;
// Token: 0x04009A23 RID: 39459
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009A23")]
public string FriendlyName;
// Token: 0x04009A24 RID: 39460
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009A24")]
public ConsumableManager.KIDKMAOBOIG Category;
// Token: 0x04009A25 RID: 39461
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x4009A25")]
public ConsumableManager.FFCJLEMFFAJ LimitType;
// Token: 0x04009A26 RID: 39462
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009A26")]
public int LimitCount;
// Token: 0x04009A27 RID: 39463
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4009A27")]
public bool AutoActivateNextItem;
// Token: 0x04009A28 RID: 39464
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4009A28")]
public string ConsumableToolName;
}
}
@@ -0,0 +1,259 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002406 RID: 9222
[Token(Token = "0x2002406")]
public abstract class ConsumableItem : MonoBehaviour, IComparable<ConsumableItem>
{
// Token: 0x17002563 RID: 9571
// (get) Token: 0x0600EA85 RID: 60037 RVA: 0x0035E4F0 File Offset: 0x0035C6F0
[Token(Token = "0x17002563")]
public string KENGPMDDCML
{
[Token(Token = "0x600EA85")]
[Address(RVA = "0x4157B0", Offset = "0x4147B0", VA = "0x1804157B0")]
get
{
return this.friendlyName;
}
}
// Token: 0x17002564 RID: 9572
// (get) Token: 0x0600EA86 RID: 60038 RVA: 0x0035E504 File Offset: 0x0035C704
[Token(Token = "0x17002564")]
public ConsumableManager.KIDKMAOBOIG GMMAAAGFAKO
{
[Token(Token = "0x600EA86")]
[Address(RVA = "0x470B70", Offset = "0x46FB70", VA = "0x180470B70")]
get
{
return this.category;
}
}
// Token: 0x17002565 RID: 9573
// (get) Token: 0x0600EA87 RID: 60039 RVA: 0x0035E518 File Offset: 0x0035C718
[Token(Token = "0x17002565")]
public string HAKADJAKPDO
{
[Token(Token = "0x600EA87")]
[Address(RVA = "0x4157D0", Offset = "0x4147D0", VA = "0x1804157D0")]
get
{
return this.guidString;
}
}
// Token: 0x17002566 RID: 9574
// (get) Token: 0x0600EA88 RID: 60040 RVA: 0x0035E52C File Offset: 0x0035C72C
[Token(Token = "0x17002566")]
public int KFAAPLBOPPF
{
[Token(Token = "0x600EA88")]
[Address(RVA = "0x4257C0", Offset = "0x4247C0", VA = "0x1804257C0")]
get
{
return this.limitCount;
}
}
// Token: 0x17002567 RID: 9575
// (get) Token: 0x0600EA89 RID: 60041 RVA: 0x0035E540 File Offset: 0x0035C740
[Token(Token = "0x17002567")]
public ConsumableManager.FFCJLEMFFAJ NLFGJKJJFFO
{
[Token(Token = "0x600EA89")]
[Address(RVA = "0x4D9880", Offset = "0x4D8880", VA = "0x1804D9880")]
get
{
return this.limitType;
}
}
// Token: 0x17002568 RID: 9576
// (get) Token: 0x0600EA8A RID: 60042 RVA: 0x0035E554 File Offset: 0x0035C754
[Token(Token = "0x17002568")]
public bool IPAFOLPNGFD
{
[Token(Token = "0x600EA8A")]
[Address(RVA = "0x417650", Offset = "0x416650", VA = "0x180417650")]
get
{
return this.autoActivateNextItem;
}
}
// Token: 0x17002569 RID: 9577
// (get) Token: 0x0600EA8B RID: 60043 RVA: 0x0035E568 File Offset: 0x0035C768
[Token(Token = "0x17002569")]
public Transform MLDAPHCKOKF
{
[Token(Token = "0x600EA8B")]
[Address(RVA = "0x417680", Offset = "0x416680", VA = "0x180417680")]
get
{
return this.visualRoot;
}
}
// Token: 0x1700256A RID: 9578
// (get) Token: 0x0600EA8C RID: 60044 RVA: 0x0035E57C File Offset: 0x0035C77C
[Token(Token = "0x1700256A")]
public ConsumableTool MIJHIIPIIGO
{
[Token(Token = "0x600EA8C")]
[Address(RVA = "0x4975A0", Offset = "0x4965A0", VA = "0x1804975A0")]
get
{
return this.consumableTool;
}
}
// Token: 0x1700256B RID: 9579
// (get) Token: 0x0600EA8D RID: 60045 RVA: 0x0035E590 File Offset: 0x0035C790
[Token(Token = "0x1700256B")]
public GameObject IMNJKLMBGEO
{
[Token(Token = "0x600EA8D")]
[Address(RVA = "0x4936E0", Offset = "0x4926E0", VA = "0x1804936E0")]
get
{
return this.effectPrefab;
}
}
// Token: 0x0600EA8E RID: 60046 RVA: 0x0035E5A4 File Offset: 0x0035C7A4
[Token(Token = "0x600EA8E")]
[Address(RVA = "0x1D88E50", Offset = "0x1D87E50", VA = "0x181D88E50", Slot = "4")]
public int CompareTo(ConsumableItem HPKICPNGMDJ)
{
int num2;
do
{
int num = 0;
if (HPKICPNGMDJ == num)
{
return 0;
}
ConsumableManager.KIDKMAOBOIG kidkmaoboig = this.category;
}
while (num2 != 0);
string text = this.friendlyName;
string text2 = HPKICPNGMDJ.friendlyName;
return text.CompareTo(text2);
}
// Token: 0x0600EA8F RID: 60047 RVA: 0x0035E5E8 File Offset: 0x0035C7E8
[Token(Token = "0x600EA8F")]
[Address(RVA = "0x1D88F00", Offset = "0x1D87F00", VA = "0x181D88F00", Slot = "5")]
public virtual ConsumableInfo ToConsumableInfo()
{
/*
An exception occurred when decompiling this method (0600EA8F)
ICSharpCode.Decompiler.DecompilerException: Error decompiling RecRoom.Consumable.ConsumableInfo RecRoom.Consumable.ConsumableItem::ToConsumableInfo()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:GenericConsumableInfo(var_1_05, newobj:GenericConsumableInfo(GenericConsumableInfo::.ctor))
}
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: 0x0600EA90 RID: 60048 RVA: 0x0035E5FC File Offset: 0x0035C7FC
[Token(Token = "0x600EA90")]
[Address(RVA = "0x21763C0", Offset = "0x21753C0", VA = "0x1821763C0")]
protected void DKBOALDPDAN<T>(ref T DBDDKLHPNNA) where T : ConsumableInfo
{
string name = base.gameObject.name;
ConsumableTool consumableTool = this.consumableTool;
if (consumableTool != 0)
{
string name2 = consumableTool.name;
}
}
// Token: 0x0600EA91 RID: 60049 RVA: 0x0035E630 File Offset: 0x0035C830
[Token(Token = "0x600EA91")]
[Address(RVA = "0x1D88F80", Offset = "0x1D87F80", VA = "0x181D88F80")]
protected ConsumableItem()
{
Guid guid = Guid.NewGuid();
string text;
this.guidString = text;
this.limitCount = (int)((ulong)1L);
base..ctor();
}
// Token: 0x04009A39 RID: 39481
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009A39")]
[SerializeField]
protected string friendlyName;
// Token: 0x04009A3A RID: 39482
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009A3A")]
[SerializeField]
protected ConsumableManager.KIDKMAOBOIG category;
// Token: 0x04009A3B RID: 39483
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009A3B")]
[SerializeField]
[Tooltip("This guid is auto generated at the time of the prefab creation and should never change if you do not want to break an existing players consumables.")]
protected string guidString;
// Token: 0x04009A3C RID: 39484
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009A3C")]
[SerializeField]
[Header("Usage limits.")]
protected int limitCount;
// Token: 0x04009A3D RID: 39485
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4009A3D")]
[SerializeField]
protected ConsumableManager.FFCJLEMFFAJ limitType;
// Token: 0x04009A3E RID: 39486
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4009A3E")]
[SerializeField]
protected bool autoActivateNextItem;
// Token: 0x04009A3F RID: 39487
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009A3F")]
[SerializeField]
[Header("Visual for the boxes.")]
protected Transform visualRoot;
// Token: 0x04009A40 RID: 39488
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009A40")]
[SerializeField]
[Tooltip("If there is a custom consumable tool to activate the effect mapping, assign it here. This tool will replace the default tool and will be spawned whenever necessary.")]
protected ConsumableTool consumableTool;
// Token: 0x04009A41 RID: 39489
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009A41")]
[SerializeField]
[Tooltip("This prefab will be spawned under the ConsumableEffect to add additional functionality.")]
protected GameObject effectPrefab;
}
}
@@ -0,0 +1,1465 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using RecRoom.Systems.PlayerRoles;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.SceneManagement;
namespace RecRoom.Consumable
{
// Token: 0x02002407 RID: 9223
[Token(Token = "0x2002407")]
public class ConsumableManager : NetworkedSingletonMonoBehaviour<ConsumableManager>
{
// Token: 0x140000F7 RID: 247
// (add) Token: 0x0600EA92 RID: 60050 RVA: 0x0035E65C File Offset: 0x0035C85C
// (remove) Token: 0x0600EA93 RID: 60051 RVA: 0x0035E684 File Offset: 0x0035C884
[Token(Token = "0x140000F7")]
public event Action<OOCCCGPICOG, bool> HNCNGJFLMEL
{
[Token(Token = "0x600EA92")]
[Address(RVA = "0x1D8C900", Offset = "0x1D8B900", VA = "0x181D8C900")]
[CompilerGenerated]
add
{
Action<OOCCCGPICOG, bool> hncngjflmel;
Delegate @delegate;
do
{
hncngjflmel = this.HNCNGJFLMEL;
@delegate = Delegate.Combine(hncngjflmel, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != hncngjflmel)
{
}
}
[Token(Token = "0x600EA93")]
[Address(RVA = "0x1D8CA40", Offset = "0x1D8BA40", VA = "0x181D8CA40")]
[CompilerGenerated]
remove
{
Action<OOCCCGPICOG, bool> hncngjflmel;
Delegate @delegate;
do
{
hncngjflmel = this.HNCNGJFLMEL;
@delegate = Delegate.Remove(hncngjflmel, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != hncngjflmel)
{
}
}
}
// Token: 0x140000F8 RID: 248
// (add) Token: 0x0600EA94 RID: 60052 RVA: 0x0035E6AC File Offset: 0x0035C8AC
// (remove) Token: 0x0600EA95 RID: 60053 RVA: 0x0035E6D4 File Offset: 0x0035C8D4
[Token(Token = "0x140000F8")]
public event Action<OOCCCGPICOG, bool> BNFPEINEDCC
{
[Token(Token = "0x600EA94")]
[Address(RVA = "0x1D8C9A0", Offset = "0x1D8B9A0", VA = "0x181D8C9A0")]
[CompilerGenerated]
add
{
Action<OOCCCGPICOG, bool> bnfpeinedcc;
Delegate @delegate;
do
{
bnfpeinedcc = this.BNFPEINEDCC;
@delegate = Delegate.Combine(bnfpeinedcc, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != bnfpeinedcc)
{
}
}
[Token(Token = "0x600EA95")]
[Address(RVA = "0x1D8CAE0", Offset = "0x1D8BAE0", VA = "0x181D8CAE0")]
[CompilerGenerated]
remove
{
Action<OOCCCGPICOG, bool> bnfpeinedcc;
Delegate @delegate;
do
{
bnfpeinedcc = this.BNFPEINEDCC;
@delegate = Delegate.Remove(bnfpeinedcc, value);
}
while (@delegate != 0 && @delegate == 0);
while (@delegate != bnfpeinedcc)
{
}
}
}
// Token: 0x1700256C RID: 9580
// (get) Token: 0x0600EA96 RID: 60054 RVA: 0x0035E6FC File Offset: 0x0035C8FC
// (set) Token: 0x0600EA97 RID: 60055 RVA: 0x0035E710 File Offset: 0x0035C910
[Token(Token = "0x1700256C")]
public List<OOCCCGPICOG> HBNKDJHPFIH
{
[Token(Token = "0x600EA96")]
[Address(RVA = "0x417720", Offset = "0x416720", VA = "0x180417720")]
get;
[Token(Token = "0x600EA97")]
[Address(RVA = "0x417A20", Offset = "0x416A20", VA = "0x180417A20")]
private set;
}
// Token: 0x1700256D RID: 9581
// (get) Token: 0x0600EA98 RID: 60056 RVA: 0x0035E724 File Offset: 0x0035C924
// (set) Token: 0x0600EA99 RID: 60057 RVA: 0x0035E738 File Offset: 0x0035C938
[Token(Token = "0x1700256D")]
public Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> GLGIFBBIJMO
{
[Token(Token = "0x600EA98")]
[Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0")]
get;
[Token(Token = "0x600EA99")]
[Address(RVA = "0x417AC0", Offset = "0x416AC0", VA = "0x180417AC0")]
private set;
}
// Token: 0x1700256E RID: 9582
// (get) Token: 0x0600EA9A RID: 60058 RVA: 0x0035E74C File Offset: 0x0035C94C
// (set) Token: 0x0600EA9B RID: 60059 RVA: 0x0035E760 File Offset: 0x0035C960
[Token(Token = "0x1700256E")]
private Dictionary<int, List<OOCCCGPICOG>> IKCILKBNLDL
{
[Token(Token = "0x600EA9A")]
[Address(RVA = "0x493640", Offset = "0x492640", VA = "0x180493640")]
get;
[Token(Token = "0x600EA9B")]
[Address(RVA = "0x476170", Offset = "0x475170", VA = "0x180476170")]
set;
}
// Token: 0x0600EA9C RID: 60060 RVA: 0x0035E774 File Offset: 0x0035C974
[Token(Token = "0x600EA9C")]
[Address(RVA = "0x1D89670", Offset = "0x1D88670", VA = "0x181D89670", Slot = "13")]
protected override void Awake()
{
base.Awake();
List<OOCCCGPICOG> list = new List();
this.<KBFCNIPECEB>k__BackingField = list;
Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> dictionary = new Dictionary();
this.<EJMJIFKMMDN>k__BackingField = dictionary;
Dictionary<int, List<OOCCCGPICOG>> dictionary2 = new Dictionary();
this.<MPOGFALEMEO>k__BackingField = dictionary2;
MFBGLIHGCGO<OOCCCGPICOG> kpcjmbnihhl = FOEHJBDMMBH.KPCJMBNIHHL;
Action<OOCCCGPICOG> action = new Action(this.LJNJNJPEHJI);
FOEHJBDMMBH.KPCJMBNIHHL = MFBGLIHGCGO.BPJDFPACLMK(kpcjmbnihhl, action);
MFBGLIHGCGO<long> gflphdlaeop = FOEHJBDMMBH.GFLPHDLAEOP;
Action<long> action2 = new Action(this.BKKNBEAIHFN);
FOEHJBDMMBH.GFLPHDLAEOP = MFBGLIHGCGO.BPJDFPACLMK(gflphdlaeop, action2);
OKNNKFGFODL afkmkiapopl = FOEHJBDMMBH.AFKMKIAPOPL;
Action action3 = new Action(this.AFKMKIAPOPL);
FOEHJBDMMBH.AFKMKIAPOPL = OKNNKFGFODL.BPJDFPACLMK(afkmkiapopl, action3);
ConsumableCollectionRuntimeConfig consumableCollectionRuntimeConfig = this.consumableCollection;
HairDyeConsumableInfo[] hairDyeConsumables = consumableCollectionRuntimeConfig.HairDyeConsumables;
IEnumerable<ConsumableInfo> enumerable = Enumerable.Concat<ConsumableInfo>(consumableCollectionRuntimeConfig.GenericConsumables, hairDyeConsumables);
CouponConsumableInfo[] couponConsumables = consumableCollectionRuntimeConfig.CouponConsumables;
IEnumerable<ConsumableInfo> enumerable2 = Enumerable.Concat<ConsumableInfo>(enumerable, couponConsumables);
HeadPotionConsumableInfo[] headPotionConsumables = consumableCollectionRuntimeConfig.HeadPotionConsumables;
ConsumableInfo[] array = Enumerable.ToArray<ConsumableInfo>(Enumerable.Concat<ConsumableInfo>(enumerable2, headPotionConsumables));
Func<ConsumableInfo, string> <>9__28_ = ConsumableManager.<>c.<>9__28_0;
if (<>9__28_ == 0)
{
ConsumableManager.<>c.<>9__28_0 = (ConsumableInfo i) => i.ConsumableItemDesc;
}
Dictionary<ConsumableInfo, string> dictionary3 = Enumerable.ToDictionary<ConsumableInfo, string>(array, <>9__28_);
this.LPPDCFEJBGA = dictionary3;
SceneManager.sceneUnloaded += new UnityAction(this.LMOACMLMLAB);
}
// Token: 0x0600EA9D RID: 60061 RVA: 0x0035E8B0 File Offset: 0x0035CAB0
[Token(Token = "0x600EA9D")]
[Address(RVA = "0x1D8BDA0", Offset = "0x1D8ADA0", VA = "0x181D8BDA0", Slot = "14")]
protected override void OnDestroy()
{
MFBGLIHGCGO<OOCCCGPICOG> kpcjmbnihhl = FOEHJBDMMBH.KPCJMBNIHHL;
Action<OOCCCGPICOG> action = new Action(this.LJNJNJPEHJI);
FOEHJBDMMBH.KPCJMBNIHHL = MFBGLIHGCGO.GMNMHGMFGOL(kpcjmbnihhl, action);
MFBGLIHGCGO<long> gflphdlaeop = FOEHJBDMMBH.GFLPHDLAEOP;
Action<long> action2 = new Action(this.BKKNBEAIHFN);
FOEHJBDMMBH.GFLPHDLAEOP = MFBGLIHGCGO.GMNMHGMFGOL(gflphdlaeop, action2);
OKNNKFGFODL afkmkiapopl = FOEHJBDMMBH.AFKMKIAPOPL;
Action action3 = new Action(this.AFKMKIAPOPL);
FOEHJBDMMBH.AFKMKIAPOPL = OKNNKFGFODL.GMNMHGMFGOL(afkmkiapopl, action3);
SceneManager.sceneUnloaded -= new UnityAction(this.LMOACMLMLAB);
base.OnDestroy();
}
// Token: 0x0600EA9E RID: 60062 RVA: 0x0035E938 File Offset: 0x0035CB38
[Token(Token = "0x600EA9E")]
[Address(RVA = "0x1D8C580", Offset = "0x1D8B580", VA = "0x181D8C580")]
private IEnumerator Start()
{
/*
An exception occurred when decompiling this method (0600EA9E)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Consumable.ConsumableManager::Start()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stfld:int32(IENDGKFKBBL::<>1__state, ldloc:IENDGKFKBBL(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0)))
stfld:ConsumableManager(IENDGKFKBBL::<>4__this, ldloc:IENDGKFKBBL(var_0), ldloc:ConsumableManager(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: 0x0600EA9F RID: 60063 RVA: 0x0035E954 File Offset: 0x0035CB54
[Token(Token = "0x600EA9F")]
[Address(RVA = "0x1D8BD50", Offset = "0x1D8AD50", VA = "0x181D8BD50")]
private void LMOACMLMLAB(Scene LHECBPFGEMH)
{
this.NJMOJCFCNJI.Clear();
}
// Token: 0x0600EAA0 RID: 60064 RVA: 0x0035E974 File Offset: 0x0035CB74
[Token(Token = "0x600EAA0")]
[Address(RVA = "0x1D8BF70", Offset = "0x1D8AF70", VA = "0x181D8BF70")]
private void PEOHHDHGDMB()
{
ConsumableCollectionRuntimeConfig consumableCollectionRuntimeConfig = this.consumableCollection;
HairDyeConsumableInfo[] hairDyeConsumables = consumableCollectionRuntimeConfig.HairDyeConsumables;
IEnumerable<ConsumableInfo> enumerable = Enumerable.Concat<ConsumableInfo>(consumableCollectionRuntimeConfig.GenericConsumables, hairDyeConsumables);
CouponConsumableInfo[] couponConsumables = consumableCollectionRuntimeConfig.CouponConsumables;
IEnumerable<ConsumableInfo> enumerable2 = Enumerable.Concat<ConsumableInfo>(enumerable, couponConsumables);
HeadPotionConsumableInfo[] headPotionConsumables = consumableCollectionRuntimeConfig.HeadPotionConsumables;
ConsumableInfo[] array = Enumerable.ToArray<ConsumableInfo>(Enumerable.Concat<ConsumableInfo>(enumerable2, headPotionConsumables));
Func<ConsumableInfo, string> <>9__28_ = ConsumableManager.<>c.<>9__28_0;
if (<>9__28_ == 0)
{
ConsumableManager.<>c.<>9__28_0 = (ConsumableInfo i) => i.ConsumableItemDesc;
}
Dictionary<ConsumableInfo, string> dictionary = Enumerable.ToDictionary<ConsumableInfo, string>(array, <>9__28_);
this.LPPDCFEJBGA = dictionary;
}
// Token: 0x0600EAA1 RID: 60065 RVA: 0x0035EA00 File Offset: 0x0035CC00
[Token(Token = "0x600EAA1")]
[Address(RVA = "0x1D89FE0", Offset = "0x1D88FE0", VA = "0x181D89FE0")]
public void DeactivateConsumableOfCategory(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK, bool CPNHCODHDAD)
{
int num;
int num2;
int num3;
do
{
num = 0;
Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> dictionary = this.<EJMJIFKMMDN>k__BackingField;
bool flag;
if (!flag)
{
return;
}
if (flag && num < (flag ? 1 : 0))
{
num += num;
if (num != (flag ? 1 : 0))
{
num++;
}
}
if (flag)
{
num2 = 0;
}
num3 = 0;
}
while (num != 0);
if (num2.LENBPGEABJK().LimitType <= ConsumableManager.FFCJLEMFFAJ.Time)
{
this.JAHAJMKIEFD(num3);
}
BPHGKAEDBPE.CBEOHBCIPEA cbeohbcipea;
if (ConsumableManager.<>c.<>9__29_0 == 0)
{
cbeohbcipea = delegate(string error)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
};
ConsumableManager.<>c.<>9__29_0 = cbeohbcipea;
}
int num4 = 0;
IEnumerator enumerator = FOEHJBDMMBH.PKHAMBFCEJI(num, num4 != 0, cbeohbcipea);
Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> dictionary2 = this.<EJMJIFKMMDN>k__BackingField;
ConsumableManager.KIDKMAOBOIG kidkmaoboig = num.GMMAAAGFAKO();
}
// Token: 0x0600EAA2 RID: 60066 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600EAA2")]
[Address(RVA = "0x1D89290", Offset = "0x1D88290", VA = "0x181D89290")]
public void ActivateConsumable(OOCCCGPICOG KGNADIFEIML, bool CPNHCODHDAD)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600EAA3 RID: 60067 RVA: 0x0035EAB0 File Offset: 0x0035CCB0
[Token(Token = "0x600EAA3")]
[Address(RVA = "0x1D8B5C0", Offset = "0x1D8A5C0", VA = "0x181D8B5C0")]
private IEnumerator IKAOJDNCCJO()
{
/*
An exception occurred when decompiling this method (0600EAA3)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Consumable.ConsumableManager::IKAOJDNCCJO()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stfld:int32(BBNLOOEHPKF::<>1__state, ldloc:BBNLOOEHPKF(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0)))
stfld:ConsumableManager(BBNLOOEHPKF::<>4__this, ldloc:BBNLOOEHPKF(var_0), ldloc:ConsumableManager(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: 0x0600EAA4 RID: 60068 RVA: 0x0035EACC File Offset: 0x0035CCCC
[Token(Token = "0x600EAA4")]
[Address(RVA = "0x1D8A320", Offset = "0x1D89320", VA = "0x181D8A320")]
public DABKFAIHBBP DownloadPurchasedConsumables(BPHGKAEDBPE.CBEOHBCIPEA AFLPGGJMPOE)
{
return FOEHJBDMMBH.BAKHDHHALHF(delegate(string error, List<OOCCCGPICOG> selections)
{
if (selections != 0)
{
this.<KBFCNIPECEB>k__BackingField.AddRange(selections);
List<OOCCCGPICOG> list = this.<KBFCNIPECEB>k__BackingField;
Comparison<OOCCCGPICOG> <>9__32_ = ConsumableManager.<>c.<>9__32_1;
if (<>9__32_ == 0)
{
ConsumableManager.<>c.<>9__32_1 = delegate(OOCCCGPICOG x, OOCCCGPICOG y)
{
DateTime <IPLPEOMCNPJ>k__BackingField = x.<IPLPEOMCNPJ>k__BackingField;
DateTime <IPLPEOMCNPJ>k__BackingField2 = y.<IPLPEOMCNPJ>k__BackingField;
return DateTime.Compare(<IPLPEOMCNPJ>k__BackingField, <IPLPEOMCNPJ>k__BackingField2);
};
}
list.Sort(<>9__32_);
}
BPHGKAEDBPE.HADGLCCBNHM(AFLPGGJMPOE, error);
});
}
// Token: 0x0600EAA5 RID: 60069 RVA: 0x0035EB04 File Offset: 0x0035CD04
[Token(Token = "0x600EAA5")]
[Address(RVA = "0x1D8C7C0", Offset = "0x1D8B7C0", VA = "0x181D8C7C0")]
public IEnumerator UseConsumable(OOCCCGPICOG BAJGNABECMN, int FKKAPHAMPMG, BPHGKAEDBPE.CBEOHBCIPEA AFLPGGJMPOE)
{
return FOEHJBDMMBH.LCELAOEOIJO(BAJGNABECMN, FKKAPHAMPMG, AFLPGGJMPOE);
}
// Token: 0x0600EAA6 RID: 60070 RVA: 0x0035EB1C File Offset: 0x0035CD1C
[Token(Token = "0x600EAA6")]
[Address(RVA = "0x1D8C5E0", Offset = "0x1D8B5E0", VA = "0x181D8C5E0")]
public void TryApplyConsumableEffect(ConsumableEffect EPEIGGODCIN)
{
int num;
do
{
num = 0;
List<ConsumableManager.KIDKMAOBOIG> <CEKFDODGELA>k__BackingField = EPEIGGODCIN.<CEKFDODGELA>k__BackingField;
bool flag;
if (flag)
{
Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> dictionary = this.<EJMJIFKMMDN>k__BackingField;
int num2 = 0;
bool flag2;
while (!flag2)
{
}
int num3 = 0;
bool flag3 = EPEIGGODCIN.LocalActivateConsumable(num2, num3 != 0);
}
}
while (num != 0);
}
// Token: 0x0600EAA7 RID: 60071 RVA: 0x0035EB68 File Offset: 0x0035CD68
[Token(Token = "0x600EAA7")]
[Address(RVA = "0x1D8C0F0", Offset = "0x1D8B0F0", VA = "0x181D8C0F0")]
public Tool SpawnConsumableForLocalPlayer(string BFMHPKIEKIF, long? NJCHOELCFME, Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, float FNJKKNKLDPB, PlayerSpawnedEquipment.IILDIBHEIDO OEFOIFHDBEN)
{
if (!PlayerRoomRoleManager.IPCFEPKLJNG)
{
NotificationManager instance = SingletonMonoBehaviour.ONCPNMDGGKG;
}
ConsumableInfo consumableInfo = this.TryGetConsumableInfo(BFMHPKIEKIF);
if (consumableInfo != 0)
{
Dictionary<string, object> dictionary = new Dictionary();
int inpoaaaoahi = KKPBCOOONNK.MDMMDPEKICF.INPOAAAOAHI;
throw new NullReferenceException();
}
Debug.LogError("Spawn Consumable For Local Player: Unable to find consumable");
throw new NullReferenceException();
}
// Token: 0x0600EAA8 RID: 60072 RVA: 0x0035EC40 File Offset: 0x0035CE40
[Token(Token = "0x600EAA8")]
[Address(RVA = "0x1D8C480", Offset = "0x1D8B480", VA = "0x181D8C480")]
public GameObject SpawnConsumableImposter(string BFMHPKIEKIF)
{
ConsumableItem orLoadConsumablePrefab = this.GetOrLoadConsumablePrefab(BFMHPKIEKIF);
int num = 0;
if (!(orLoadConsumablePrefab != num))
{
}
GameObject gameObject = orLoadConsumablePrefab.gameObject;
int num2 = 0;
GameObject gameObject2 = JODFIHBJHJM.EIJJOKINEIL(gameObject, num2, true).gameObject;
gameObject2.layer = 5;
return gameObject2;
}
// Token: 0x0600EAA9 RID: 60073 RVA: 0x0035EC90 File Offset: 0x0035CE90
[Token(Token = "0x600EAA9")]
[Address(RVA = "0x1D8B880", Offset = "0x1D8A880", VA = "0x181D8B880")]
private void JAHAJMKIEFD(OOCCCGPICOG BAJGNABECMN)
{
Func<ConsumableManager.DKKBNGODEOM, bool> func = delegate(ConsumableManager.DKKBNGODEOM c)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
};
ConsumableManager.DKKBNGODEOM dkkbngodeom;
if (dkkbngodeom != 0)
{
if (ConsumableManager.<>c.<>9__40_1 == 0)
{
ConsumableManager.<>c.<>9__40_1 = delegate(string e)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
};
}
LinkedList<ConsumableManager.DKKBNGODEOM> fllfjeooncc = this.FLLFJEOONCC;
}
}
// Token: 0x0600EAAA RID: 60074 RVA: 0x0035ECE8 File Offset: 0x0035CEE8
[Token(Token = "0x600EAAA")]
[Address(RVA = "0x1D8BB20", Offset = "0x1D8AB20", VA = "0x181D8BB20")]
private IEnumerator KFCOBPNHEAK()
{
/*
An exception occurred when decompiling this method (0600EAAA)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Consumable.ConsumableManager::KFCOBPNHEAK()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
call:void(BOPFCJIBDON::System.IDisposable.Dispose, ldloc:BOPFCJIBDON(var_0))
stfld:int32(BOPFCJIBDON::<>1__state, ldloc:BOPFCJIBDON(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0)))
stfld:ConsumableManager(BOPFCJIBDON::<>4__this, ldloc:BOPFCJIBDON(var_0), ldloc:ConsumableManager(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: 0x0600EAAB RID: 60075 RVA: 0x0035ED0C File Offset: 0x0035CF0C
[Token(Token = "0x600EAAB")]
[Address(RVA = "0x1D890E0", Offset = "0x1D880E0", VA = "0x181D890E0")]
private void AJGKEJPEJMI(OOCCCGPICOG BAJGNABECMN)
{
LinkedListNode head;
float num2;
do
{
int num = 0;
if (OOCCCGPICOG.JGIMJGNAJHP(BAJGNABECMN, num))
{
return;
}
ConsumableInfo consumableInfo = BAJGNABECMN.LENBPGEABJK();
if (consumableInfo == 0 || consumableInfo.LimitType > ConsumableManager.FFCJLEMFFAJ.Time || !this.<EJMJIFKMMDN>k__BackingField.ContainsValue(BAJGNABECMN))
{
return;
}
float time = Time.time;
head = this.FLLFJEOONCC.head;
}
while (head != 0 && num2 > num2 && head.Next != 0);
LinkedList<ConsumableManager.DKKBNGODEOM> fllfjeooncc = this.FLLFJEOONCC;
if (head != 0)
{
throw new NullReferenceException();
}
}
// Token: 0x0600EAAC RID: 60076 RVA: 0x0035ED88 File Offset: 0x0035CF88
[Token(Token = "0x600EAAC")]
[Address(RVA = "0x1D8A860", Offset = "0x1D89860", VA = "0x181D8A860")]
public PMGCJEPKFOF<List<OOCCCGPICOG>> GetAllTransferableConsumableTypesByCreatorId(int OEMFFOMNDPB)
{
Dictionary<int, List<OOCCCGPICOG>> dictionary = this.<MPOGFALEMEO>k__BackingField;
bool flag;
if (!flag)
{
PMGCJEPKFOF<List<OOCCCGPICOG>> pmgcjepkfof = FOEHJBDMMBH.AFMKIHFMMBI(OEMFFOMNDPB);
Func<List<OOCCCGPICOG>, List<OOCCCGPICOG>> func = delegate(List<OOCCCGPICOG> consumables)
{
Dictionary<int, List<OOCCCGPICOG>> dictionary2 = this.<MPOGFALEMEO>k__BackingField;
throw new NullReferenceException();
};
}
if (ConsumableManager.<>c.<>9__43_0 == 0)
{
ConsumableManager.<>c.<>9__43_0 = (OOCCCGPICOG c) => c.<CNJALCEBPMC>k__BackingField;
}
Func<IGrouping<string, OOCCCGPICOG>, OOCCCGPICOG> func2;
if (ConsumableManager.<>c.<>9__43_1 == 0)
{
func2 = (IGrouping<string, OOCCCGPICOG> c) => Enumerable.Last<OOCCCGPICOG>(c);
ConsumableManager.<>c.<>9__43_1 = func2;
}
IEnumerable enumerable;
List<OOCCCGPICOG> list = Enumerable.ToList<OOCCCGPICOG>(Enumerable.Select<IGrouping<string, OOCCCGPICOG>, OOCCCGPICOG>(enumerable, func2));
PMGCJEPKFOF<OOCCCGPICOG> pmgcjepkfof2;
return pmgcjepkfof2;
}
// Token: 0x0600EAAD RID: 60077 RVA: 0x0035EE28 File Offset: 0x0035D028
[Token(Token = "0x600EAAD")]
[Address(RVA = "0x1D8B410", Offset = "0x1D8A410", VA = "0x181D8B410")]
public PMGCJEPKFOF<List<OOCCCGPICOG>> GetTransferableConsumablesOfTypeByCreatorId(string BFMHPKIEKIF, int OEMFFOMNDPB)
{
Dictionary<int, List<OOCCCGPICOG>> dictionary = this.<MPOGFALEMEO>k__BackingField;
bool flag;
if (!flag)
{
PMGCJEPKFOF<List<OOCCCGPICOG>> pmgcjepkfof = FOEHJBDMMBH.AFMKIHFMMBI(OEMFFOMNDPB);
Func<List<OOCCCGPICOG>, List<OOCCCGPICOG>> func = delegate(List<OOCCCGPICOG> consumables)
{
Dictionary<int, List<OOCCCGPICOG>> dictionary2 = this.<MPOGFALEMEO>k__BackingField;
throw new NullReferenceException();
};
}
Func<OOCCCGPICOG, bool> func2 = delegate(OOCCCGPICOG c)
{
string consumableType = BFMHPKIEKIF;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, consumableType);
};
IEnumerable<OOCCCGPICOG> enumerable;
List<OOCCCGPICOG> list = Enumerable.ToList<OOCCCGPICOG>(enumerable);
throw new NullReferenceException();
}
// Token: 0x0600EAAE RID: 60078 RVA: 0x0035EE94 File Offset: 0x0035D094
[Token(Token = "0x600EAAE")]
[Address(RVA = "0x1D8ACC0", Offset = "0x1D89CC0", VA = "0x181D8ACC0")]
public OOCCCGPICOG GetLatestNonActiveNonTransferableConsumableByType(string BFMHPKIEKIF)
{
List<OOCCCGPICOG> list = this.<KBFCNIPECEB>k__BackingField;
Func<OOCCCGPICOG, bool> func = delegate(OOCCCGPICOG pc)
{
string consumableType = BFMHPKIEKIF;
bool flag = string.Equals(pc.<CNJALCEBPMC>k__BackingField, consumableType);
if (!flag)
{
return flag;
}
return !pc.<OLCLLOHLPEH>k__BackingField;
};
IEnumerable<OOCCCGPICOG> enumerable = Enumerable.Where<OOCCCGPICOG>(list, func);
Func<OOCCCGPICOG, DateTime> <>9__45_ = ConsumableManager.<>c.<>9__45_1;
if (<>9__45_ == 0)
{
ConsumableManager.<>c.<>9__45_1 = (OOCCCGPICOG pc) => pc.<IPLPEOMCNPJ>k__BackingField;
}
return Enumerable.FirstOrDefault<OOCCCGPICOG>(Enumerable.OrderByDescending<OOCCCGPICOG, DateTime>(enumerable, <>9__45_));
}
// Token: 0x0600EAAF RID: 60079 RVA: 0x0035EF00 File Offset: 0x0035D100
[Token(Token = "0x600EAAF")]
[Address(RVA = "0x1D8B1C0", Offset = "0x1D8A1C0", VA = "0x181D8B1C0")]
public int GetRemainingCount(OOCCCGPICOG BAJGNABECMN)
{
OOCCCGPICOG consumable = BAJGNABECMN;
ConsumableInfo consumableInfo = BAJGNABECMN.LENBPGEABJK();
int num = 0;
if (consumableInfo != 0)
{
ConsumableManager.FFCJLEMFFAJ limitType = consumableInfo.LimitType;
}
if (num != 0 && 1 != 0)
{
if (1 == 0)
{
int num2;
return num2;
}
if (1 == 0 || 1UL == (ulong)1L)
{
OOCCCGPICOG consumable2 = consumable;
int num2 = consumable2.<MAAELOFEKIJ>k__BackingField;
if (consumable2.<OLCLLOHLPEH>k__BackingField)
{
LinkedList<ConsumableManager.DKKBNGODEOM> fllfjeooncc = this.FLLFJEOONCC;
Func<ConsumableManager.DKKBNGODEOM, bool> func = delegate(ConsumableManager.DKKBNGODEOM ct)
{
long <JPAOOKPLEDB>k__BackingField = consumable.<JPAOOKPLEDB>k__BackingField;
return "{il2cpp field on {'constant4' (constant value of type Cpp2IL.Core.Analysis.Il2CppClassIdentifier)}, offset 0x10}" == <JPAOOKPLEDB>k__BackingField;
};
IEnumerable<ConsumableManager.DKKBNGODEOM> enumerable = Enumerable.Where<ConsumableManager.DKKBNGODEOM>(fllfjeooncc, func);
Func<ConsumableManager.DKKBNGODEOM, float> func2;
if (ConsumableManager.<>c.<>9__46_1 == 0)
{
func2 = (ConsumableManager.DKKBNGODEOM ct) => ct.HPIOFBILNMC;
ConsumableManager.<>c.<>9__46_1 = func2;
}
float num3 = Enumerable.FirstOrDefault<float>(Enumerable.Select<ConsumableManager.DKKBNGODEOM, float>(enumerable, func2));
int num4 = 0;
if (num3 > (float)num4)
{
int num5 = 0;
float time = Time.time;
num2 += num5;
}
}
return num2;
}
}
return 0;
}
// Token: 0x0600EAB0 RID: 60080 RVA: 0x0035EFE4 File Offset: 0x0035D1E4
[Token(Token = "0x600EAB0")]
[Address(RVA = "0x1D8AB20", Offset = "0x1D89B20", VA = "0x181D8AB20")]
public OOCCCGPICOG GetConsumableById(long NJCHOELCFME)
{
List<OOCCCGPICOG> list = this.<KBFCNIPECEB>k__BackingField;
Func<OOCCCGPICOG, bool> func = delegate(OOCCCGPICOG pc)
{
long consumableId = NJCHOELCFME;
return pc.<JPAOOKPLEDB>k__BackingField == consumableId;
};
IEnumerable<OOCCCGPICOG> enumerable = Enumerable.Where<OOCCCGPICOG>(list, func);
Func<OOCCCGPICOG, DateTime> <>9__47_ = ConsumableManager.<>c.<>9__47_1;
if (<>9__47_ == 0)
{
ConsumableManager.<>c.<>9__47_1 = (OOCCCGPICOG pc) => pc.<IPLPEOMCNPJ>k__BackingField;
}
return Enumerable.FirstOrDefault<OOCCCGPICOG>(Enumerable.OrderByDescending<OOCCCGPICOG, DateTime>(enumerable, <>9__47_));
}
// Token: 0x0600EAB1 RID: 60081 RVA: 0x0035F050 File Offset: 0x0035D250
[Token(Token = "0x600EAB1")]
[Address(RVA = "0x1D8B680", Offset = "0x1D8A680", VA = "0x181D8B680")]
public bool IsConsumableOfTypeActive(string GEDCEIDOKJL)
{
Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> dictionary = this.<EJMJIFKMMDN>k__BackingField;
if (this.TryGetConsumableInfo(GEDCEIDOKJL) != 0)
{
}
bool flag;
if (!flag)
{
return flag;
}
throw new NullReferenceException();
}
// Token: 0x0600EAB2 RID: 60082 RVA: 0x0035F084 File Offset: 0x0035D284
[Token(Token = "0x600EAB2")]
[Address(RVA = "0x1D8AE30", Offset = "0x1D89E30", VA = "0x181D8AE30")]
public List<OOCCCGPICOG> GetLatestPurchasedNonTransferableConsumablesInCategory(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK)
{
List<OOCCCGPICOG> list = this.<KBFCNIPECEB>k__BackingField;
Func<OOCCCGPICOG, bool> func = (OOCCCGPICOG c) => c.GMMAAAGFAKO() == DJFBMCIDJNK;
IEnumerable<OOCCCGPICOG> enumerable = Enumerable.Where<OOCCCGPICOG>(list, func);
Func<OOCCCGPICOG, string> <>9__49_ = ConsumableManager.<>c.<>9__49_1;
if (<>9__49_ == 0)
{
ConsumableManager.<>c.<>9__49_1 = (OOCCCGPICOG c) => c.<CNJALCEBPMC>k__BackingField;
}
IEnumerable enumerable2 = Enumerable.GroupBy<OOCCCGPICOG, string>(enumerable, <>9__49_);
Func<IGrouping<string, OOCCCGPICOG>, OOCCCGPICOG> func2;
if (ConsumableManager.<>c.<>9__49_2 == 0)
{
func2 = (IGrouping<string, OOCCCGPICOG> c) => Enumerable.Last<OOCCCGPICOG>(c);
ConsumableManager.<>c.<>9__49_2 = func2;
}
return Enumerable.ToList<OOCCCGPICOG>(Enumerable.Select<IGrouping<string, OOCCCGPICOG>, OOCCCGPICOG>(enumerable2, func2));
}
// Token: 0x0600EAB3 RID: 60083 RVA: 0x0035F120 File Offset: 0x0035D320
[Token(Token = "0x600EAB3")]
[Address(RVA = "0x1D8A7A0", Offset = "0x1D897A0", VA = "0x181D8A7A0")]
public List<OOCCCGPICOG> GetAllPurchasedNonTransferableConsumablesOfType(string GEDCEIDOKJL)
{
List<OOCCCGPICOG> list = this.<KBFCNIPECEB>k__BackingField;
Func<OOCCCGPICOG, bool> func = delegate(OOCCCGPICOG c)
{
string type = GEDCEIDOKJL;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, type);
};
return Enumerable.ToList<OOCCCGPICOG>(Enumerable.Where<OOCCCGPICOG>(list, func));
}
// Token: 0x0600EAB4 RID: 60084 RVA: 0x0035F160 File Offset: 0x0035D360
[Token(Token = "0x600EAB4")]
[Address(RVA = "0x1D8A4A0", Offset = "0x1D894A0", VA = "0x181D8A4A0")]
public OOCCCGPICOG GetActiveConsumableInCategory(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK)
{
Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> dictionary = this.<EJMJIFKMMDN>k__BackingField;
throw new NullReferenceException();
}
// Token: 0x0600EAB5 RID: 60085 RVA: 0x0035F17C File Offset: 0x0035D37C
[Token(Token = "0x600EAB5")]
[Address(RVA = "0x1D8B750", Offset = "0x1D8A750", VA = "0x181D8B750")]
public bool IsHairDyeConsumableActive(string CBCHEMNOLBO)
{
Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> dictionary = this.<EJMJIFKMMDN>k__BackingField;
int num = 0;
if (dictionary.TryGetValue(6, num))
{
ConsumableInfo consumableInfo = num.LENBPGEABJK();
if (consumableInfo != 0 && consumableInfo != 0 && consumableInfo != 0)
{
return true;
}
}
throw new NullReferenceException();
}
// Token: 0x0600EAB6 RID: 60086 RVA: 0x0035F1C0 File Offset: 0x0035D3C0
[Token(Token = "0x600EAB6")]
[Address(RVA = "0x1D8AC90", Offset = "0x1D89C90", VA = "0x181D8AC90")]
public ConsumableManager.KIDKMAOBOIG GetConsumableCategory(string AKAMDLHKMGM)
{
ConsumableInfo consumableInfo = this.TryGetConsumableInfo(AKAMDLHKMGM);
if (consumableInfo != 0)
{
return consumableInfo.Category;
}
return ConsumableManager.KIDKMAOBOIG.Invalid;
}
// Token: 0x0600EAB7 RID: 60087 RVA: 0x0035F1E4 File Offset: 0x0035D3E4
[Token(Token = "0x600EAB7")]
[Address(RVA = "0x1D8C740", Offset = "0x1D8B740", VA = "0x181D8C740")]
public ConsumableInfo TryGetConsumableInfo(string AKAMDLHKMGM)
{
Dictionary<string, ConsumableInfo> lppdcfejbga = this.LPPDCFEJBGA;
int num = 0;
bool flag = lppdcfejbga.TryGetValue(AKAMDLHKMGM, num);
throw new NullReferenceException();
}
// Token: 0x0600EAB8 RID: 60088 RVA: 0x0035F208 File Offset: 0x0035D408
[Token(Token = "0x600EAB8")]
[Address(RVA = "0x1D8B050", Offset = "0x1D8A050", VA = "0x181D8B050")]
public ConsumableItem GetOrLoadConsumablePrefab(string GEDCEIDOKJL)
{
int num = 0;
if (num == 0 && !this.NJMOJCFCNJI.TryGetValue(GEDCEIDOKJL, num) && this.LPPDCFEJBGA.TryGetValue(GEDCEIDOKJL, num))
{
ConsumableItem consumableItem = Resources.Load<ConsumableItem>(num);
int num2 = 0;
if (consumableItem != num2)
{
Dictionary<string, ConsumableItem> njmojcfcnji = this.NJMOJCFCNJI;
throw new NullReferenceException();
}
}
Debug.LogError("Tried to GetConsumablePrefab for empty type!");
throw new NullReferenceException();
}
// Token: 0x0600EAB9 RID: 60089 RVA: 0x0035F270 File Offset: 0x0035D470
[Token(Token = "0x600EAB9")]
[Address(RVA = "0x1D8B620", Offset = "0x1D8A620", VA = "0x181D8B620")]
public void InvalidateTransferableConsumablesByCreatorId(int OEMFFOMNDPB)
{
bool flag = this.<MPOGFALEMEO>k__BackingField.Remove(OEMFFOMNDPB);
}
// Token: 0x0600EABA RID: 60090 RVA: 0x0035F290 File Offset: 0x0035D490
[Token(Token = "0x600EABA")]
[Address(RVA = "0x1D8A510", Offset = "0x1D89510", VA = "0x181D8A510")]
public void GetActiveCouponConsumableByType(DGOHCPBKOHD NIGCECGDCFD, ACDKILABNNC DLNFAILEHOA, out CouponConsumableInfo OICOOGLDGMH, out OOCCCGPICOG CHFOIAPLJJC)
{
int num = 0;
bool flag = this.<EJMJIFKMMDN>k__BackingField.TryGetValue((uint)7, num);
int num2 = 0;
if (flag)
{
if (this.TryGetConsumableInfo(num2) == 0)
{
throw new NullReferenceException();
}
int num3 = 0;
if ((num3 != 0 && num3 != (int)NIGCECGDCFD) || num3 == 0 || num3 != (int)DLNFAILEHOA)
{
}
}
}
// Token: 0x0600EABB RID: 60091 RVA: 0x0035F2E8 File Offset: 0x0035D4E8
[Token(Token = "0x600EABB")]
[Address(RVA = "0x1D8A660", Offset = "0x1D89660", VA = "0x181D8A660")]
public void GetActiveWatchStoreTokenCouponConsumable(out CouponConsumableInfo OICOOGLDGMH, out OOCCCGPICOG CHFOIAPLJJC)
{
int num = 0;
if (this.<EJMJIFKMMDN>k__BackingField.TryGetValue((uint)7, num))
{
ConsumableInfo consumableInfo;
if (consumableInfo == 0)
{
throw new NullReferenceException();
}
int num2 = 0;
if (num2 == 0 || num2 == 3)
{
}
}
}
// Token: 0x0600EABC RID: 60092 RVA: 0x0035F324 File Offset: 0x0035D524
[Token(Token = "0x600EABC")]
[Address(RVA = "0x1D8BA60", Offset = "0x1D8AA60", VA = "0x181D8BA60")]
private void JJEGNEPGBNA(OOCCCGPICOG BAJGNABECMN, bool CNEIBILGFCO)
{
Action<OOCCCGPICOG, bool> hncngjflmel = this.HNCNGJFLMEL;
if (hncngjflmel != 0)
{
hncngjflmel(BAJGNABECMN, CNEIBILGFCO);
}
Debug.LogError("Error raising OnActiveConsumableChanged: " + BAJGNABECMN);
}
// Token: 0x0600EABD RID: 60093 RVA: 0x0035F354 File Offset: 0x0035D554
[Token(Token = "0x600EABD")]
[Address(RVA = "0x1D8A3E0", Offset = "0x1D893E0", VA = "0x181D8A3E0")]
private void FGAIIFEMKKE(OOCCCGPICOG BAJGNABECMN, bool AKJFIEJBCJA)
{
Action<OOCCCGPICOG, bool> bnfpeinedcc = this.BNFPEINEDCC;
if (bnfpeinedcc != 0)
{
bnfpeinedcc(BAJGNABECMN, AKJFIEJBCJA);
}
Debug.LogError("Error raising OnPurchasedConsumableChanged: " + BAJGNABECMN);
}
// Token: 0x0600EABE RID: 60094 RVA: 0x0035F384 File Offset: 0x0035D584
[Token(Token = "0x600EABE")]
[Address(RVA = "0x1D89000", Offset = "0x1D88000", VA = "0x181D89000")]
private void AFKMKIAPOPL()
{
int <OIBJLPBDMML>k__BackingField = BPHGKAEDBPE.<OIBJLPBDMML>k__BackingField;
bool flag = this.<MPOGFALEMEO>k__BackingField.Remove(<OIBJLPBDMML>k__BackingField);
}
// Token: 0x0600EABF RID: 60095 RVA: 0x0035F3AC File Offset: 0x0035D5AC
[Token(Token = "0x600EABF")]
[Address(RVA = "0x1D8BB80", Offset = "0x1D8AB80", VA = "0x181D8BB80")]
private void LJNJNJPEHJI(OOCCCGPICOG BAJGNABECMN)
{
if (!BAJGNABECMN.<JJIMAAMFCLN>k__BackingField)
{
this.<KBFCNIPECEB>k__BackingField.Add(BAJGNABECMN);
this.FGAIIFEMKKE(BAJGNABECMN, true);
return;
}
Dictionary<int, List<OOCCCGPICOG>> dictionary = this.<MPOGFALEMEO>k__BackingField;
bool flag;
if (!flag)
{
Dictionary<int, List<OOCCCGPICOG>> dictionary2 = this.<MPOGFALEMEO>k__BackingField;
dictionary2[flag] = new List { BAJGNABECMN };
}
throw new NullReferenceException();
}
// Token: 0x0600EAC0 RID: 60096 RVA: 0x0035F408 File Offset: 0x0035D608
[Token(Token = "0x600EAC0")]
[Address(RVA = "0x1D89A00", Offset = "0x1D88A00", VA = "0x181D89A00")]
private void BKKNBEAIHFN(long NJCHOELCFME)
{
OOCCCGPICOG oocccgpicog2;
for (;;)
{
int num = 0;
List<OOCCCGPICOG> list = this.<KBFCNIPECEB>k__BackingField;
Predicate<OOCCCGPICOG> predicate = delegate(OOCCCGPICOG c)
{
long consumableId = NJCHOELCFME;
return c.<JPAOOKPLEDB>k__BackingField == consumableId;
};
OOCCCGPICOG oocccgpicog = ECNNGIFNNNM.LLFCJKLELNH<OOCCCGPICOG>(list, predicate);
OOCCCGPICOG consumable = oocccgpicog;
if (oocccgpicog == 0)
{
return;
}
if ((consumable.<JJIMAAMFCLN>k__BackingField ? 1 : 0) != num)
{
Dictionary<int, List<OOCCCGPICOG>> dictionary = this.<MPOGFALEMEO>k__BackingField;
bool flag;
if (flag)
{
break;
}
}
Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> dictionary2 = this.<EJMJIFKMMDN>k__BackingField;
OOCCCGPICOG consumable7 = consumable;
if (dictionary2.ContainsValue(consumable7))
{
int num2 = (int)consumable.GMMAAAGFAKO();
ConsumableInfo consumableInfo = consumable.LENBPGEABJK();
if (consumableInfo != 0 && (consumableInfo.AutoActivateNextItem ? 1 : 0) != num)
{
List<OOCCCGPICOG> list2 = this.<KBFCNIPECEB>k__BackingField;
Func<OOCCCGPICOG, bool> func = delegate(OOCCCGPICOG pc)
{
string <CNJALCEBPMC>k__BackingField = pc.<CNJALCEBPMC>k__BackingField;
string <CNJALCEBPMC>k__BackingField2 = consumable.<CNJALCEBPMC>k__BackingField;
return string.Equals(<CNJALCEBPMC>k__BackingField, <CNJALCEBPMC>k__BackingField2);
};
IEnumerable<OOCCCGPICOG> enumerable = Enumerable.Where<OOCCCGPICOG>(list2, func);
Func<OOCCCGPICOG, DateTime> func2;
if (ConsumableManager.<>c.<>9__63_2 == 0)
{
func2 = (OOCCCGPICOG pc) => pc.<IPLPEOMCNPJ>k__BackingField;
ConsumableManager.<>c.<>9__63_2 = func2;
}
oocccgpicog2 = Enumerable.FirstOrDefault<OOCCCGPICOG>(Enumerable.OrderByDescending<OOCCCGPICOG, DateTime>(enumerable, func2));
}
if (oocccgpicog2 != 0)
{
}
if (oocccgpicog2 != 0)
{
}
if (num == 0)
{
OOCCCGPICOG consumable2 = consumable;
BPHGKAEDBPE.CBEOHBCIPEA cbeohbcipea;
if (ConsumableManager.<>c.<>9__63_3 == 0)
{
cbeohbcipea = delegate(string error)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
};
ConsumableManager.<>c.<>9__63_3 = cbeohbcipea;
}
int num3 = 0;
IEnumerator enumerator = FOEHJBDMMBH.PKHAMBFCEJI(consumable2, num3 != 0, cbeohbcipea);
Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> dictionary3 = this.<EJMJIFKMMDN>k__BackingField;
ConsumableManager.KIDKMAOBOIG kidkmaoboig = consumable.GMMAAAGFAKO();
int num4 = 0;
OOCCCGPICOG consumable3 = consumable;
this.JJEGNEPGBNA(consumable3, num4 != 0);
int num5 = 0;
if (OOCCCGPICOG.BDBLGMKABNK(oocccgpicog2, num5))
{
goto Block_10;
}
}
}
}
OOCCCGPICOG consumable4 = kjejoajdkfo.consumable;
int num6 = 0;
OOCCCGPICOG consumable5 = kjejoajdkfo.consumable;
this.FGAIIFEMKKE(consumable5, num6 != 0);
ConsumableInfo consumableInfo2 = kjejoajdkfo.consumable.LENBPGEABJK();
if (consumableInfo2 == 0 || consumableInfo2.FriendlyName == 0)
{
}
ConsumableManager.KIDKMAOBOIG kidkmaoboig2 = kjejoajdkfo.consumable.GMMAAAGFAKO();
OOCCCGPICOG consumable6 = kjejoajdkfo.consumable;
return;
Block_10:
int num7 = 0;
this.ActivateConsumable(oocccgpicog2, num7 != 0);
throw new NullReferenceException();
}
// Token: 0x0600EAC1 RID: 60097 RVA: 0x0035F5EC File Offset: 0x0035D7EC
[Token(Token = "0x600EAC1")]
[Address(RVA = "0x1D8C830", Offset = "0x1D8B830", VA = "0x181D8C830")]
public ConsumableManager()
{
Dictionary<string, ConsumableInfo> dictionary = new Dictionary();
this.LPPDCFEJBGA = dictionary;
Dictionary<string, ConsumableItem> dictionary2 = new Dictionary();
this.NJMOJCFCNJI = dictionary2;
LinkedList<ConsumableManager.DKKBNGODEOM> linkedList = new LinkedList();
this.FLLFJEOONCC = linkedList;
base..ctor();
}
// Token: 0x04009A44 RID: 39492
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009A44")]
[SerializeField]
private ConsumableTool defaultConsumableToolPrefab;
// Token: 0x04009A45 RID: 39493
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009A45")]
[SerializeField]
private ConsumableCollectionRuntimeConfig consumableCollection;
// Token: 0x04009A49 RID: 39497
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009A49")]
private Dictionary<string, ConsumableInfo> LPPDCFEJBGA;
// Token: 0x04009A4A RID: 39498
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4009A4A")]
private Dictionary<string, ConsumableItem> NJMOJCFCNJI;
// Token: 0x04009A4B RID: 39499
[Token(Token = "0x4009A4B")]
private const float OLCOPMKCBDB = 60f;
// Token: 0x04009A4C RID: 39500
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4009A4C")]
private LinkedList<ConsumableManager.DKKBNGODEOM> FLLFJEOONCC;
// Token: 0x02002408 RID: 9224
[Token(Token = "0x2002408")]
public enum FFCJLEMFFAJ
{
// Token: 0x04009A4E RID: 39502
[Token(Token = "0x4009A4E")]
Invalid = -1,
// Token: 0x04009A4F RID: 39503
[Token(Token = "0x4009A4F")]
Usage,
// Token: 0x04009A50 RID: 39504
[Token(Token = "0x4009A50")]
Time,
// Token: 0x04009A51 RID: 39505
[Token(Token = "0x4009A51")]
RealWorldTime
}
// Token: 0x02002409 RID: 9225
[Token(Token = "0x2002409")]
public enum KIDKMAOBOIG
{
// Token: 0x04009A53 RID: 39507
[Token(Token = "0x4009A53")]
Invalid = -1,
// Token: 0x04009A54 RID: 39508
[Token(Token = "0x4009A54")]
CameraFilter,
// Token: 0x04009A55 RID: 39509
[Token(Token = "0x4009A55")]
Potion_Head = 2,
// Token: 0x04009A56 RID: 39510
[Token(Token = "0x4009A56")]
Potion_Hand,
// Token: 0x04009A57 RID: 39511
[Token(Token = "0x4009A57")]
Food,
// Token: 0x04009A58 RID: 39512
[Token(Token = "0x4009A58")]
KO_Customization,
// Token: 0x04009A59 RID: 39513
[Token(Token = "0x4009A59")]
Potion_HairDye,
// Token: 0x04009A5A RID: 39514
[Token(Token = "0x4009A5A")]
Coupon
}
// Token: 0x0200240A RID: 9226
[Token(Token = "0x200240A")]
private struct DKKBNGODEOM
{
// Token: 0x04009A5B RID: 39515
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4009A5B")]
public OOCCCGPICOG BAJGNABECMN;
// Token: 0x04009A5C RID: 39516
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x4009A5C")]
public float HPIOFBILNMC;
}
// Token: 0x0200240E RID: 9230
[Token(Token = "0x200240E")]
[CompilerGenerated]
private sealed class JHIJHOMNCKN
{
// Token: 0x0600EAE3 RID: 60131 RVA: 0x0035FBE8 File Offset: 0x0035DDE8
[Token(Token = "0x600EAE3")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public JHIJHOMNCKN()
{
}
// Token: 0x0600EAE4 RID: 60132 RVA: 0x0035FBFC File Offset: 0x0035DDFC
[Token(Token = "0x600EAE4")]
[Address(RVA = "0x1D90C40", Offset = "0x1D8FC40", VA = "0x181D90C40")]
internal void <DownloadPurchasedConsumables>b__0(string error, List<OOCCCGPICOG> selections)
{
if (selections != 0)
{
this.<>4__this.<KBFCNIPECEB>k__BackingField.AddRange(selections);
List<OOCCCGPICOG> <KBFCNIPECEB>k__BackingField = this.<>4__this.<KBFCNIPECEB>k__BackingField;
Comparison<OOCCCGPICOG> <>9__32_ = ConsumableManager.<>c.<>9__32_1;
if (<>9__32_ == 0)
{
ConsumableManager.<>c.<>9__32_1 = delegate(OOCCCGPICOG x, OOCCCGPICOG y)
{
DateTime <IPLPEOMCNPJ>k__BackingField = x.<IPLPEOMCNPJ>k__BackingField;
DateTime <IPLPEOMCNPJ>k__BackingField2 = y.<IPLPEOMCNPJ>k__BackingField;
return DateTime.Compare(<IPLPEOMCNPJ>k__BackingField, <IPLPEOMCNPJ>k__BackingField2);
};
}
<KBFCNIPECEB>k__BackingField.Sort(<>9__32_);
}
BPHGKAEDBPE.HADGLCCBNHM(this.callback, error);
}
// Token: 0x04009A77 RID: 39543
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A77")]
public ConsumableManager <>4__this;
// Token: 0x04009A78 RID: 39544
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009A78")]
public BPHGKAEDBPE.CBEOHBCIPEA callback;
}
// Token: 0x0200240F RID: 9231
[Token(Token = "0x200240F")]
[CompilerGenerated]
private sealed class DOANPNOOBAD
{
// Token: 0x0600EAE5 RID: 60133 RVA: 0x0035FC64 File Offset: 0x0035DE64
[Token(Token = "0x600EAE5")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public DOANPNOOBAD()
{
}
// Token: 0x0600EAE6 RID: 60134 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600EAE6")]
[Address(RVA = "0x1D8FAD0", Offset = "0x1D8EAD0", VA = "0x181D8FAD0")]
internal bool <RemoveFromActiveTimedConsumableQueue>b__0(ConsumableManager.DKKBNGODEOM c)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04009A79 RID: 39545
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A79")]
public OOCCCGPICOG consumable;
}
// Token: 0x02002411 RID: 9233
[Token(Token = "0x2002411")]
[CompilerGenerated]
private sealed class LLEOPOOCNCG
{
// Token: 0x0600EAED RID: 60141 RVA: 0x0035FDB4 File Offset: 0x0035DFB4
[Token(Token = "0x600EAED")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public LLEOPOOCNCG()
{
}
// Token: 0x0600EAEE RID: 60142 RVA: 0x0035FDC8 File Offset: 0x0035DFC8
[Token(Token = "0x600EAEE")]
[Address(RVA = "0x1D91880", Offset = "0x1D90880", VA = "0x181D91880")]
internal List<OOCCCGPICOG> <GetAllTransferableConsumableTypesByCreatorId>b__2(List<OOCCCGPICOG> consumables)
{
Dictionary<int, List<OOCCCGPICOG>> <MPOGFALEMEO>k__BackingField = this.<>4__this.<MPOGFALEMEO>k__BackingField;
throw new NullReferenceException();
}
// Token: 0x04009A7E RID: 39550
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A7E")]
public ConsumableManager <>4__this;
// Token: 0x04009A7F RID: 39551
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009A7F")]
public int creatorId;
}
// Token: 0x02002412 RID: 9234
[Token(Token = "0x2002412")]
[CompilerGenerated]
private sealed class BFCGKOAPJEC
{
// Token: 0x0600EAEF RID: 60143 RVA: 0x0035FE40 File Offset: 0x0035E040
[Token(Token = "0x600EAEF")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public BFCGKOAPJEC()
{
}
// Token: 0x0600EAF0 RID: 60144 RVA: 0x0035FE54 File Offset: 0x0035E054
[Token(Token = "0x600EAF0")]
[Address(RVA = "0x1D0C540", Offset = "0x1D0B540", VA = "0x181D0C540")]
internal bool <GetTransferableConsumablesOfTypeByCreatorId>b__0(OOCCCGPICOG c)
{
string text = this.consumableType;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, text);
}
// Token: 0x0600EAF1 RID: 60145 RVA: 0x0035FE7C File Offset: 0x0035E07C
[Token(Token = "0x600EAF1")]
[Address(RVA = "0x1D7F380", Offset = "0x1D7E380", VA = "0x181D7F380")]
internal List<OOCCCGPICOG> <GetTransferableConsumablesOfTypeByCreatorId>b__1(List<OOCCCGPICOG> consumables)
{
Dictionary<int, List<OOCCCGPICOG>> <MPOGFALEMEO>k__BackingField = this.<>4__this.<MPOGFALEMEO>k__BackingField;
throw new NullReferenceException();
}
// Token: 0x0600EAF2 RID: 60146 RVA: 0x0035FECC File Offset: 0x0035E0CC
[Token(Token = "0x600EAF2")]
[Address(RVA = "0x1D0C540", Offset = "0x1D0B540", VA = "0x181D0C540")]
internal bool <GetTransferableConsumablesOfTypeByCreatorId>b__2(OOCCCGPICOG c)
{
string text = this.consumableType;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, text);
}
// Token: 0x04009A80 RID: 39552
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A80")]
public string consumableType;
// Token: 0x04009A81 RID: 39553
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009A81")]
public ConsumableManager <>4__this;
// Token: 0x04009A82 RID: 39554
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009A82")]
public int creatorId;
// Token: 0x04009A83 RID: 39555
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009A83")]
public Func<OOCCCGPICOG, bool> <>9__2;
}
// Token: 0x02002413 RID: 9235
[Token(Token = "0x2002413")]
[CompilerGenerated]
private sealed class OILBDNFLMKD
{
// Token: 0x0600EAF3 RID: 60147 RVA: 0x0035FEF4 File Offset: 0x0035E0F4
[Token(Token = "0x600EAF3")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public OILBDNFLMKD()
{
}
// Token: 0x0600EAF4 RID: 60148 RVA: 0x0035FF08 File Offset: 0x0035E108
[Token(Token = "0x600EAF4")]
[Address(RVA = "0x1D922E0", Offset = "0x1D912E0", VA = "0x181D922E0")]
internal bool <GetLatestNonActiveNonTransferableConsumableByType>b__0(OOCCCGPICOG pc)
{
string text = this.consumableType;
bool flag = string.Equals(pc.<CNJALCEBPMC>k__BackingField, text);
if (!flag)
{
return flag;
}
return !pc.<OLCLLOHLPEH>k__BackingField;
}
// Token: 0x04009A84 RID: 39556
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A84")]
public string consumableType;
}
// Token: 0x02002414 RID: 9236
[Token(Token = "0x2002414")]
[CompilerGenerated]
private sealed class BMPAPIDNKAC
{
// Token: 0x0600EAF5 RID: 60149 RVA: 0x0035FF40 File Offset: 0x0035E140
[Token(Token = "0x600EAF5")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public BMPAPIDNKAC()
{
}
// Token: 0x0600EAF6 RID: 60150 RVA: 0x0035FF54 File Offset: 0x0035E154
[Token(Token = "0x600EAF6")]
[Address(RVA = "0x1D7F450", Offset = "0x1D7E450", VA = "0x181D7F450")]
internal bool <GetRemainingCount>b__0(ConsumableManager.DKKBNGODEOM ct)
{
long <JPAOOKPLEDB>k__BackingField = this.consumable.<JPAOOKPLEDB>k__BackingField;
return "{il2cpp field on {'constant4' (constant value of type Cpp2IL.Core.Analysis.Il2CppClassIdentifier)}, offset 0x10}" == <JPAOOKPLEDB>k__BackingField;
}
// Token: 0x04009A85 RID: 39557
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A85")]
public OOCCCGPICOG consumable;
}
// Token: 0x02002415 RID: 9237
[Token(Token = "0x2002415")]
[CompilerGenerated]
private sealed class ODJCBMEABHI
{
// Token: 0x0600EAF7 RID: 60151 RVA: 0x0035FF7C File Offset: 0x0035E17C
[Token(Token = "0x600EAF7")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public ODJCBMEABHI()
{
}
// Token: 0x0600EAF8 RID: 60152 RVA: 0x0035FF90 File Offset: 0x0035E190
[Token(Token = "0x600EAF8")]
[Address(RVA = "0x14C9F40", Offset = "0x14C8F40", VA = "0x1814C9F40")]
internal bool <GetConsumableById>b__0(OOCCCGPICOG pc)
{
long num = this.consumableId;
return pc.<JPAOOKPLEDB>k__BackingField == num;
}
// Token: 0x04009A86 RID: 39558
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A86")]
public long consumableId;
}
// Token: 0x02002416 RID: 9238
[Token(Token = "0x2002416")]
[CompilerGenerated]
private sealed class DKELPJNFIDO
{
// Token: 0x0600EAF9 RID: 60153 RVA: 0x0035FFB4 File Offset: 0x0035E1B4
[Token(Token = "0x600EAF9")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public DKELPJNFIDO()
{
}
// Token: 0x0600EAFA RID: 60154 RVA: 0x0035FFC8 File Offset: 0x0035E1C8
[Token(Token = "0x600EAFA")]
[Address(RVA = "0x1D8FAA0", Offset = "0x1D8EAA0", VA = "0x181D8FAA0")]
internal bool <GetLatestPurchasedNonTransferableConsumablesInCategory>b__0(OOCCCGPICOG c)
{
return c.GMMAAAGFAKO() == this.category;
}
// Token: 0x04009A87 RID: 39559
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A87")]
public ConsumableManager.KIDKMAOBOIG category;
}
// Token: 0x02002417 RID: 9239
[Token(Token = "0x2002417")]
[CompilerGenerated]
private sealed class PLNPAHNMEIH
{
// Token: 0x0600EAFB RID: 60155 RVA: 0x0035FFE4 File Offset: 0x0035E1E4
[Token(Token = "0x600EAFB")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public PLNPAHNMEIH()
{
}
// Token: 0x0600EAFC RID: 60156 RVA: 0x0035FFF8 File Offset: 0x0035E1F8
[Token(Token = "0x600EAFC")]
[Address(RVA = "0x1D0C540", Offset = "0x1D0B540", VA = "0x181D0C540")]
internal bool <GetAllPurchasedNonTransferableConsumablesOfType>b__0(OOCCCGPICOG c)
{
string text = this.type;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, text);
}
// Token: 0x04009A88 RID: 39560
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A88")]
public string type;
}
// Token: 0x02002418 RID: 9240
[Token(Token = "0x2002418")]
[CompilerGenerated]
private sealed class KJEJOAJDKFO
{
// Token: 0x0600EAFD RID: 60157 RVA: 0x00360020 File Offset: 0x0035E220
[Token(Token = "0x600EAFD")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public KJEJOAJDKFO()
{
}
// Token: 0x0600EAFE RID: 60158 RVA: 0x00360034 File Offset: 0x0035E234
[Token(Token = "0x600EAFE")]
[Address(RVA = "0x14C9F40", Offset = "0x14C8F40", VA = "0x1814C9F40")]
internal bool <Consumables_OnConsumableRemoved>b__0(OOCCCGPICOG c)
{
long num = this.consumableId;
return c.<JPAOOKPLEDB>k__BackingField == num;
}
// Token: 0x0600EAFF RID: 60159 RVA: 0x00360058 File Offset: 0x0035E258
[Token(Token = "0x600EAFF")]
[Address(RVA = "0x1D90FD0", Offset = "0x1D8FFD0", VA = "0x181D90FD0")]
internal bool <Consumables_OnConsumableRemoved>b__1(OOCCCGPICOG pc)
{
string <CNJALCEBPMC>k__BackingField = pc.<CNJALCEBPMC>k__BackingField;
string <CNJALCEBPMC>k__BackingField2 = this.consumable.<CNJALCEBPMC>k__BackingField;
return string.Equals(<CNJALCEBPMC>k__BackingField, <CNJALCEBPMC>k__BackingField2);
}
// Token: 0x04009A89 RID: 39561
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A89")]
public long consumableId;
// Token: 0x04009A8A RID: 39562
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009A8A")]
public OOCCCGPICOG consumable;
}
}
}
@@ -0,0 +1,230 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200241A RID: 9242
[Token(Token = "0x200241A")]
public class ConsumableSpawnedContainerToolPiece : ConsumableSpawnedToolPiece
{
// Token: 0x0600EB02 RID: 60162 RVA: 0x00360114 File Offset: 0x0035E314
[Token(Token = "0x600EB02")]
[Address(RVA = "0x1D8CB80", Offset = "0x1D8BB80", VA = "0x181D8CB80", Slot = "13")]
protected override void Awake()
{
base.Awake();
this.tool.DisablePickup(this);
float time = Time.time;
this.JLMJPAABPEA = time;
Player player = base.FAGBHOMBNBP.GPOMCJICJIH();
int num = 0;
if (player != num)
{
string playerName = base.FAGBHOMBNBP.GPOMCJICJIH().KONALLBMCGK;
this.CJKJPAAIKNI = playerName;
return;
}
this.CJKJPAAIKNI = "Owner";
}
// Token: 0x0600EB03 RID: 60163 RVA: 0x00360188 File Offset: 0x0035E388
[Token(Token = "0x600EB03")]
[Address(RVA = "0x1D8CDF0", Offset = "0x1D8BDF0", VA = "0x181D8CDF0", Slot = "14")]
protected override void OnDestroy()
{
for (;;)
{
int num = 0;
if (SessionManager.KNLLGLBKAPD)
{
goto IL_4B;
}
List<Tool> cpeekaiahak = this.CPEEKAIAHAK;
Player player = base.FAGBHOMBNBP.GPOMCJICJIH();
int num2 = 0;
if (!(player == num2))
{
Transform transform = base.transform;
Vector3 up = Vector3.up;
Vector3 vector;
float z = vector.z;
goto IL_4B;
}
goto IL_74;
IL_A4:
int num3 = 0;
if (num != 0)
{
goto IL_18A;
}
if (num3 != -1)
{
}
string friendlyName = this.MDDMBJDBOGD.FriendlyName;
float time = Time.time;
int size = this.CPEEKAIAHAK._size;
int size2 = this.DNMFCBOFFLM._size;
List<Tool> gdlnphnblhj = this.GDLNPHNBLHJ;
bool flag;
if (flag)
{
bool flag2;
while (!flag2)
{
}
int num4 = 0;
GameObject gameObject;
if (!(gameObject != num4))
{
continue;
}
GameObject gameObject2;
KKPBCOOONNK.JAKJLFDNEJA(gameObject2);
}
if (num == 0)
{
break;
}
continue;
IL_4B:
List<Tool> cpeekaiahak2 = this.CPEEKAIAHAK;
bool flag3;
if (!flag3)
{
goto IL_A4;
}
Action<Tool> action = new Action(this.DNOLJKCKLJO);
Action<Tool> action2 = new Action(this.LBLMBNMBCMI);
IL_74:
string text = this.CJKJPAAIKNI + " has left the room";
Transform transform2 = base.transform;
Vector3 up2 = Vector3.up;
Vector3 vector2;
float z2 = vector2.z;
goto IL_A4;
}
GameManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num5 = 0;
if (instance != num5)
{
GameManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
MIEIBBPMDMP.GGPHEKCPPMP ggphekcppmp = new MIEIBBPMDMP.GGPHEKCPPMP(base.OENCFJHENPB);
instance2.KMKCFILCLNO -= ggphekcppmp;
}
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action3 = new Action(base.MNCLFHBBPHB);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action3);
tool.PostPickupEvent = mfbglihgcgo;
base.OnDestroy();
return;
IL_18A:
throw new NullReferenceException();
}
// Token: 0x0600EB04 RID: 60164 RVA: 0x00360324 File Offset: 0x0035E524
[Token(Token = "0x600EB04")]
[Address(RVA = "0x1D8D630", Offset = "0x1D8C630", VA = "0x181D8D630")]
public void SetNonHolderPieces(List<Tool> MAMMMHBMAPG, ConsumableInfo DBDDKLHPNNA)
{
int num;
do
{
num = 0;
this.MDDMBJDBOGD = DBDDKLHPNNA;
bool flag;
if (flag)
{
int num2 = 0;
ConsumableSpawnedToolPiece consumableSpawnedToolPiece;
if (!(consumableSpawnedToolPiece != num2))
{
List<Tool> gdlnphnblhj = this.GDLNPHNBLHJ;
}
List<Tool> cpeekaiahak = this.CPEEKAIAHAK;
Action<Tool> action = new Action(this.DNOLJKCKLJO);
Action<Tool> action2 = new Action(this.LBLMBNMBCMI);
}
}
while (num != 0);
}
// Token: 0x0600EB05 RID: 60165 RVA: 0x00360390 File Offset: 0x0035E590
[Token(Token = "0x600EB05")]
[Address(RVA = "0x1D8CC70", Offset = "0x1D8BC70", VA = "0x181D8CC70")]
private void DNOLJKCKLJO(Tool DOOFPDFKCMK)
{
Player <OKDFEPHLKCB>k__BackingField = DOOFPDFKCMK.<OKDFEPHLKCB>k__BackingField;
int num = 0;
if (<OKDFEPHLKCB>k__BackingField != num)
{
Player <OKDFEPHLKCB>k__BackingField2 = DOOFPDFKCMK.<OKDFEPHLKCB>k__BackingField;
List<int> dnmfcbofflm = this.DNMFCBOFFLM;
int <FMMJEJMBDPL>k__BackingField = <OKDFEPHLKCB>k__BackingField2.<FMMJEJMBDPL>k__BackingField;
if (!dnmfcbofflm.Contains(<FMMJEJMBDPL>k__BackingField))
{
Player <OKDFEPHLKCB>k__BackingField3 = DOOFPDFKCMK.<OKDFEPHLKCB>k__BackingField;
List<int> dnmfcbofflm2 = this.DNMFCBOFFLM;
int <FMMJEJMBDPL>k__BackingField2 = <OKDFEPHLKCB>k__BackingField3.<FMMJEJMBDPL>k__BackingField;
dnmfcbofflm2.Add(<FMMJEJMBDPL>k__BackingField2);
}
}
}
// Token: 0x0600EB06 RID: 60166 RVA: 0x003603FC File Offset: 0x0035E5FC
[Token(Token = "0x600EB06")]
[Address(RVA = "0x1D8CD50", Offset = "0x1D8BD50", VA = "0x181D8CD50")]
private void LBLMBNMBCMI(Tool DOOFPDFKCMK)
{
bool flag = this.CPEEKAIAHAK.Remove(DOOFPDFKCMK);
List<Tool> cpeekaiahak = this.CPEEKAIAHAK;
KKPBCOOONNK.JAKJLFDNEJA(base.gameObject);
}
// Token: 0x0600EB07 RID: 60167 RVA: 0x00360430 File Offset: 0x0035E630
[Token(Token = "0x600EB07")]
[Address(RVA = "0x1D8D890", Offset = "0x1D8C890", VA = "0x181D8D890")]
public ConsumableSpawnedContainerToolPiece()
{
List<Tool> list = new List();
this.CPEEKAIAHAK = list;
List<Tool> list2 = new List();
this.GDLNPHNBLHJ = list2;
List<int> list3 = new List();
this.DNMFCBOFFLM = list3;
base..ctor();
}
// Token: 0x04009A8B RID: 39563
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009A8B")]
private List<Tool> CPEEKAIAHAK;
// Token: 0x04009A8C RID: 39564
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009A8C")]
private List<Tool> GDLNPHNBLHJ;
// Token: 0x04009A8D RID: 39565
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009A8D")]
private List<int> DNMFCBOFFLM;
// Token: 0x04009A8E RID: 39566
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009A8E")]
private float JLMJPAABPEA;
// Token: 0x04009A8F RID: 39567
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4009A8F")]
private ConsumableInfo MDDMBJDBOGD;
// Token: 0x04009A90 RID: 39568
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4009A90")]
private string CJKJPAAIKNI;
}
}
@@ -0,0 +1,98 @@
using System;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.Tools;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200241B RID: 9243
[Token(Token = "0x200241B")]
public class ConsumableSpawnedToolPiece : MonoBehaviourPun
{
// Token: 0x0600EB08 RID: 60168 RVA: 0x0036046C File Offset: 0x0035E66C
[Token(Token = "0x600EB08")]
[Address(RVA = "0x1D8D940", Offset = "0x1D8C940", VA = "0x181D8D940", Slot = "13")]
protected override void Awake()
{
base..ctor();
this.tool.rigidbodyEx.AddKinematic(this);
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action = new Action(this.MNCLFHBBPHB);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action);
tool.PostPickupEvent = mfbglihgcgo;
this.tool.toolEntity.AddMainToolBrokenBehavior((ToolEntity.PACMMGFMOEN)((uint)2), this, 999);
GameManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
if (instance != num)
{
GameManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
MIEIBBPMDMP.GGPHEKCPPMP ggphekcppmp = new MIEIBBPMDMP.GGPHEKCPPMP(this.OENCFJHENPB);
instance2.KMKCFILCLNO += ggphekcppmp;
}
}
// Token: 0x0600EB09 RID: 60169 RVA: 0x0036050C File Offset: 0x0035E70C
[Token(Token = "0x600EB09")]
[Address(RVA = "0x1A65760", Offset = "0x1A64760", VA = "0x181A65760")]
private void MNCLFHBBPHB(Tool NBHJPDBHDHB)
{
this.tool.rigidbodyEx.RemoveKinematic(this);
}
// Token: 0x0600EB0A RID: 60170 RVA: 0x00360530 File Offset: 0x0035E730
[Token(Token = "0x600EB0A")]
[Address(RVA = "0x1D8DB90", Offset = "0x1D8CB90", VA = "0x181D8DB90", Slot = "14")]
protected override void OnDestroy()
{
GameManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
if (instance != num)
{
GameManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
MIEIBBPMDMP.GGPHEKCPPMP ggphekcppmp = new MIEIBBPMDMP.GGPHEKCPPMP(this.OENCFJHENPB);
instance2.KMKCFILCLNO -= ggphekcppmp;
}
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action = new Action(this.MNCLFHBBPHB);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action);
tool.PostPickupEvent = mfbglihgcgo;
base.OnDestroy();
}
// Token: 0x0600EB0B RID: 60171 RVA: 0x003605A8 File Offset: 0x0035E7A8
[Token(Token = "0x600EB0B")]
[Address(RVA = "0x1D8DD00", Offset = "0x1D8CD00", VA = "0x181D8DD00")]
private void OnDisable()
{
KKPBCOOONNK.JAKJLFDNEJA(base.gameObject);
}
// Token: 0x0600EB0C RID: 60172 RVA: 0x003605C4 File Offset: 0x0035E7C4
[Token(Token = "0x600EB0C")]
[Address(RVA = "0x1D8DB10", Offset = "0x1D8CB10", VA = "0x181D8DB10")]
private void OENCFJHENPB(ushort LLEHBLJHJHM, ushort CPMPEJFMDED, ushort PLGFJEILFGP, ushort OEAPMLMHLLF)
{
if (base.OGIBLNIIHDK)
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
}
// Token: 0x0600EB0D RID: 60173 RVA: 0x003605E8 File Offset: 0x0035E7E8
[Token(Token = "0x600EB0D")]
[Address(RVA = "0x8E9790", Offset = "0x8E8790", VA = "0x1808E9790")]
public ConsumableSpawnedToolPiece()
{
}
// Token: 0x04009A91 RID: 39569
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009A91")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
protected Tool tool;
}
}
@@ -0,0 +1,467 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.Tools;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200241C RID: 9244
[Token(Token = "0x200241C")]
public abstract class ConsumableTool : MonoBehaviourPun
{
// Token: 0x17002575 RID: 9589
// (get) Token: 0x0600EB0E RID: 60174 RVA: 0x003605FC File Offset: 0x0035E7FC
// (set) Token: 0x0600EB0F RID: 60175 RVA: 0x00360610 File Offset: 0x0035E810
[Token(Token = "0x17002575")]
public PlayerSpawnedEquipment.IILDIBHEIDO GDKPKFJGOFO
{
[Token(Token = "0x600EB0E")]
[Address(RVA = "0x56DD20", Offset = "0x56CD20", VA = "0x18056DD20")]
get;
[Token(Token = "0x600EB0F")]
[Address(RVA = "0x56DEE0", Offset = "0x56CEE0", VA = "0x18056DEE0")]
private set;
}
// Token: 0x17002576 RID: 9590
// (get) Token: 0x0600EB10 RID: 60176 RVA: 0x00360624 File Offset: 0x0035E824
// (set) Token: 0x0600EB11 RID: 60177 RVA: 0x00360638 File Offset: 0x0035E838
[Token(Token = "0x17002576")]
public bool DKLGNFGONEM
{
[Token(Token = "0x600EB10")]
[Address(RVA = "0x497580", Offset = "0x496580", VA = "0x180497580")]
get;
[Token(Token = "0x600EB11")]
[Address(RVA = "0x1906120", Offset = "0x1905120", VA = "0x181906120")]
private set;
}
// Token: 0x17002577 RID: 9591
// (get) Token: 0x0600EB12 RID: 60178 RVA: 0x0036064C File Offset: 0x0035E84C
// (set) Token: 0x0600EB13 RID: 60179 RVA: 0x00360660 File Offset: 0x0035E860
[Token(Token = "0x17002577")]
public OOCCCGPICOG PCCJOKHNIPL
{
[Token(Token = "0x600EB12")]
[Address(RVA = "0x417720", Offset = "0x416720", VA = "0x180417720")]
get
{
return this.CKNFEDPPDOO;
}
[Token(Token = "0x600EB13")]
[Address(RVA = "0x1D8ED60", Offset = "0x1D8DD60", VA = "0x181D8ED60")]
set
{
Tool tool = this.tool;
this.CKNFEDPPDOO = value;
int num = 0;
bool flag = OOCCCGPICOG.BDBLGMKABNK(value, num);
object bnmoddgeghn = this.BNMODDGEGHN;
tool.SetPickupEnabled(flag, bnmoddgeghn);
}
}
// Token: 0x17002578 RID: 9592
// (get) Token: 0x0600EB14 RID: 60180 RVA: 0x0036069C File Offset: 0x0035E89C
// (set) Token: 0x0600EB15 RID: 60181 RVA: 0x003606B0 File Offset: 0x0035E8B0
[Token(Token = "0x17002578")]
protected ConsumableInfo MDDMBJDBOGD
{
[Token(Token = "0x600EB14")]
[Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0")]
get;
[Token(Token = "0x600EB15")]
[Address(RVA = "0x417AC0", Offset = "0x416AC0", VA = "0x180417AC0")]
set;
}
// Token: 0x0600EB16 RID: 60182 RVA: 0x003606C4 File Offset: 0x0035E8C4
[Token(Token = "0x600EB16")]
[Address(RVA = "0x1D8DD80", Offset = "0x1D8CD80", VA = "0x181D8DD80", Slot = "13")]
protected override void Awake()
{
ConsumableManager instance;
int num;
ulong num2;
do
{
base..ctor();
bool isLocal = base.JDHMIOJKLCK.AHNNNIPLFGD;
Tool tool = this.tool;
this.<MHCDCIGJNNA>k__BackingField = isLocal;
if (tool.NDKHDFJHGPP || this.tool.InstantiationParameters == 0)
{
goto IL_8E;
}
Dictionary<string, object> instantiationParameters = this.tool.InstantiationParameters;
bool flag;
if (!flag)
{
goto IL_8E;
}
instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
num = 0;
}
while (num2 != (ulong)0L && num2 == (ulong)0L);
if (instance.TryGetConsumableInfo(num) != 0)
{
this.OnDestroy();
}
Dictionary<string, object> instantiationParameters2 = this.tool.InstantiationParameters;
bool flag2;
if (flag2)
{
ulong num4;
ulong num3 = num4;
this.<NAIDKNLBACJ>k__BackingField = (PlayerSpawnedEquipment.IILDIBHEIDO)num3;
}
IL_8E:
if (this.<ENJFOPBELFF>k__BackingField == (ulong)0L)
{
Debug.LogError("ConsumableItem is null, something is very wrong");
}
Tool tool2 = this.tool;
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool2.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action = new Action(this.FICCBKGGJOE);
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> eahpnacbldd = EAHPNACBLDD.BPJDFPACLMK(postResetEvent, action);
tool2.PostResetEvent = eahpnacbldd;
this.tool.toolEntity.AddMainToolBrokenBehavior((ToolEntity.PACMMGFMOEN)((uint)2), this, 999);
if (this.<MHCDCIGJNNA>k__BackingField)
{
ConsumableTool.HCIKBFLBMPH.Add(this);
}
Tool tool3 = this.tool;
object leckfkbfhgb = this.LECKFKBFHGB;
bool flag3 = this.<MHCDCIGJNNA>k__BackingField;
tool3.SetPickupEnabled(flag3, leckfkbfhgb);
Tool tool4 = this.tool;
Tool.HMMDPJMIHGJ hmmdpjmihgj = new Tool.HMMDPJMIHGJ(this.EPPFLONEOMA);
tool4.CustomAuthorityResetOnKillzoneBehavior = hmmdpjmihgj;
GameManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num5 = 0;
if (instance2 != num5)
{
GameManager instance3 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
MIEIBBPMDMP.GGPHEKCPPMP ggphekcppmp = new MIEIBBPMDMP.GGPHEKCPPMP(this.OENCFJHENPB);
instance3.KMKCFILCLNO += ggphekcppmp;
}
}
// Token: 0x0600EB17 RID: 60183 RVA: 0x00360850 File Offset: 0x0035EA50
[Token(Token = "0x600EB17")]
[Address(RVA = "0x1D8E1B0", Offset = "0x1D8D1B0", VA = "0x181D8E1B0")]
private void FICCBKGGJOE(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
{
if (base.PFAAACOLOCL)
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
return;
}
}
// Token: 0x0600EB18 RID: 60184 RVA: 0x00360874 File Offset: 0x0035EA74
[Token(Token = "0x600EB18")]
[Address(RVA = "0x1D8EAA0", Offset = "0x1D8DAA0", VA = "0x181D8EAA0")]
private void OENCFJHENPB(ushort LLEHBLJHJHM, ushort CPMPEJFMDED, ushort PLGFJEILFGP, ushort OEAPMLMHLLF)
{
if (base.OGIBLNIIHDK)
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
}
// Token: 0x0600EB19 RID: 60185 RVA: 0x00360898 File Offset: 0x0035EA98
[Token(Token = "0x600EB19")]
[Address(RVA = "0x1D8EB20", Offset = "0x1D8DB20", VA = "0x181D8EB20", Slot = "14")]
protected override void OnDestroy()
{
if (this.<MHCDCIGJNNA>k__BackingField)
{
bool flag = ConsumableTool.HCIKBFLBMPH.Remove(this);
}
GameManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
if (instance != num)
{
GameManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
MIEIBBPMDMP.GGPHEKCPPMP ggphekcppmp = new MIEIBBPMDMP.GGPHEKCPPMP(this.OENCFJHENPB);
instance2.KMKCFILCLNO -= ggphekcppmp;
}
base.OnDestroy();
}
// Token: 0x0600EB1A RID: 60186 RVA: 0x003608F4 File Offset: 0x0035EAF4
[Token(Token = "0x600EB1A")]
[Address(RVA = "0x1D8E230", Offset = "0x1D8D230", VA = "0x181D8E230", Slot = "15")]
protected virtual void FIENOGGFMIE(ConsumableInfo FNPFHJHDDAC)
{
for (;;)
{
this.<ENJFOPBELFF>k__BackingField = FNPFHJHDDAC;
if (!this.<MHCDCIGJNNA>k__BackingField)
{
return;
}
if (!this.tool.NDKHDFJHGPP && this.tool.InstantiationParameters != 0)
{
Dictionary<string, object> instantiationParameters = this.tool.InstantiationParameters;
bool flag;
if (flag)
{
break;
}
}
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
string consumableItemDesc = this.<ENJFOPBELFF>k__BackingField.ConsumableItemDesc;
ConsumableManager.OILBDNFLMKD oilbdnflmkd = new ConsumableManager.OILBDNFLMKD();
oilbdnflmkd.consumableType = consumableItemDesc;
List<OOCCCGPICOG> <KBFCNIPECEB>k__BackingField = instance.<KBFCNIPECEB>k__BackingField;
Func<OOCCCGPICOG, bool> func = delegate(OOCCCGPICOG pc)
{
string consumableType = oilbdnflmkd.consumableType;
bool flag2 = string.Equals(pc.<CNJALCEBPMC>k__BackingField, consumableType);
if (!flag2)
{
return flag2;
}
return !pc.<OLCLLOHLPEH>k__BackingField;
};
IEnumerable<OOCCCGPICOG> enumerable = Enumerable.Where<OOCCCGPICOG>(<KBFCNIPECEB>k__BackingField, func);
Func<OOCCCGPICOG, DateTime> func2;
if (ConsumableManager.<>c.<>9__45_1 == 0)
{
func2 = (OOCCCGPICOG pc) => pc.<IPLPEOMCNPJ>k__BackingField;
ConsumableManager.<>c.<>9__45_1 = func2;
}
OOCCCGPICOG oocccgpicog = Enumerable.FirstOrDefault<OOCCCGPICOG>(Enumerable.OrderByDescending<OOCCCGPICOG, DateTime>(enumerable, func2));
Tool tool = this.tool;
this.CKNFEDPPDOO = oocccgpicog;
OOCCCGPICOG cknfedppdoo = this.CKNFEDPPDOO;
int num = 0;
if (OOCCCGPICOG.JGIMJGNAJHP(cknfedppdoo, num))
{
goto Block_6;
}
}
ConsumableManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
ulong num3;
ulong num2 = num3;
ConsumableManager.ODJCBMEABHI odjcbmeabhi = new ConsumableManager.ODJCBMEABHI();
odjcbmeabhi.consumableId = (long)num2;
List<OOCCCGPICOG> <KBFCNIPECEB>k__BackingField2 = instance2.<KBFCNIPECEB>k__BackingField;
Func<OOCCCGPICOG, bool> func3 = delegate(OOCCCGPICOG pc)
{
long consumableId = odjcbmeabhi.consumableId;
return pc.<JPAOOKPLEDB>k__BackingField == consumableId;
};
IEnumerable<OOCCCGPICOG> enumerable2 = Enumerable.Where<OOCCCGPICOG>(<KBFCNIPECEB>k__BackingField2, func3);
Func<OOCCCGPICOG, DateTime> <>9__47_ = ConsumableManager.<>c.<>9__47_1;
if (<>9__47_ == 0)
{
ConsumableManager.<>c.<>9__47_1 = (OOCCCGPICOG pc) => pc.<IPLPEOMCNPJ>k__BackingField;
}
OOCCCGPICOG oocccgpicog2 = Enumerable.FirstOrDefault<OOCCCGPICOG>(Enumerable.OrderByDescending<OOCCCGPICOG, DateTime>(enumerable2, <>9__47_));
this.PCCJOKHNIPL = oocccgpicog2;
return;
Block_6:
MFBGLIHGCGO<OOCCCGPICOG> kpcjmbnihhl = FOEHJBDMMBH.KPCJMBNIHHL;
Action<OOCCCGPICOG> action = new Action(this.LJNJNJPEHJI);
FOEHJBDMMBH.KPCJMBNIHHL = MFBGLIHGCGO.BPJDFPACLMK(kpcjmbnihhl, action);
throw new NullReferenceException();
}
// Token: 0x0600EB1B RID: 60187 RVA: 0x00360A88 File Offset: 0x0035EC88
[Token(Token = "0x600EB1B")]
[Address(RVA = "0x1D8E970", Offset = "0x1D8D970", VA = "0x181D8E970")]
private void LJNJNJPEHJI(OOCCCGPICOG BAJGNABECMN)
{
string consumableItemDesc = this.<ENJFOPBELFF>k__BackingField.ConsumableItemDesc;
if (string.Equals(BAJGNABECMN.<CNJALCEBPMC>k__BackingField, consumableItemDesc))
{
Tool tool = this.tool;
int num = 0;
this.CKNFEDPPDOO = BAJGNABECMN;
bool flag = OOCCCGPICOG.BDBLGMKABNK(BAJGNABECMN, num);
object bnmoddgeghn = this.BNMODDGEGHN;
tool.SetPickupEnabled(flag, bnmoddgeghn);
MFBGLIHGCGO<OOCCCGPICOG> kpcjmbnihhl = FOEHJBDMMBH.KPCJMBNIHHL;
Action<OOCCCGPICOG> action = new Action(this.LJNJNJPEHJI);
FOEHJBDMMBH.KPCJMBNIHHL = MFBGLIHGCGO.GMNMHGMFGOL(kpcjmbnihhl, action);
}
}
// Token: 0x0600EB1C RID: 60188 RVA: 0x00360B04 File Offset: 0x0035ED04
[Token(Token = "0x600EB1C")]
[Address(RVA = "0x1D8E800", Offset = "0x1D8D800", VA = "0x181D8E800")]
public static ConsumableTool FindConsumableTool(long ENJEOLBEALP)
{
List<ConsumableTool> hcikbflbmph = ConsumableTool.HCIKBFLBMPH;
Func<ConsumableTool, bool> func = delegate(ConsumableTool ct)
{
OOCCCGPICOG cknfedppdoo = ct.CKNFEDPPDOO;
int num = 0;
bool flag = OOCCCGPICOG.BDBLGMKABNK(cknfedppdoo, num);
if (!flag)
{
return flag;
}
OOCCCGPICOG cknfedppdoo2 = ct.CKNFEDPPDOO;
long id = ENJEOLBEALP;
return cknfedppdoo2.<JPAOOKPLEDB>k__BackingField == id;
};
return Enumerable.FirstOrDefault<ConsumableTool>(hcikbflbmph, func);
}
// Token: 0x0600EB1D RID: 60189 RVA: 0x00360B40 File Offset: 0x0035ED40
[Token(Token = "0x600EB1D")]
[Address(RVA = "0x1D8E720", Offset = "0x1D8D720", VA = "0x181D8E720")]
public static ConsumableTool FindConsumableTool(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK)
{
List<ConsumableTool> hcikbflbmph = ConsumableTool.HCIKBFLBMPH;
Func<ConsumableTool, bool> func = delegate(ConsumableTool ct)
{
OOCCCGPICOG cknfedppdoo = ct.CKNFEDPPDOO;
int num = 0;
bool flag = OOCCCGPICOG.BDBLGMKABNK(cknfedppdoo, num);
if (!flag)
{
return flag;
}
return ct.CKNFEDPPDOO.GMMAAAGFAKO() == DJFBMCIDJNK;
};
return Enumerable.FirstOrDefault<ConsumableTool>(hcikbflbmph, func);
}
// Token: 0x0600EB1E RID: 60190 RVA: 0x00360B7C File Offset: 0x0035ED7C
[Token(Token = "0x600EB1E")]
[Address(RVA = "0x1D8E8E0", Offset = "0x1D8D8E0", VA = "0x181D8E8E0")]
protected void LHBLHBEIFKA()
{
if (this.<MHCDCIGJNNA>k__BackingField)
{
NotificationManager instance = SingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
IDisposable disposable = instance.Play(NotificationManager.IBIDFAOPIPC.Medium, "Added to your backpack!", 3f, num, num);
}
}
// Token: 0x0600EB1F RID: 60191 RVA: 0x00360BB4 File Offset: 0x0035EDB4
[Token(Token = "0x600EB1F")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0")]
private bool EPPFLONEOMA(Tool NBHJPDBHDHB, Killzone IKPBPBLJCOC)
{
return true;
}
// Token: 0x0600EB20 RID: 60192 RVA: 0x00360BC4 File Offset: 0x0035EDC4
[Token(Token = "0x600EB20")]
[Address(RVA = "0x1D8ECE0", Offset = "0x1D8DCE0", VA = "0x181D8ECE0")]
protected ConsumableTool()
{
object obj = new object();
this.BNMODDGEGHN = obj;
object obj2 = new object();
this.LECKFKBFHGB = obj2;
base..ctor();
}
// Token: 0x04009A92 RID: 39570
[Token(Token = "0x4009A92")]
private static List<ConsumableTool> HCIKBFLBMPH = new List();
// Token: 0x04009A93 RID: 39571
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009A93")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
protected Tool tool;
// Token: 0x04009A94 RID: 39572
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009A94")]
private object BNMODDGEGHN;
// Token: 0x04009A95 RID: 39573
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009A95")]
private object LECKFKBFHGB;
// Token: 0x04009A98 RID: 39576
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009A98")]
protected OOCCCGPICOG CKNFEDPPDOO;
// Token: 0x0200241D RID: 9245
[Token(Token = "0x200241D")]
[CompilerGenerated]
private sealed class AJIFIAHMIEK
{
// Token: 0x0600EB22 RID: 60194 RVA: 0x00360C0C File Offset: 0x0035EE0C
[Token(Token = "0x600EB22")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public AJIFIAHMIEK()
{
}
// Token: 0x0600EB23 RID: 60195 RVA: 0x00360C20 File Offset: 0x0035EE20
[Token(Token = "0x600EB23")]
[Address(RVA = "0x1D7EF40", Offset = "0x1D7DF40", VA = "0x181D7EF40")]
internal bool <FindConsumableTool>b__0(ConsumableTool ct)
{
OOCCCGPICOG cknfedppdoo = ct.CKNFEDPPDOO;
int num = 0;
bool flag = OOCCCGPICOG.BDBLGMKABNK(cknfedppdoo, num);
if (!flag)
{
return flag;
}
OOCCCGPICOG cknfedppdoo2 = ct.CKNFEDPPDOO;
long num2 = this.id;
return cknfedppdoo2.<JPAOOKPLEDB>k__BackingField == num2;
}
// Token: 0x04009A9A RID: 39578
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A9A")]
public long id;
}
// Token: 0x0200241E RID: 9246
[Token(Token = "0x200241E")]
[CompilerGenerated]
private sealed class DFGDNDPNCJE
{
// Token: 0x0600EB24 RID: 60196 RVA: 0x00360C64 File Offset: 0x0035EE64
[Token(Token = "0x600EB24")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public DFGDNDPNCJE()
{
}
// Token: 0x0600EB25 RID: 60197 RVA: 0x00360C78 File Offset: 0x0035EE78
[Token(Token = "0x600EB25")]
[Address(RVA = "0x1D8FA40", Offset = "0x1D8EA40", VA = "0x181D8FA40")]
internal bool <FindConsumableTool>b__0(ConsumableTool ct)
{
OOCCCGPICOG cknfedppdoo = ct.CKNFEDPPDOO;
int num = 0;
bool flag = OOCCCGPICOG.BDBLGMKABNK(cknfedppdoo, num);
if (!flag)
{
return flag;
}
return ct.CKNFEDPPDOO.GMMAAAGFAKO() == this.category;
}
// Token: 0x04009A9B RID: 39579
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A9B")]
public ConsumableManager.KIDKMAOBOIG category;
}
}
}
@@ -0,0 +1,87 @@
using System;
using Cpp2IlInjected;
using RecRoom.Storefronts;
namespace RecRoom.Consumable
{
// Token: 0x02002401 RID: 9217
[Token(Token = "0x2002401")]
[Serializable]
public class CouponConsumableInfo : ConsumableInfo
{
// Token: 0x0600EA67 RID: 60007 RVA: 0x0035DD88 File Offset: 0x0035BF88
[Token(Token = "0x600EA67")]
[Address(RVA = "0x1D8EE60", Offset = "0x1D8DE60", VA = "0x181D8EE60")]
public string LNNFKDMOFDP()
{
HHOLBEMEIPH discountType = this.DiscountType;
if (discountType == HHOLBEMEIPH.PERCENTAGE)
{
int couponValue = this.CouponValue;
return string.Format("{0}%", couponValue);
}
if (discountType == HHOLBEMEIPH.EXACT_AMOUNT)
{
string tokenStringFormatted = Storefront.GetTokenStringFormatted((long)this.CouponValue);
return string.Format("-{0}", tokenStringFormatted);
}
return string.Empty;
}
// Token: 0x0600EA68 RID: 60008 RVA: 0x0035DDD4 File Offset: 0x0035BFD4
[Token(Token = "0x600EA68")]
[Address(RVA = "0x1D8EDB0", Offset = "0x1D8DDB0", VA = "0x181D8EDB0")]
public long JNLBKGLHNAF(long DENMLCGOKNK)
{
/*
An exception occurred when decompiling this method (0600EA68)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int64 RecRoom.Consumable.CouponConsumableInfo::JNLBKGLHNAF(System.Int64)
---> System.Exception: Basic block has to end with unconditional control flow.
{
IL_1E:
stloc:int32(var_3_1F, ldc.i4:int32(0))
stloc:int32(var_4_21, ldc.i4:int32(0))
stloc:int32(var_5_24, ldc.i4:int32(0))
stloc:float32(var_6_30, call:float32(Mathf::Clamp, ldloc:int32[exp:float32](var_4_21), ldloc:int32[exp:float32](var_5_24), ldloc:int32[exp:float32](var_3_1F)))
}
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: 0x0600EA69 RID: 60009 RVA: 0x0035DE14 File Offset: 0x0035C014
[Token(Token = "0x600EA69")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public CouponConsumableInfo()
{
}
// Token: 0x04009A2A RID: 39466
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009A2A")]
public HHOLBEMEIPH DiscountType;
// Token: 0x04009A2B RID: 39467
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4009A2B")]
public DGOHCPBKOHD StorefrontType;
// Token: 0x04009A2C RID: 39468
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009A2C")]
public ACDKILABNNC CurrencyType;
// Token: 0x04009A2D RID: 39469
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4009A2D")]
public int CouponValue;
}
}
@@ -0,0 +1,132 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200241F RID: 9247
[Token(Token = "0x200241F")]
public class CouponConsumableItem : ConsumableItem
{
// Token: 0x17002579 RID: 9593
// (get) Token: 0x0600EB26 RID: 60198 RVA: 0x00360CB8 File Offset: 0x0035EEB8
[Token(Token = "0x17002579")]
public HHOLBEMEIPH FEABCBEJONC
{
[Token(Token = "0x600EB26")]
[Address(RVA = "0x56DD20", Offset = "0x56CD20", VA = "0x18056DD20")]
get
{
return this.discountType;
}
}
// Token: 0x1700257A RID: 9594
// (get) Token: 0x0600EB27 RID: 60199 RVA: 0x00360CCC File Offset: 0x0035EECC
[Token(Token = "0x1700257A")]
public int DMLIOOCLKKP
{
[Token(Token = "0x600EB27")]
[Address(RVA = "0x56DCF0", Offset = "0x56CCF0", VA = "0x18056DCF0")]
get
{
return this.value;
}
}
// Token: 0x1700257B RID: 9595
// (get) Token: 0x0600EB28 RID: 60200 RVA: 0x00360CE0 File Offset: 0x0035EEE0
[Token(Token = "0x1700257B")]
public DGOHCPBKOHD GHOKCIMBEMM
{
[Token(Token = "0x600EB28")]
[Address(RVA = "0x66A4F0", Offset = "0x6694F0", VA = "0x18066A4F0")]
get
{
return this.storefrontType;
}
}
// Token: 0x1700257C RID: 9596
// (get) Token: 0x0600EB29 RID: 60201 RVA: 0x00360CF4 File Offset: 0x0035EEF4
[Token(Token = "0x1700257C")]
public ACDKILABNNC IILDJGJNFIM
{
[Token(Token = "0x600EB29")]
[Address(RVA = "0x7D8270", Offset = "0x7D7270", VA = "0x1807D8270")]
get
{
return this.currencyType;
}
}
// Token: 0x0600EB2A RID: 60202 RVA: 0x00360D08 File Offset: 0x0035EF08
[Token(Token = "0x600EB2A")]
[Address(RVA = "0x1D8EF00", Offset = "0x1D8DF00", VA = "0x181D8EF00")]
public static long GetDiscountedPrice(HHOLBEMEIPH CFHMIOODGOK, long AKBBOKJIHMM, long DENMLCGOKNK)
{
if (CFHMIOODGOK == HHOLBEMEIPH.PERCENTAGE)
{
return KAPMCNBLECN.IDAIJKMGMGB(DENMLCGOKNK, (int)AKBBOKJIHMM);
}
if (CFHMIOODGOK != HHOLBEMEIPH.EXACT_AMOUNT)
{
return DENMLCGOKNK;
}
int num = 0;
int num2 = 0;
int num3 = 0;
float num4 = Mathf.Clamp((float)num2, (float)num3, (float)num);
return DENMLCGOKNK;
}
// Token: 0x0600EB2B RID: 60203 RVA: 0x00360D3C File Offset: 0x0035EF3C
[Token(Token = "0x600EB2B")]
[Address(RVA = "0x1D8EFC0", Offset = "0x1D8DFC0", VA = "0x181D8EFC0", Slot = "5")]
public override ConsumableInfo ToConsumableInfo()
{
CouponConsumableInfo couponConsumableInfo = new CouponConsumableInfo();
HHOLBEMEIPH hholbemeiph = this.discountType;
couponConsumableInfo.DiscountType = hholbemeiph;
DGOHCPBKOHD dgohcpbkohd = this.storefrontType;
couponConsumableInfo.StorefrontType = dgohcpbkohd;
ACDKILABNNC acdkilabnnc = this.currencyType;
couponConsumableInfo.CurrencyType = acdkilabnnc;
int num = this.value;
couponConsumableInfo.CouponValue = num;
throw new NullReferenceException();
}
// Token: 0x0600EB2C RID: 60204 RVA: 0x00360D90 File Offset: 0x0035EF90
[Token(Token = "0x600EB2C")]
[Address(RVA = "0x1D7FD00", Offset = "0x1D7ED00", VA = "0x181D7FD00")]
public CouponConsumableItem()
{
}
// Token: 0x04009A9C RID: 39580
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009A9C")]
[SerializeField]
[Header("Coupon Settings")]
protected HHOLBEMEIPH discountType;
// Token: 0x04009A9D RID: 39581
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x4009A9D")]
[SerializeField]
protected int value;
// Token: 0x04009A9E RID: 39582
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009A9E")]
[SerializeField]
protected DGOHCPBKOHD storefrontType;
// Token: 0x04009A9F RID: 39583
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x4009A9F")]
[SerializeField]
protected ACDKILABNNC currencyType;
}
}
@@ -0,0 +1,142 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using TMPro;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002420 RID: 9248
[Token(Token = "0x2002420")]
public class CouponConsumableTool : ConsumableTool
{
// Token: 0x0600EB2D RID: 60205 RVA: 0x00360DA4 File Offset: 0x0035EFA4
[Token(Token = "0x600EB2D")]
[Address(RVA = "0x1D8F060", Offset = "0x1D8E060", VA = "0x181D8F060", Slot = "13")]
protected override void Awake()
{
base.Awake();
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action = new Action(this.MNCLFHBBPHB);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action);
tool.PostPickupEvent = mfbglihgcgo;
}
// Token: 0x0600EB2E RID: 60206 RVA: 0x00360DE8 File Offset: 0x0035EFE8
[Token(Token = "0x600EB2E")]
[Address(RVA = "0x1D8F480", Offset = "0x1D8E480", VA = "0x181D8F480", Slot = "14")]
protected override void OnDestroy()
{
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action = new Action(this.MNCLFHBBPHB);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action);
tool.PostPickupEvent = mfbglihgcgo;
if (!this.OEJHFGNAGFB)
{
OOCCCGPICOG cknfedppdoo = this.CKNFEDPPDOO;
if (mfbglihgcgo != 0)
{
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
OOCCCGPICOG cknfedppdoo2 = this.CKNFEDPPDOO;
instance.ActivateConsumable(cknfedppdoo2, true);
NotificationManager instance2 = SingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
IDisposable disposable = instance2.Play(NotificationManager.IBIDFAOPIPC.Vital, "Coupon activated!", 3f, num, num);
}
}
base.OnDestroy();
}
// Token: 0x0600EB2F RID: 60207 RVA: 0x00360E7C File Offset: 0x0035F07C
[Token(Token = "0x600EB2F")]
[Address(RVA = "0x1D8F110", Offset = "0x1D8E110", VA = "0x181D8F110", Slot = "15")]
protected override void FIENOGGFMIE(ConsumableInfo BJAHKKNDHKN)
{
ConsumableInfo <ENJFOPBELFF>k__BackingField;
do
{
base.FIENOGGFMIE(BJAHKKNDHKN);
<ENJFOPBELFF>k__BackingField = this.<ENJFOPBELFF>k__BackingField;
if (<ENJFOPBELFF>k__BackingField == 0)
{
}
}
while (<ENJFOPBELFF>k__BackingField == 0);
TextMeshPro textMeshPro = this.mainText;
this.OICOOGLDGMH = <ENJFOPBELFF>k__BackingField;
string text = textMeshPro.text;
TextMeshPro textMeshPro2;
TextMeshPro textMeshPro3;
if (this.OICOOGLDGMH.DiscountType == HHOLBEMEIPH.PERCENTAGE)
{
textMeshPro2 = this.mainText;
textMeshPro2.RecalculateMasking();
string text2 = textMeshPro2.text;
textMeshPro3 = this.subText;
string text3 = textMeshPro3.text;
return;
}
while (textMeshPro3 != (ulong)2L)
{
}
CurrencyManager instance = SingletonMonoBehaviour.ONCPNMDGGKG;
bool shouldLoopAudio = ((AIGLMCILBAF.FAEGFHMMIDB)textMeshPro2).BIILOFOAKEJ;
}
// Token: 0x0600EB30 RID: 60208 RVA: 0x00360F08 File Offset: 0x0035F108
[Token(Token = "0x600EB30")]
[Address(RVA = "0x1D8F360", Offset = "0x1D8E360", VA = "0x181D8F360")]
private void MNCLFHBBPHB(Tool NBHJPDBHDHB)
{
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
OOCCCGPICOG cknfedppdoo = this.CKNFEDPPDOO;
instance.ActivateConsumable(cknfedppdoo, true);
NotificationManager instance2 = SingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
IDisposable disposable = instance2.Play(NotificationManager.IBIDFAOPIPC.Vital, "Coupon activated!", 3f, num, num);
this.OEJHFGNAGFB = true;
Action action = new Action(this.JBLHCCMIJGL);
KFBABPAPIMB kfbabpapimb = this.JGIPMJPPCBM(action);
}
// Token: 0x0600EB31 RID: 60209 RVA: 0x00360F6C File Offset: 0x0035F16C
[Token(Token = "0x600EB31")]
[Address(RVA = "0x1D8F600", Offset = "0x1D8E600", VA = "0x181D8F600")]
public CouponConsumableTool()
{
}
// Token: 0x0600EB32 RID: 60210 RVA: 0x00360F80 File Offset: 0x0035F180
[Token(Token = "0x600EB32")]
[Address(RVA = "0x1D8F300", Offset = "0x1D8E300", VA = "0x181D8F300")]
[CompilerGenerated]
private void JBLHCCMIJGL()
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
// Token: 0x04009AA0 RID: 39584
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4009AA0")]
[SerializeField]
private TextMeshPro mainText;
// Token: 0x04009AA1 RID: 39585
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009AA1")]
[SerializeField]
private TextMeshPro subText;
// Token: 0x04009AA2 RID: 39586
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4009AA2")]
private CouponConsumableInfo OICOOGLDGMH;
// Token: 0x04009AA3 RID: 39587
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4009AA3")]
private bool OEJHFGNAGFB;
}
}
@@ -0,0 +1,84 @@
using System;
using Cpp2IlInjected;
using RecRoom.Core.Pools;
namespace RecRoom.Consumable
{
// Token: 0x02002421 RID: 9249
[Token(Token = "0x2002421")]
public class CustomKOConsumableEffect : ConsumableEffect
{
// Token: 0x0600EB33 RID: 60211 RVA: 0x00360F98 File Offset: 0x0035F198
[Token(Token = "0x600EB33")]
[Address(RVA = "0x1D8F660", Offset = "0x1D8E660", VA = "0x181D8F660", Slot = "13")]
protected override void Awake()
{
base.Awake();
this.<CEKFDODGELA>k__BackingField.Add((uint)5);
}
// Token: 0x0600EB34 RID: 60212 RVA: 0x00360FC0 File Offset: 0x0035F1C0
[Token(Token = "0x600EB34")]
[Address(RVA = "0x1D8F760", Offset = "0x1D8E760", VA = "0x181D8F760")]
public CustomKOEffect GetInstanceOfActiveEffect(bool LOGKHBDLICB = true)
{
string[] array = this.LDIDFEJLBPK.IAHDANBDAAM();
int num = 0;
if (array.Length == num)
{
}
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
string text = array[0];
ConsumableItem orLoadConsumablePrefab = instance.GetOrLoadConsumablePrefab(text);
int num2 = 0;
if (orLoadConsumablePrefab != num2)
{
if (orLoadConsumablePrefab == 0)
{
}
int num3 = 0;
if (orLoadConsumablePrefab != num3)
{
if (LOGKHBDLICB)
{
OOCCCGPICOG[] array2 = this.ACDOAOMJGBF.ToArray();
int length = array2.Length;
if (num < length)
{
OOCCCGPICOG oocccgpicog = array2[num];
base.OCFKJPHFMCH(oocccgpicog, 1);
num++;
}
}
GlobalPool instance2 = GlobalPool.ONCPNMDGGKG;
CustomKOEffect customKOEffect;
return customKOEffect;
}
}
throw new NullReferenceException();
}
// Token: 0x0600EB35 RID: 60213 RVA: 0x0036106C File Offset: 0x0035F26C
[Token(Token = "0x600EB35")]
[Address(RVA = "0x1D8F6C0", Offset = "0x1D8E6C0", VA = "0x181D8F6C0")]
private void GJPJPHBFGNC()
{
OOCCCGPICOG[] array = this.ACDOAOMJGBF.ToArray();
int num = 0;
int length = array.Length;
if (num < length)
{
OOCCCGPICOG oocccgpicog = array[num];
base.OCFKJPHFMCH(oocccgpicog, 1);
num++;
}
}
// Token: 0x0600EB36 RID: 60214 RVA: 0x003610AC File Offset: 0x0035F2AC
[Token(Token = "0x600EB36")]
[Address(RVA = "0x1D8F9E0", Offset = "0x1D8E9E0", VA = "0x181D8F9E0")]
public CustomKOConsumableEffect()
{
}
}
}
@@ -0,0 +1,38 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002422 RID: 9250
[Token(Token = "0x2002422")]
public class CustomKOConsumableItem : ConsumableItem
{
// Token: 0x1700257D RID: 9597
// (get) Token: 0x0600EB37 RID: 60215 RVA: 0x003610C0 File Offset: 0x0035F2C0
[Token(Token = "0x1700257D")]
public CustomKOEffect BLGOJIKBOFB
{
[Token(Token = "0x600EB37")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")]
get
{
return this.customKOPrefab;
}
}
// Token: 0x0600EB38 RID: 60216 RVA: 0x003610D4 File Offset: 0x0035F2D4
[Token(Token = "0x600EB38")]
[Address(RVA = "0x1D7FD00", Offset = "0x1D7ED00", VA = "0x181D7FD00")]
public CustomKOConsumableItem()
{
}
// Token: 0x04009AA4 RID: 39588
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009AA4")]
[SerializeField]
[Header("KO Customization")]
protected CustomKOEffect customKOPrefab;
}
}
@@ -0,0 +1,85 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002423 RID: 9251
[Token(Token = "0x2002423")]
public class DefaultConsumableTool : ConsumableTool
{
// Token: 0x0600EB39 RID: 60217 RVA: 0x003610E8 File Offset: 0x0035F2E8
[Token(Token = "0x600EB39")]
[Address(RVA = "0x1D8FAF0", Offset = "0x1D8EAF0", VA = "0x181D8FAF0", Slot = "13")]
protected override void Awake()
{
base.Awake();
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action = new Action(this.MNCLFHBBPHB);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action);
tool.PostPickupEvent = mfbglihgcgo;
}
// Token: 0x0600EB3A RID: 60218 RVA: 0x0036112C File Offset: 0x0035F32C
[Token(Token = "0x600EB3A")]
[Address(RVA = "0x1D8FD40", Offset = "0x1D8ED40", VA = "0x181D8FD40", Slot = "14")]
protected override void OnDestroy()
{
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action = new Action(this.MNCLFHBBPHB);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action);
tool.PostPickupEvent = mfbglihgcgo;
base.LHBLHBEIFKA();
base.OnDestroy();
}
// Token: 0x0600EB3B RID: 60219 RVA: 0x00361178 File Offset: 0x0035F378
[Token(Token = "0x600EB3B")]
[Address(RVA = "0x1D8FBA0", Offset = "0x1D8EBA0", VA = "0x181D8FBA0", Slot = "15")]
protected override void FIENOGGFMIE(ConsumableInfo FNPFHJHDDAC)
{
base.FIENOGGFMIE(FNPFHJHDDAC);
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
string consumableItemDesc = this.<ENJFOPBELFF>k__BackingField.ConsumableItemDesc;
Transform transform = instance.GetOrLoadConsumablePrefab(consumableItemDesc).visualRoot;
Transform transform2 = this.visualRoot;
int num = 0;
Transform transform3 = global::UnityEngine.Object.Instantiate<Transform>(transform, transform2, num != 0);
}
// Token: 0x0600EB3C RID: 60220 RVA: 0x003611C8 File Offset: 0x0035F3C8
[Token(Token = "0x600EB3C")]
[Address(RVA = "0x1D8FC70", Offset = "0x1D8EC70", VA = "0x181D8FC70")]
private void MNCLFHBBPHB(Tool NBHJPDBHDHB)
{
base.LHBLHBEIFKA();
Action action = new Action(this.ONAALNFGKAF);
KFBABPAPIMB kfbabpapimb = this.JGIPMJPPCBM(action);
}
// Token: 0x0600EB3D RID: 60221 RVA: 0x003611F0 File Offset: 0x0035F3F0
[Token(Token = "0x600EB3D")]
[Address(RVA = "0x1D8FE00", Offset = "0x1D8EE00", VA = "0x181D8FE00")]
public DefaultConsumableTool()
{
}
// Token: 0x0600EB3E RID: 60222 RVA: 0x00361204 File Offset: 0x0035F404
[Token(Token = "0x600EB3E")]
[Address(RVA = "0x1D8FCE0", Offset = "0x1D8ECE0", VA = "0x181D8FCE0")]
[CompilerGenerated]
private void ONAALNFGKAF()
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
// Token: 0x04009AA5 RID: 39589
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4009AA5")]
[SerializeField]
protected Transform visualRoot;
}
}
@@ -0,0 +1,37 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002424 RID: 9252
[Token(Token = "0x2002424")]
public class FoodConsumableItem : ConsumableItem
{
// Token: 0x1700257E RID: 9598
// (get) Token: 0x0600EB3F RID: 60223 RVA: 0x0036121C File Offset: 0x0035F41C
[Token(Token = "0x1700257E")]
public EquipmentSkin BFENKJBKJBD
{
[Token(Token = "0x600EB3F")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")]
get
{
return this.foodSkin;
}
}
// Token: 0x0600EB40 RID: 60224 RVA: 0x00361230 File Offset: 0x0035F430
[Token(Token = "0x600EB40")]
[Address(RVA = "0x1D7FD00", Offset = "0x1D7ED00", VA = "0x181D7FD00")]
public FoodConsumableItem()
{
}
// Token: 0x04009AA6 RID: 39590
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009AA6")]
[SerializeField]
protected EquipmentSkin foodSkin;
}
}
@@ -0,0 +1,18 @@
using System;
using Cpp2IlInjected;
namespace RecRoom.Consumable
{
// Token: 0x020023FF RID: 9215
[Token(Token = "0x20023FF")]
[Serializable]
public class GenericConsumableInfo : ConsumableInfo
{
// Token: 0x0600EA65 RID: 60005 RVA: 0x0035DD60 File Offset: 0x0035BF60
[Token(Token = "0x600EA65")]
[Address(RVA = "0x42BA20", Offset = "0x42AA20", VA = "0x18042BA20")]
public GenericConsumableInfo()
{
}
}
}
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace RecRoom.Consumable
{
// Token: 0x02002400 RID: 9216
[Token(Token = "0x2002400")]
[Serializable]
public class HairDyeConsumableInfo : ConsumableInfo
{
// Token: 0x0600EA66 RID: 60006 RVA: 0x0035DD74 File Offset: 0x0035BF74
[Token(Token = "0x600EA66")]
[Address(RVA = "0x42BA20", Offset = "0x42AA20", VA = "0x18042BA20")]
public HairDyeConsumableInfo()
{
}
// Token: 0x04009A29 RID: 39465
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009A29")]
public string HairColorGUID;
}
}
@@ -0,0 +1,42 @@
using System;
using Cpp2IlInjected;
namespace RecRoom.Consumable
{
// Token: 0x02002425 RID: 9253
[Token(Token = "0x2002425")]
public class HairDyePotionConsumableEffect : ConsumableEffect
{
// Token: 0x0600EB41 RID: 60225 RVA: 0x00361244 File Offset: 0x0035F444
[Token(Token = "0x600EB41")]
[Address(RVA = "0x1ECA5F0", Offset = "0x1EC95F0", VA = "0x181ECA5F0", Slot = "13")]
protected override void Awake()
{
base.Awake();
this.<CEKFDODGELA>k__BackingField.Add((uint)6);
}
// Token: 0x0600EB42 RID: 60226 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600EB42")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "16")]
protected override void IEKANKBCIBP(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600EB43 RID: 60227 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600EB43")]
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "17")]
protected override void HHBCNEEODDB(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600EB44 RID: 60228 RVA: 0x0036126C File Offset: 0x0035F46C
[Token(Token = "0x600EB44")]
[Address(RVA = "0x1ECA650", Offset = "0x1EC9650", VA = "0x181ECA650")]
public HairDyePotionConsumableEffect()
{
}
}
}
@@ -0,0 +1,66 @@
using System;
using Cpp2IlInjected;
using RecRoom.Avatars;
using RecRoom.Avatars.Outfit;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002426 RID: 9254
[Token(Token = "0x2002426")]
public class HairDyePotionConsumableItem : ConsumableItem
{
// Token: 0x1700257F RID: 9599
// (get) Token: 0x0600EB45 RID: 60229 RVA: 0x00361280 File Offset: 0x0035F480
[Token(Token = "0x1700257F")]
public string GFOABAHHBPO
{
[Token(Token = "0x600EB45")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")]
get
{
return this.colorGuid;
}
}
// Token: 0x17002580 RID: 9600
// (get) Token: 0x0600EB46 RID: 60230 RVA: 0x00361294 File Offset: 0x0035F494
[Token(Token = "0x17002580")]
public ColorVault.ColorToGuid EGPPAIIEJFM
{
[Token(Token = "0x600EB46")]
[Address(RVA = "0x1ECA740", Offset = "0x1EC9740", VA = "0x181ECA740")]
get
{
OutfitManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
string text = this.colorGuid;
return instance.FindSkinColor(text, true);
}
}
// Token: 0x0600EB47 RID: 60231 RVA: 0x003612BC File Offset: 0x0035F4BC
[Token(Token = "0x600EB47")]
[Address(RVA = "0x1ECA6B0", Offset = "0x1EC96B0", VA = "0x181ECA6B0", Slot = "5")]
public override ConsumableInfo ToConsumableInfo()
{
HairDyeConsumableInfo hairDyeConsumableInfo = new HairDyeConsumableInfo();
string text = this.colorGuid;
hairDyeConsumableInfo.HairColorGUID = text;
throw new NullReferenceException();
}
// Token: 0x0600EB48 RID: 60232 RVA: 0x003612E4 File Offset: 0x0035F4E4
[Token(Token = "0x600EB48")]
[Address(RVA = "0x1D7FD00", Offset = "0x1D7ED00", VA = "0x181D7FD00")]
public HairDyePotionConsumableItem()
{
}
// Token: 0x04009AA7 RID: 39591
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009AA7")]
[SerializeField]
[Header("Hair dye potion")]
protected string colorGuid;
}
}
@@ -0,0 +1,202 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.Core.Gestures;
using RecRoom.Core.Pools;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002427 RID: 9255
[Token(Token = "0x2002427")]
public class HandPotionConsumableEffect : ConsumableEffect
{
// Token: 0x0600EB49 RID: 60233 RVA: 0x003612F8 File Offset: 0x0035F4F8
[Token(Token = "0x600EB49")]
[Address(RVA = "0x1ECA7B0", Offset = "0x1EC97B0", VA = "0x181ECA7B0", Slot = "13")]
protected override void Awake()
{
base.Awake();
this.<CEKFDODGELA>k__BackingField.Add((uint)3);
}
// Token: 0x0600EB4A RID: 60234 RVA: 0x00361320 File Offset: 0x0035F520
[Token(Token = "0x600EB4A")]
[Address(RVA = "0x1ECAA50", Offset = "0x1EC9A50", VA = "0x181ECAA50", Slot = "16")]
protected override void IEKANKBCIBP(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
base.IEKANKBCIBP(ALMOGLHMFHL, CPNHCODHDAD);
if (ALMOGLHMFHL == 0)
{
}
int num = 0;
if (ALMOGLHMFHL != num)
{
if (CPNHCODHDAD)
{
PlayerHand playerHand = this.myHand;
string text = ALMOGLHMFHL.friendlyName + " activated";
base.KOEKICOBBKF(text);
}
PlayerHand playerHand2 = this.myHand;
IILCGFIHJLP<PlayerHand, Tool> pickupToolEvent = playerHand2.PickupToolEvent;
Action<PlayerHand, Tool> action = new Action(this.MADAMADCJNN);
IILCGFIHJLP<PlayerHand, Tool> iilcgfihjlp = IILCGFIHJLP.BPJDFPACLMK(pickupToolEvent, action);
playerHand2.PickupToolEvent = iilcgfihjlp;
PlayerHand playerHand3 = this.myHand;
IILCGFIHJLP<PlayerHand, Tool> releaseToolEvent = playerHand3.ReleaseToolEvent;
Action<PlayerHand, Tool> action2 = new Action(this.OGHNKALGNEJ);
IILCGFIHJLP<PlayerHand, Tool> iilcgfihjlp2 = IILCGFIHJLP.BPJDFPACLMK(releaseToolEvent, action2);
playerHand3.ReleaseToolEvent = iilcgfihjlp2;
PlayerHandGestures gestures = this.myHand._gestures;
PlayerHandGestures.OGGNBMJDKKO oggnbmjdkko = new PlayerHandGestures.OGGNBMJDKKO(this.NAABCHABGKF);
gestures.HPOKCPNGHEF += oggnbmjdkko;
this.myHand._gestures.SuppressHighFive();
}
}
// Token: 0x0600EB4B RID: 60235 RVA: 0x00361410 File Offset: 0x0035F610
[Token(Token = "0x600EB4B")]
[Address(RVA = "0x1ECA810", Offset = "0x1EC9810", VA = "0x181ECA810", Slot = "17")]
protected override void HHBCNEEODDB(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
base.HHBCNEEODDB(ALMOGLHMFHL, CPNHCODHDAD);
if (ALMOGLHMFHL == 0)
{
}
int num = 0;
if (ALMOGLHMFHL != num)
{
if (CPNHCODHDAD)
{
PlayerHand playerHand = this.myHand;
string text = ALMOGLHMFHL.friendlyName + " deactivated";
base.KOEKICOBBKF(text);
}
PlayerHand playerHand2 = this.myHand;
IILCGFIHJLP<PlayerHand, Tool> pickupToolEvent = playerHand2.PickupToolEvent;
Action<PlayerHand, Tool> action = new Action(this.MADAMADCJNN);
IILCGFIHJLP<PlayerHand, Tool> iilcgfihjlp = IILCGFIHJLP.GMNMHGMFGOL(pickupToolEvent, action);
playerHand2.PickupToolEvent = iilcgfihjlp;
PlayerHand playerHand3 = this.myHand;
IILCGFIHJLP<PlayerHand, Tool> releaseToolEvent = playerHand3.ReleaseToolEvent;
Action<PlayerHand, Tool> action2 = new Action(this.OGHNKALGNEJ);
IILCGFIHJLP<PlayerHand, Tool> iilcgfihjlp2 = IILCGFIHJLP.GMNMHGMFGOL(releaseToolEvent, action2);
playerHand3.ReleaseToolEvent = iilcgfihjlp2;
PlayerHandGestures gestures = this.myHand._gestures;
PlayerHandGestures.OGGNBMJDKKO oggnbmjdkko = new PlayerHandGestures.OGGNBMJDKKO(this.NAABCHABGKF);
gestures.HPOKCPNGHEF -= oggnbmjdkko;
this.myHand._gestures.UnsuppressHighFive();
}
}
// Token: 0x0600EB4C RID: 60236 RVA: 0x00361500 File Offset: 0x0035F700
[Token(Token = "0x600EB4C")]
[Address(RVA = "0x1ECAC90", Offset = "0x1EC9C90", VA = "0x181ECAC90")]
private void MADAMADCJNN(PlayerHand ONFJHABGCIP, Tool EGFEJGHDNAI)
{
int num;
do
{
num = 0;
Dictionary<string, GameObject>.ValueCollection valueCollection = base.PGHKOFAMNJA();
bool flag;
if (flag)
{
}
}
while (num != 0);
}
// Token: 0x0600EB4D RID: 60237 RVA: 0x00361528 File Offset: 0x0035F728
[Token(Token = "0x600EB4D")]
[Address(RVA = "0x1ECB230", Offset = "0x1ECA230", VA = "0x181ECB230")]
private void OGHNKALGNEJ(PlayerHand ONFJHABGCIP, Tool EGFEJGHDNAI)
{
int num;
do
{
num = 0;
Dictionary<string, GameObject>.ValueCollection valueCollection = base.PGHKOFAMNJA();
bool flag;
if (flag)
{
}
}
while (num != 0);
}
// Token: 0x0600EB4E RID: 60238 RVA: 0x0036154C File Offset: 0x0035F74C
[Token(Token = "0x600EB4E")]
[Address(RVA = "0x1ECADB0", Offset = "0x1EC9DB0", VA = "0x181ECADB0")]
private void NAABCHABGKF(PlayerHand JEDDOIPMCMC, PlayerHand GBEAALMHMBE, PlayerHandGestures.FHEGMOCKLHA LDMFCILCLPG, [Optional] Player JKICGKMBIMP, [Optional] Player LDFLMCNJOIF)
{
PlayerHand playerHand = this.myHand;
if (!(JEDDOIPMCMC == playerHand))
{
PlayerHand playerHand2 = this.myHand;
if (!(GBEAALMHMBE == playerHand2))
{
return;
}
}
if (LDMFCILCLPG == PlayerHandGestures.FHEGMOCKLHA.Highfive)
{
ConsumableItem consumableItem = base.PHILEFGALDN();
if (consumableItem == 0)
{
}
int num = 0;
if (consumableItem != num)
{
int num2 = 0;
bool flag = GBEAALMHMBE == num2;
PlayerHand playerHand3 = this.myHand;
if (flag)
{
Transform transform = playerHand3.transform;
}
Vector3 vector;
float z = vector.z;
Transform transform2 = GBEAALMHMBE.transform;
Vector3 vector2;
float z2 = vector2.z;
Vector3 vector3;
float z3 = vector3.z;
Vector3 vector4;
float z4 = vector4.z;
int num3 = 0;
bool flag2;
if (flag2)
{
PooledParticle pooledParticle = GlobalPool.ONCPNMDGGKG.Acquire<PooledParticle>(num3);
int num4 = 0;
if (pooledParticle != num4)
{
Transform transform3 = pooledParticle.transform;
}
}
int num5 = 0;
if (consumableItem != num5)
{
}
}
}
}
// Token: 0x0600EB4F RID: 60239 RVA: 0x00361640 File Offset: 0x0035F840
[Token(Token = "0x600EB4F")]
[Address(RVA = "0x1ECB350", Offset = "0x1ECA350", VA = "0x181ECB350")]
public HandPotionConsumableEffect()
{
}
// Token: 0x04009AA8 RID: 39592
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009AA8")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
private PlayerHand myHand;
}
}
@@ -0,0 +1,58 @@
using System;
using Cpp2IlInjected;
using RecRoom.Core.Pools;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002428 RID: 9256
[Token(Token = "0x2002428")]
public class HandPotionConsumableItem : ConsumableItem
{
// Token: 0x17002581 RID: 9601
// (get) Token: 0x0600EB50 RID: 60240 RVA: 0x00361654 File Offset: 0x0035F854
[Token(Token = "0x17002581")]
public PooledParticle ILNJDIBBKPM
{
[Token(Token = "0x600EB50")]
[Address(RVA = "0x417710", Offset = "0x416710", VA = "0x180417710")]
get
{
return this.particleEffectObject;
}
}
// Token: 0x17002582 RID: 9602
// (get) Token: 0x0600EB51 RID: 60241 RVA: 0x00361668 File Offset: 0x0035F868
[Token(Token = "0x17002582")]
public AudioClip DAKFMMOODOL
{
[Token(Token = "0x600EB51")]
[Address(RVA = "0x417720", Offset = "0x416720", VA = "0x180417720")]
get
{
return this.onGestureAudio;
}
}
// Token: 0x0600EB52 RID: 60242 RVA: 0x0036167C File Offset: 0x0035F87C
[Token(Token = "0x600EB52")]
[Address(RVA = "0x1D7FD00", Offset = "0x1D7ED00", VA = "0x181D7FD00")]
public HandPotionConsumableItem()
{
}
// Token: 0x04009AA9 RID: 39593
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009AA9")]
[SerializeField]
[Header("Hand potion")]
protected PooledParticle particleEffectObject;
// Token: 0x04009AAA RID: 39594
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009AAA")]
[SerializeField]
protected AudioClip onGestureAudio;
}
}
@@ -0,0 +1,114 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002429 RID: 9257
[Token(Token = "0x2002429")]
public class HeadPotionConsumableEffect : ConsumableEffect
{
// Token: 0x0600EB53 RID: 60243 RVA: 0x00361690 File Offset: 0x0035F890
[Token(Token = "0x600EB53")]
[Address(RVA = "0x1ECB3B0", Offset = "0x1ECA3B0", VA = "0x181ECB3B0", Slot = "13")]
protected override void Awake()
{
base.Awake();
this.<CEKFDODGELA>k__BackingField.Add((uint)2);
}
// Token: 0x0600EB54 RID: 60244 RVA: 0x003616B8 File Offset: 0x0035F8B8
[Token(Token = "0x600EB54")]
[Address(RVA = "0x1ECB630", Offset = "0x1ECA630", VA = "0x181ECB630", Slot = "16")]
protected override void IEKANKBCIBP(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
base.IEKANKBCIBP(ALMOGLHMFHL, CPNHCODHDAD);
if (ALMOGLHMFHL == 0)
{
}
int num = 0;
if (ALMOGLHMFHL != num)
{
if (CPNHCODHDAD)
{
Player player = this.myPlayer;
string text = ALMOGLHMFHL.friendlyName + " activated";
base.KOEKICOBBKF(text);
AudioClip audioClip = this.inflateSound;
int num2 = 0;
if (audioClip != num2)
{
Player player2 = this.myPlayer;
AudioClip audioClip2 = this.inflateSound;
Transform transform = player2.head.transform;
}
}
Player player3 = this.myPlayer;
float num3 = this.inflatedHeadScale;
player3.SetHeadScale(num3);
}
}
// Token: 0x0600EB55 RID: 60245 RVA: 0x0036175C File Offset: 0x0035F95C
[Token(Token = "0x600EB55")]
[Address(RVA = "0x1ECB410", Offset = "0x1ECA410", VA = "0x181ECB410", Slot = "17")]
protected override void HHBCNEEODDB(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
base.HHBCNEEODDB(ALMOGLHMFHL, CPNHCODHDAD);
if (ALMOGLHMFHL == 0)
{
}
int num = 0;
if (ALMOGLHMFHL != num)
{
if (CPNHCODHDAD)
{
Player player = this.myPlayer;
string text = ALMOGLHMFHL.friendlyName + " deactivated";
base.KOEKICOBBKF(text);
AudioClip audioClip = this.deflateSound;
int num2 = 0;
if (audioClip != num2)
{
Player player2 = this.myPlayer;
AudioClip audioClip2 = this.deflateSound;
Transform transform = player2.head.transform;
}
}
this.myPlayer.SetHeadScale(1f);
}
}
// Token: 0x0600EB56 RID: 60246 RVA: 0x003617F4 File Offset: 0x0035F9F4
[Token(Token = "0x600EB56")]
[Address(RVA = "0x1ECB840", Offset = "0x1ECA840", VA = "0x181ECB840")]
public HeadPotionConsumableEffect()
{
}
// Token: 0x04009AAB RID: 39595
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009AAB")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
private Player myPlayer;
// Token: 0x04009AAC RID: 39596
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4009AAC")]
[SerializeField]
private AudioClip inflateSound;
// Token: 0x04009AAD RID: 39597
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4009AAD")]
[SerializeField]
private AudioClip deflateSound;
// Token: 0x04009AAE RID: 39598
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x4009AAE")]
[SerializeField]
private float inflatedHeadScale = 2f;
}
}
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace RecRoom.Consumable
{
// Token: 0x02002402 RID: 9218
[Token(Token = "0x2002402")]
[Serializable]
public class HeadPotionConsumableInfo : ConsumableInfo
{
// Token: 0x0600EA6A RID: 60010 RVA: 0x0035DE28 File Offset: 0x0035C028
[Token(Token = "0x600EA6A")]
[Address(RVA = "0x42BA20", Offset = "0x42AA20", VA = "0x18042BA20")]
public HeadPotionConsumableInfo()
{
}
// Token: 0x04009A2E RID: 39470
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009A2E")]
public HeadPotionConsumableItem.HAIOIEHFIOH PotionType;
}
}
@@ -0,0 +1,61 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200242A RID: 9258
[Token(Token = "0x200242A")]
public class HeadPotionConsumableItem : ConsumableItem
{
// Token: 0x17002583 RID: 9603
// (get) Token: 0x0600EB57 RID: 60247 RVA: 0x00361814 File Offset: 0x0035FA14
[Token(Token = "0x17002583")]
public HeadPotionConsumableItem.HAIOIEHFIOH BPOJHOFMKOO
{
[Token(Token = "0x600EB57")]
[Address(RVA = "0x56DD20", Offset = "0x56CD20", VA = "0x18056DD20")]
get
{
return this.potionType;
}
}
// Token: 0x0600EB58 RID: 60248 RVA: 0x00361828 File Offset: 0x0035FA28
[Token(Token = "0x600EB58")]
[Address(RVA = "0x1ECB8A0", Offset = "0x1ECA8A0", VA = "0x181ECB8A0", Slot = "5")]
public override ConsumableInfo ToConsumableInfo()
{
HeadPotionConsumableInfo headPotionConsumableInfo = new HeadPotionConsumableInfo();
HeadPotionConsumableItem.HAIOIEHFIOH haioiehfioh = this.potionType;
headPotionConsumableInfo.PotionType = haioiehfioh;
throw new NullReferenceException();
}
// Token: 0x0600EB59 RID: 60249 RVA: 0x00361850 File Offset: 0x0035FA50
[Token(Token = "0x600EB59")]
[Address(RVA = "0x1D7FD00", Offset = "0x1D7ED00", VA = "0x181D7FD00")]
public HeadPotionConsumableItem()
{
}
// Token: 0x04009AAF RID: 39599
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009AAF")]
[SerializeField]
[Header("Head potion")]
protected HeadPotionConsumableItem.HAIOIEHFIOH potionType;
// Token: 0x0200242B RID: 9259
[Token(Token = "0x200242B")]
public enum HAIOIEHFIOH
{
// Token: 0x04009AB1 RID: 39601
[Token(Token = "0x4009AB1")]
INVALID,
// Token: 0x04009AB2 RID: 39602
[Token(Token = "0x4009AB2")]
DKMode
}
}
}
@@ -0,0 +1,96 @@
using System;
using Cpp2IlInjected;
using RecRoom.Activities.Quest.Goblin2;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200242C RID: 9260
[Token(Token = "0x200242C")]
public class PotionConsumableTool : ConsumableTool
{
// Token: 0x0600EB5A RID: 60250 RVA: 0x00361864 File Offset: 0x0035FA64
[Token(Token = "0x600EB5A")]
[Address(RVA = "0x1ECBBF0", Offset = "0x1ECABF0", VA = "0x181ECBBF0", Slot = "13")]
protected override void Awake()
{
base.Awake();
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postReleaseEvent = tool.PostReleaseEvent;
Action<Tool> action = new Action(this.PDEEFICICFG);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postReleaseEvent, action);
tool.PostReleaseEvent = mfbglihgcgo;
Potion potion = this.potion;
Potion.JICLAAJLNCE jiclaajlnce = new Potion.JICLAAJLNCE(this.BHFMPLDIHFG);
potion.AOFFBPHMBBP += jiclaajlnce;
}
// Token: 0x0600EB5B RID: 60251 RVA: 0x003618C8 File Offset: 0x0035FAC8
[Token(Token = "0x600EB5B")]
[Address(RVA = "0x1ECBDA0", Offset = "0x1ECADA0", VA = "0x181ECBDA0", Slot = "14")]
protected override void OnDestroy()
{
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postReleaseEvent = tool.PostReleaseEvent;
Action<Tool> action = new Action(this.PDEEFICICFG);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postReleaseEvent, action);
tool.PostReleaseEvent = mfbglihgcgo;
Potion potion = this.potion;
Potion.JICLAAJLNCE jiclaajlnce = new Potion.JICLAAJLNCE(this.BHFMPLDIHFG);
potion.AOFFBPHMBBP -= jiclaajlnce;
base.OnDestroy();
}
// Token: 0x0600EB5C RID: 60252 RVA: 0x0036192C File Offset: 0x0035FB2C
[Token(Token = "0x600EB5C")]
[Address(RVA = "0x1ECBEA0", Offset = "0x1ECAEA0", VA = "0x181ECBEA0")]
private void PDEEFICICFG(Tool NBHJPDBHDHB)
{
if (!this.OEJHFGNAGFB && !this.tool.NDKHDFJHGPP)
{
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField = this.tool.<FLFJCIPBAPA>k__BackingField;
int num = 0;
if (<FLFJCIPBAPA>k__BackingField != num && this.tool.<FLFJCIPBAPA>k__BackingField.<EPECNEBCMLG>k__BackingField == PlayerSpawnedEquipment.IILDIBHEIDO.GiftBox)
{
base.LHBLHBEIFKA();
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
return;
}
}
}
// Token: 0x0600EB5D RID: 60253 RVA: 0x00361994 File Offset: 0x0035FB94
[Token(Token = "0x600EB5D")]
[Address(RVA = "0x1ECBCF0", Offset = "0x1ECACF0", VA = "0x181ECBCF0")]
private void BHFMPLDIHFG(Potion GCEPCEDMAHI, AGAJMBPABDL IEKDDPPNFPF)
{
OOCCCGPICOG cknfedppdoo = this.CKNFEDPPDOO;
if (IEKDDPPNFPF != 0 && IEKDDPPNFPF.DMKCIEPGGAB)
{
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
OOCCCGPICOG cknfedppdoo2 = this.CKNFEDPPDOO;
instance.ActivateConsumable(cknfedppdoo2, true);
this.OEJHFGNAGFB = true;
}
}
// Token: 0x0600EB5E RID: 60254 RVA: 0x003619D8 File Offset: 0x0035FBD8
[Token(Token = "0x600EB5E")]
[Address(RVA = "0x1ECBFB0", Offset = "0x1ECAFB0", VA = "0x181ECBFB0")]
public PotionConsumableTool()
{
}
// Token: 0x04009AB3 RID: 39603
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4009AB3")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
protected Potion potion;
// Token: 0x04009AB4 RID: 39604
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009AB4")]
private bool OEJHFGNAGFB;
}
}
@@ -0,0 +1,305 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200242D RID: 9261
[Token(Token = "0x200242D")]
[RequireComponent(typeof(ToolSet))]
[RequireComponent(typeof(Tool))]
public class SpawnerConsumableTool : ConsumableTool
{
// Token: 0x0600EB5F RID: 60255 RVA: 0x003619EC File Offset: 0x0035FBEC
[Token(Token = "0x600EB5F")]
[Address(RVA = "0x1ECC090", Offset = "0x1ECB090", VA = "0x181ECC090", Slot = "13")]
protected override void Awake()
{
base.Awake();
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postStartEvent = tool.PostStartEvent;
Action<Tool> action = new Action(this.HJNEACLFGCO);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postStartEvent, action);
tool.PostStartEvent = mfbglihgcgo;
Tool tool2 = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool2.PostPickupEvent;
Action<Tool> action2 = new Action(this.MNCLFHBBPHB);
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action2);
tool2.PostPickupEvent = mfbglihgcgo2;
ToolSet toolSet = this.toolSet;
Action<List<Tool>> action3 = new Action(this.JMENIIMAPPH);
toolSet.OnPiecesSpawned += action3;
}
// Token: 0x0600EB60 RID: 60256 RVA: 0x00361A84 File Offset: 0x0035FC84
[Token(Token = "0x600EB60")]
[Address(RVA = "0x1ECC7B0", Offset = "0x1ECB7B0", VA = "0x181ECC7B0", Slot = "14")]
protected override void OnDestroy()
{
Tool tool = this.tool;
MFBGLIHGCGO<Tool> postStartEvent = tool.PostStartEvent;
Action<Tool> action = new Action(this.HJNEACLFGCO);
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postStartEvent, action);
tool.PostStartEvent = mfbglihgcgo;
Tool tool2 = this.tool;
MFBGLIHGCGO<Tool> postPickupEvent = tool2.PostPickupEvent;
Action<Tool> action2 = new Action(this.MNCLFHBBPHB);
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action2);
tool2.PostPickupEvent = mfbglihgcgo2;
ToolSet toolSet = this.toolSet;
Action<List<Tool>> action3 = new Action(this.JMENIIMAPPH);
toolSet.OnPiecesSpawned -= action3;
base.OnDestroy();
}
// Token: 0x0600EB61 RID: 60257 RVA: 0x00361B1C File Offset: 0x0035FD1C
[Token(Token = "0x600EB61")]
[Address(RVA = "0x1ECC1E0", Offset = "0x1ECB1E0", VA = "0x181ECC1E0")]
private void HJNEACLFGCO(Tool NBHJPDBHDHB)
{
if (!this.tool.NDKHDFJHGPP)
{
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField = this.tool.<FLFJCIPBAPA>k__BackingField;
int num = 0;
if (<FLFJCIPBAPA>k__BackingField == num)
{
RecRoomAudioClip toolConsumableSpawnedAudio = SingletonMonoBehaviour.ONCPNMDGGKG.ToolConsumableSpawnedAudio;
Transform transform = base.transform;
Vector3 vector;
float z = vector.z;
}
}
}
// Token: 0x0600EB62 RID: 60258 RVA: 0x00361B70 File Offset: 0x0035FD70
[Token(Token = "0x600EB62")]
[Address(RVA = "0x1ECC650", Offset = "0x1ECB650", VA = "0x181ECC650")]
private void MNCLFHBBPHB(Tool NBHJPDBHDHB)
{
if (!this.HCJBMDICMFA && !this.tool.NDKHDFJHGPP)
{
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField = this.tool.<FLFJCIPBAPA>k__BackingField;
int num = 0;
if (<FLFJCIPBAPA>k__BackingField != num && this.tool.<FLFJCIPBAPA>k__BackingField.<EPECNEBCMLG>k__BackingField == PlayerSpawnedEquipment.IILDIBHEIDO.GiftBox)
{
base.LHBLHBEIFKA();
Action action = new Action(this.OKDFPAHGALB);
KFBABPAPIMB kfbabpapimb = this.JGIPMJPPCBM(action);
}
}
}
// Token: 0x0600EB63 RID: 60259 RVA: 0x00361BE0 File Offset: 0x0035FDE0
[Token(Token = "0x600EB63")]
[Address(RVA = "0x1ECC330", Offset = "0x1ECB330", VA = "0x181ECC330")]
private void JMENIIMAPPH(List<Tool> LCMLJHDFCOJ)
{
int num;
do
{
num = 0;
SpawnerConsumableTool.MEFHBFJPFFA mefhbfjpffa = new SpawnerConsumableTool.MEFHBFJPFFA();
mefhbfjpffa.<>4__this = this;
mefhbfjpffa.pieces = LCMLJHDFCOJ;
List<Tool> pieces = mefhbfjpffa.pieces;
Predicate<Tool> <>9__6_ = SpawnerConsumableTool.<>c.<>9__6_0;
if (<>9__6_ == 0)
{
SpawnerConsumableTool.<>c.<>9__6_0 = delegate(Tool c)
{
ConsumableSpawnedContainerToolPiece component = c.GetComponent<ConsumableSpawnedContainerToolPiece>();
int num2 = 0;
return component != num2;
};
}
List<Tool> list = ECNNGIFNNNM.FHAOCJFENEF<Tool>(pieces, <>9__6_);
ConsumableInfo consumableInfo = this.CKNFEDPPDOO.LENBPGEABJK();
ConsumableInfo info = consumableInfo;
bool flag;
if (flag)
{
SpawnerConsumableTool.MEFHBFJPFFA cs$<>8__locals = mefhbfjpffa;
ConsumableInfo info2 = info;
List<Tool> pieces2 = cs$<>8__locals.pieces;
ConsumableSpawnedContainerToolPiece consumableSpawnedContainerToolPiece;
consumableSpawnedContainerToolPiece.SetNonHolderPieces(pieces2, info2);
}
}
while (num != 0);
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
OOCCCGPICOG cknfedppdoo = this.CKNFEDPPDOO;
BPHGKAEDBPE.CBEOHBCIPEA cbeohbcipea = delegate(string error)
{
long <JPAOOKPLEDB>k__BackingField = kpjinbneaol.CS$<>8__locals1.<>4__this.CKNFEDPPDOO.<JPAOOKPLEDB>k__BackingField;
ConsumableInfo info3 = kpjinbneaol.info;
if (info3 != 0)
{
ConsumableManager.KIDKMAOBOIG category = info3.Category;
}
Debug.LogError(string.Format("Consumable Id:{0} Category:{1} can not be consumed: {2}", <JPAOOKPLEDB>k__BackingField, <JPAOOKPLEDB>k__BackingField, error));
SpawnerConsumableTool.MEFHBFJPFFA cs$<>8__locals2 = kpjinbneaol.CS$<>8__locals1;
Action <>9__ = cs$<>8__locals2.<>9__2;
SpawnerConsumableTool <>4__this = cs$<>8__locals2.<>4__this;
Action action;
if (<>9__ == 0)
{
action = delegate
{
Tool[] array = cs$<>8__locals2.pieces.ToArray();
int num3 = 0;
int length = array.Length;
if (num3 < length)
{
Tool tool = array[num3];
OKIMOMGKKDH ekjclgjfign = OKIMOMGKKDH.EKJCLGJFIGN;
tool.IKEGONLJBPP = ekjclgjfign;
KKPBCOOONNK.HMLHHNMGNAA(tool.gameObject);
num3++;
}
};
cs$<>8__locals2.<>9__2 = action;
}
KFBABPAPIMB kfbabpapimb = <>4__this.JGIPMJPPCBM(action);
};
IEnumerator enumerator = instance.UseConsumable(cknfedppdoo, 1, cbeohbcipea);
this.HCJBMDICMFA = true;
}
// Token: 0x0600EB64 RID: 60260 RVA: 0x00361CD4 File Offset: 0x0035FED4
[Token(Token = "0x600EB64")]
[Address(RVA = "0x1ECC900", Offset = "0x1ECB900", VA = "0x181ECC900")]
public SpawnerConsumableTool()
{
}
// Token: 0x0600EB65 RID: 60261 RVA: 0x00361CE8 File Offset: 0x0035FEE8
[Token(Token = "0x600EB65")]
[Address(RVA = "0x1ECC750", Offset = "0x1ECB750", VA = "0x181ECC750")]
[CompilerGenerated]
private void OKDFPAHGALB()
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
// Token: 0x04009AB5 RID: 39605
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4009AB5")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
private ToolSet toolSet;
// Token: 0x04009AB6 RID: 39606
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009AB6")]
private bool HCJBMDICMFA;
// Token: 0x0200242E RID: 9262
[Token(Token = "0x200242E")]
[CompilerGenerated]
private sealed class MEFHBFJPFFA
{
// Token: 0x0600EB66 RID: 60262 RVA: 0x00361D00 File Offset: 0x0035FF00
[Token(Token = "0x600EB66")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public MEFHBFJPFFA()
{
}
// Token: 0x0600EB67 RID: 60263 RVA: 0x00361D14 File Offset: 0x0035FF14
[Token(Token = "0x600EB67")]
[Address(RVA = "0x1ECBAC0", Offset = "0x1ECAAC0", VA = "0x181ECBAC0")]
internal void <ToolSet_OnPiecesSpawned>b__2()
{
Tool[] array = this.pieces.ToArray();
int num = 0;
int length = array.Length;
if (num < length)
{
Tool tool = array[num];
OKIMOMGKKDH ekjclgjfign = OKIMOMGKKDH.EKJCLGJFIGN;
tool.IKEGONLJBPP = ekjclgjfign;
KKPBCOOONNK.HMLHHNMGNAA(tool.gameObject);
num++;
}
}
// Token: 0x04009AB7 RID: 39607
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009AB7")]
public SpawnerConsumableTool <>4__this;
// Token: 0x04009AB8 RID: 39608
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009AB8")]
public List<Tool> pieces;
// Token: 0x04009AB9 RID: 39609
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009AB9")]
public Action <>9__2;
}
// Token: 0x0200242F RID: 9263
[Token(Token = "0x200242F")]
[CompilerGenerated]
private sealed class KPJINBNEAOL
{
// Token: 0x0600EB68 RID: 60264 RVA: 0x00361D68 File Offset: 0x0035FF68
[Token(Token = "0x600EB68")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public KPJINBNEAOL()
{
}
// Token: 0x0600EB69 RID: 60265 RVA: 0x00361D7C File Offset: 0x0035FF7C
[Token(Token = "0x600EB69")]
[Address(RVA = "0x1ECB930", Offset = "0x1ECA930", VA = "0x181ECB930")]
internal void <ToolSet_OnPiecesSpawned>b__1(string error)
{
long <JPAOOKPLEDB>k__BackingField = this.CS$<>8__locals1.<>4__this.CKNFEDPPDOO.<JPAOOKPLEDB>k__BackingField;
ConsumableInfo consumableInfo = this.info;
if (consumableInfo != 0)
{
ConsumableManager.KIDKMAOBOIG category = consumableInfo.Category;
}
Debug.LogError(string.Format("Consumable Id:{0} Category:{1} can not be consumed: {2}", <JPAOOKPLEDB>k__BackingField, <JPAOOKPLEDB>k__BackingField, error));
SpawnerConsumableTool.MEFHBFJPFFA cs$<>8__locals = this.CS$<>8__locals1;
Action <>9__ = cs$<>8__locals.<>9__2;
SpawnerConsumableTool <>4__this = cs$<>8__locals.<>4__this;
Action action;
if (<>9__ == 0)
{
action = delegate
{
Tool[] array = cs$<>8__locals.pieces.ToArray();
int num = 0;
int length = array.Length;
if (num < length)
{
Tool tool = array[num];
OKIMOMGKKDH ekjclgjfign = OKIMOMGKKDH.EKJCLGJFIGN;
tool.IKEGONLJBPP = ekjclgjfign;
KKPBCOOONNK.HMLHHNMGNAA(tool.gameObject);
num++;
}
};
cs$<>8__locals.<>9__2 = action;
}
KFBABPAPIMB kfbabpapimb = <>4__this.JGIPMJPPCBM(action);
}
// Token: 0x04009ABA RID: 39610
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009ABA")]
public ConsumableInfo info;
// Token: 0x04009ABB RID: 39611
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009ABB")]
public SpawnerConsumableTool.MEFHBFJPFFA CS$<>8__locals1;
}
}
}