This commit is contained in:
niko
2026-04-10 22:50:51 +02:00
parent 6d1607d5a2
commit f18d448581
17033 changed files with 2863270 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: 0x02002315 RID: 8981
[Token(Token = "0x2002315")]
public class CameraFilterConsumableEffect : ConsumableEffect
{
// Token: 0x0600E63F RID: 58943 RVA: 0x0035437C File Offset: 0x0035257C
[Token(Token = "0x600E63F")]
[Address(RVA = "0x11F67A0", Offset = "0x11F55A0", VA = "0x1811F67A0", 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: 0x0600E640 RID: 58944 RVA: 0x003543A8 File Offset: 0x003525A8
[Token(Token = "0x600E640")]
[Address(RVA = "0x11F6C60", Offset = "0x11F5A60", VA = "0x1811F6C60", 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: 0x0600E641 RID: 58945 RVA: 0x003543EC File Offset: 0x003525EC
[Token(Token = "0x600E641")]
[Address(RVA = "0x11F67F0", Offset = "0x11F55F0", VA = "0x1811F67F0")]
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: 0x0600E642 RID: 58946 RVA: 0x0035442C File Offset: 0x0035262C
[Token(Token = "0x600E642")]
[Address(RVA = "0x11F6AA0", Offset = "0x11F58A0", VA = "0x1811F6AA0", 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: 0x0600E643 RID: 58947 RVA: 0x003544C0 File Offset: 0x003526C0
[Token(Token = "0x600E643")]
[Address(RVA = "0x11F6890", Offset = "0x11F5690", VA = "0x1811F6890", 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: 0x0600E644 RID: 58948 RVA: 0x00354580 File Offset: 0x00352780
[Token(Token = "0x600E644")]
[Address(RVA = "0x11F6D80", Offset = "0x11F5B80", VA = "0x1811F6D80")]
public CameraFilterConsumableEffect()
{
}
// Token: 0x04009827 RID: 38951
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4009827")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
private ShareCamera shareCamera;
// Token: 0x04009828 RID: 38952
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4009828")]
[SerializeField]
private PostProcessProfile filterProfile;
}
}
@@ -0,0 +1,78 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002316 RID: 8982
[Token(Token = "0x2002316")]
public class CameraFilterConsumableItem : ConsumableItem
{
// Token: 0x170024BC RID: 9404
// (get) Token: 0x0600E645 RID: 58949 RVA: 0x00354594 File Offset: 0x00352794
[Token(Token = "0x170024BC")]
public EquipmentSkin DBBKHADKFMN
{
[Token(Token = "0x600E645")]
[Address(RVA = "0x423D40", Offset = "0x422B40", VA = "0x180423D40")]
get
{
return this.shareCamSkin;
}
}
// Token: 0x170024BD RID: 9405
// (get) Token: 0x0600E646 RID: 58950 RVA: 0x003545A8 File Offset: 0x003527A8
[Token(Token = "0x170024BD")]
public Texture2D AKACHFMDLDP
{
[Token(Token = "0x600E646")]
[Address(RVA = "0x423DE0", Offset = "0x422BE0", VA = "0x180423DE0")]
get
{
return this.lookUpTexture;
}
}
// Token: 0x170024BE RID: 9406
// (get) Token: 0x0600E647 RID: 58951 RVA: 0x003545BC File Offset: 0x003527BC
[Token(Token = "0x170024BE")]
public Texture PMLKAJBJDBH
{
[Token(Token = "0x600E647")]
[Address(RVA = "0x423E10", Offset = "0x422C10", VA = "0x180423E10")]
get
{
return this.overlayTexture;
}
}
// Token: 0x0600E648 RID: 58952 RVA: 0x003545D0 File Offset: 0x003527D0
[Token(Token = "0x600E648")]
[Address(RVA = "0x11F6DE0", Offset = "0x11F5BE0", VA = "0x1811F6DE0")]
public CameraFilterConsumableItem()
{
}
// Token: 0x04009829 RID: 38953
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009829")]
[SerializeField]
[Header("Camera Filter settings")]
protected EquipmentSkin shareCamSkin;
// Token: 0x0400982A RID: 38954
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400982A")]
[SerializeField]
[Header("Image Settings")]
private Texture2D lookUpTexture;
// Token: 0x0400982B RID: 38955
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x400982B")]
[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: 0x02002317 RID: 8983
[Token(Token = "0x2002317")]
public class ConsumableCollectionBuildConfig : ScriptableObject
{
// Token: 0x0600E649 RID: 58953 RVA: 0x003545E4 File Offset: 0x003527E4
[Token(Token = "0x600E649")]
[Address(RVA = "0x11FE740", Offset = "0x11FD540", VA = "0x1811FE740")]
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 isCompleted = ((IAsyncResult)p).IsCompleted;
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: 0x0600E64A RID: 58954 RVA: 0x00354718 File Offset: 0x00352918
[Token(Token = "0x600E64A")]
[Address(RVA = "0x11FEB80", Offset = "0x11FD980", VA = "0x1811FEB80")]
public ConsumableCollectionBuildConfig()
{
List<ConsumableItem> list = new List();
this.consumablePrefabs = list;
base..ctor();
}
// Token: 0x0400982C RID: 38956
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400982C")]
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: 0x02002319 RID: 8985
[Token(Token = "0x2002319")]
public class ConsumableCollectionRuntimeConfig : ScriptableObject
{
// Token: 0x0600E652 RID: 58962 RVA: 0x00354810 File Offset: 0x00352A10
[Token(Token = "0x600E652")]
[Address(RVA = "0x11FEBE0", Offset = "0x11FD9E0", VA = "0x1811FEBE0")]
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: 0x0600E653 RID: 58963 RVA: 0x00354858 File Offset: 0x00352A58
[Token(Token = "0x600E653")]
[Address(RVA = "0x6EC220", Offset = "0x6EB020", VA = "0x1806EC220")]
public ConsumableCollectionRuntimeConfig()
{
}
// Token: 0x04009833 RID: 38963
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009833")]
[SerializeField]
public GenericConsumableInfo[] GenericConsumables;
// Token: 0x04009834 RID: 38964
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009834")]
[SerializeField]
public HairDyeConsumableInfo[] HairDyeConsumables;
// Token: 0x04009835 RID: 38965
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009835")]
[SerializeField]
public CouponConsumableInfo[] CouponConsumables;
// Token: 0x04009836 RID: 38966
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009836")]
[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: 0x0200231F RID: 8991
[Token(Token = "0x200231F")]
public abstract class ConsumableEffect : MonoBehaviourPun
{
// Token: 0x170024C0 RID: 9408
// (get) Token: 0x0600E65C RID: 58972 RVA: 0x00354978 File Offset: 0x00352B78
// (set) Token: 0x0600E65D RID: 58973 RVA: 0x0035498C File Offset: 0x00352B8C
[Token(Token = "0x170024C0")]
public List<ConsumableManager.KIDKMAOBOIG> DPCHAPDNDAI
{
[Token(Token = "0x600E65C")]
[Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890")]
get;
[Token(Token = "0x600E65D")]
[Address(RVA = "0x403B30", Offset = "0x402930", VA = "0x180403B30")]
protected set;
}
// Token: 0x170024C1 RID: 9409
// (get) Token: 0x0600E65E RID: 58974 RVA: 0x003549A0 File Offset: 0x00352BA0
// (set) Token: 0x0600E65F RID: 58975 RVA: 0x003549B4 File Offset: 0x00352BB4
[Token(Token = "0x170024C1")]
public bool DKLGNFGONEM
{
[Token(Token = "0x600E65E")]
[Address(RVA = "0x4C2F40", Offset = "0x4C1D40", VA = "0x1804C2F40")]
get;
[Token(Token = "0x600E65F")]
[Address(RVA = "0x63E280", Offset = "0x63D080", VA = "0x18063E280")]
private set;
}
// Token: 0x0600E660 RID: 58976 RVA: 0x003549C8 File Offset: 0x00352BC8
[Token(Token = "0x600E660")]
[Address(RVA = "0x11FFCD0", Offset = "0x11FEAD0", VA = "0x1811FFCD0")]
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: 0x0600E661 RID: 58977 RVA: 0x00354A08 File Offset: 0x00352C08
[Token(Token = "0x600E661")]
[Address(RVA = "0x11FEC60", Offset = "0x11FDA60", VA = "0x1811FEC60", 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: 0x0600E662 RID: 58978 RVA: 0x00354A94 File Offset: 0x00352C94
[Token(Token = "0x600E662")]
[Address(RVA = "0x11FFD80", Offset = "0x11FEB80", VA = "0x1811FFD80", Slot = "15")]
protected virtual void Start()
{
if (NetworkedSingletonMonoBehaviour.FFNIFALJLDD && this.<MHCDCIGJNNA>k__BackingField)
{
NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.TryApplyConsumableEffect(this);
return;
}
}
// Token: 0x0600E663 RID: 58979 RVA: 0x00354AC4 File Offset: 0x00352CC4
[Token(Token = "0x600E663")]
[Address(RVA = "0x11FFBF0", Offset = "0x11FE9F0", VA = "0x1811FFBF0", Slot = "14")]
protected override void OnDestroy()
{
if (this.<MHCDCIGJNNA>k__BackingField)
{
bool flag = ConsumableEffect.AllLocal.Remove(this);
}
base.OnDestroy();
}
// Token: 0x0600E664 RID: 58980 RVA: 0x00354AF4 File Offset: 0x00352CF4
[Token(Token = "0x600E664")]
[Address(RVA = "0x11FF640", Offset = "0x11FE440", VA = "0x1811FF640")]
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: 0x0600E665 RID: 58981 RVA: 0x00354B88 File Offset: 0x00352D88
[Token(Token = "0x600E665")]
[Address(RVA = "0x11FF9A0", Offset = "0x11FE7A0", VA = "0x1811FF9A0")]
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: 0x0600E666 RID: 58982 RVA: 0x00354BC4 File Offset: 0x00352DC4
[Token(Token = "0x600E666")]
[Address(RVA = "0x11FF7F0", Offset = "0x11FE5F0", VA = "0x1811FF7F0")]
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: 0x0600E667 RID: 58983 RVA: 0x00354C78 File Offset: 0x00352E78
[Token(Token = "0x600E667")]
[Address(RVA = "0x11FEE50", Offset = "0x11FDC50", VA = "0x1811FEE50")]
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: 0x0600E668 RID: 58984 RVA: 0x00354DA0 File Offset: 0x00352FA0
[Token(Token = "0x600E668")]
[Address(RVA = "0x11FFB20", Offset = "0x11FE920", VA = "0x1811FFB20")]
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: 0x0600E669 RID: 58985 RVA: 0x00354DD0 File Offset: 0x00352FD0
[Token(Token = "0x600E669")]
[Address(RVA = "0x11FF4C0", Offset = "0x11FE2C0", VA = "0x1811FF4C0", 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: 0x0600E66A RID: 58986 RVA: 0x00354E28 File Offset: 0x00353028
[Token(Token = "0x600E66A")]
[Address(RVA = "0x11FFC80", Offset = "0x11FEA80", VA = "0x1811FFC80")]
protected Dictionary<string, GameObject>.ValueCollection PGHKOFAMNJA()
{
return this.PAFPLMGLEOF.Values;
}
// Token: 0x0600E66B RID: 58987 RVA: 0x00354E48 File Offset: 0x00353048
[Token(Token = "0x600E66B")]
[Address(RVA = "0x11FFA90", Offset = "0x11FE890", VA = "0x1811FFA90")]
protected GameObject NKEAAJDOLJK(ConsumableItem ALMOGLHMFHL)
{
Dictionary<string, GameObject> pafplmgleof = this.PAFPLMGLEOF;
throw new NullReferenceException();
}
// Token: 0x0600E66C RID: 58988 RVA: 0x00354E84 File Offset: 0x00353084
[Token(Token = "0x600E66C")]
[Address(RVA = "0x11FF380", Offset = "0x11FE180", VA = "0x1811FF380", 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: 0x0600E66D RID: 58989 RVA: 0x00354F08 File Offset: 0x00353108
[Token(Token = "0x600E66D")]
[Address(RVA = "0x11FF5B0", Offset = "0x11FE3B0", VA = "0x1811FF5B0")]
protected void KOEKICOBBKF(string NGPMADFHHKP)
{
NotificationManager instance = SingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
IDisposable disposable = instance.Play(NotificationManager.IBIDFAOPIPC.Medium, NGPMADFHHKP, 3f, num, num);
}
// Token: 0x0600E66E RID: 58990 RVA: 0x00354F34 File Offset: 0x00353134
[Token(Token = "0x600E66E")]
[Address(RVA = "0x11FFE90", Offset = "0x11FEC90", VA = "0x1811FFE90")]
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: 0x0600E670 RID: 58992 RVA: 0x00354F88 File Offset: 0x00353188
[Token(Token = "0x600E670")]
[Address(RVA = "0x11FFA80", Offset = "0x11FE880", VA = "0x1811FFA80")]
[CompilerGenerated]
private void MHNEGDPFLNL()
{
int num = 0;
this.EMKJNFKEMAK(num != 0);
}
// Token: 0x0600E671 RID: 58993 RVA: 0x00354FA0 File Offset: 0x003531A0
[Token(Token = "0x600E671")]
[Address(RVA = "0x11FF370", Offset = "0x11FE170", VA = "0x1811FF370")]
[CompilerGenerated]
private void GCILAGCGICN()
{
this.EMKJNFKEMAK(true);
}
// Token: 0x04009845 RID: 38981
[Token(Token = "0x4009845")]
public static List<ConsumableEffect> AllLocal = new List();
// Token: 0x04009848 RID: 38984
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009848")]
private KLLMCPFPIIE<bool> CLNHDLDPMOI;
// Token: 0x04009849 RID: 38985
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4009849")]
private KLLMCPFPIIE<string[]> LDIDFEJLBPK;
// Token: 0x0400984A RID: 38986
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400984A")]
private HashSet<string> JKMOCAJOOPF;
// Token: 0x0400984B RID: 38987
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x400984B")]
protected List<OOCCCGPICOG> ACDOAOMJGBF;
// Token: 0x0400984C RID: 38988
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x400984C")]
private Dictionary<string, GameObject> PAFPLMGLEOF;
// Token: 0x02002320 RID: 8992
[Token(Token = "0x2002320")]
[CompilerGenerated]
private sealed class AFDMFCGFNKG
{
// Token: 0x0600E672 RID: 58994 RVA: 0x00354FB4 File Offset: 0x003531B4
[Token(Token = "0x600E672")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public AFDMFCGFNKG()
{
}
// Token: 0x0600E673 RID: 58995 RVA: 0x00354FC8 File Offset: 0x003531C8
[Token(Token = "0x600E673")]
[Address(RVA = "0x11F5FC0", Offset = "0x11F4DC0", VA = "0x1811F5FC0")]
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: 0x0400984D RID: 38989
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400984D")]
public ConsumableManager.KIDKMAOBOIG category;
}
// Token: 0x02002321 RID: 8993
[Token(Token = "0x2002321")]
[CompilerGenerated]
private sealed class HPCLPDDEDEG
{
// Token: 0x0600E674 RID: 58996 RVA: 0x00354FF0 File Offset: 0x003531F0
[Token(Token = "0x600E674")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public HPCLPDDEDEG()
{
}
// Token: 0x0600E675 RID: 58997 RVA: 0x00355004 File Offset: 0x00353204
[Token(Token = "0x600E675")]
[Address(RVA = "0x1206F80", Offset = "0x1205D80", VA = "0x181206F80")]
internal bool <LocalDeactivateConsumable>b__0(string d)
{
string <CNJALCEBPMC>k__BackingField = this.consumable.<CNJALCEBPMC>k__BackingField;
return d != <CNJALCEBPMC>k__BackingField;
}
// Token: 0x0400984E RID: 38990
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400984E")]
public OOCCCGPICOG consumable;
}
}
}
@@ -0,0 +1,71 @@
using System;
using Cpp2IlInjected;
namespace RecRoom.Consumable
{
// Token: 0x0200231A RID: 8986
[Token(Token = "0x200231A")]
[Serializable]
public abstract class ConsumableInfo
{
// Token: 0x170024BF RID: 9407
// (get) Token: 0x0600E654 RID: 58964 RVA: 0x0035486C File Offset: 0x00352A6C
[Token(Token = "0x170024BF")]
public bool HasConsumableTool
{
[Token(Token = "0x600E654")]
[Address(RVA = "0x1065E20", Offset = "0x1064C20", VA = "0x181065E20")]
get
{
return !string.IsNullOrEmpty(this.ConsumableToolName);
}
}
// Token: 0x0600E655 RID: 58965 RVA: 0x00354888 File Offset: 0x00352A88
[Token(Token = "0x600E655")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
protected ConsumableInfo()
{
}
// Token: 0x04009837 RID: 38967
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009837")]
public string FileName;
// Token: 0x04009838 RID: 38968
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009838")]
public string ConsumableItemDesc;
// Token: 0x04009839 RID: 38969
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009839")]
public string FriendlyName;
// Token: 0x0400983A RID: 38970
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x400983A")]
public ConsumableManager.KIDKMAOBOIG Category;
// Token: 0x0400983B RID: 38971
[FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400983B")]
public ConsumableManager.FFCJLEMFFAJ LimitType;
// Token: 0x0400983C RID: 38972
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x400983C")]
public int LimitCount;
// Token: 0x0400983D RID: 38973
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x400983D")]
public bool AutoActivateNextItem;
// Token: 0x0400983E RID: 38974
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x400983E")]
public string ConsumableToolName;
}
}
@@ -0,0 +1,259 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002322 RID: 8994
[Token(Token = "0x2002322")]
public abstract class ConsumableItem : MonoBehaviour, IComparable<ConsumableItem>
{
// Token: 0x170024C2 RID: 9410
// (get) Token: 0x0600E676 RID: 58998 RVA: 0x0035502C File Offset: 0x0035322C
[Token(Token = "0x170024C2")]
public string KENGPMDDCML
{
[Token(Token = "0x600E676")]
[Address(RVA = "0x3F5F40", Offset = "0x3F4D40", VA = "0x1803F5F40")]
get
{
return this.friendlyName;
}
}
// Token: 0x170024C3 RID: 9411
// (get) Token: 0x0600E677 RID: 58999 RVA: 0x00355040 File Offset: 0x00353240
[Token(Token = "0x170024C3")]
public ConsumableManager.KIDKMAOBOIG GMMAAAGFAKO
{
[Token(Token = "0x600E677")]
[Address(RVA = "0x3F7310", Offset = "0x3F6110", VA = "0x1803F7310")]
get
{
return this.category;
}
}
// Token: 0x170024C4 RID: 9412
// (get) Token: 0x0600E678 RID: 59000 RVA: 0x00355054 File Offset: 0x00353254
[Token(Token = "0x170024C4")]
public string HAKADJAKPDO
{
[Token(Token = "0x600E678")]
[Address(RVA = "0x3F63E0", Offset = "0x3F51E0", VA = "0x1803F63E0")]
get
{
return this.guidString;
}
}
// Token: 0x170024C5 RID: 9413
// (get) Token: 0x0600E679 RID: 59001 RVA: 0x00355068 File Offset: 0x00353268
[Token(Token = "0x170024C5")]
public int KFAAPLBOPPF
{
[Token(Token = "0x600E679")]
[Address(RVA = "0x4730E0", Offset = "0x471EE0", VA = "0x1804730E0")]
get
{
return this.limitCount;
}
}
// Token: 0x170024C6 RID: 9414
// (get) Token: 0x0600E67A RID: 59002 RVA: 0x0035507C File Offset: 0x0035327C
[Token(Token = "0x170024C6")]
public ConsumableManager.FFCJLEMFFAJ NLFGJKJJFFO
{
[Token(Token = "0x600E67A")]
[Address(RVA = "0x436510", Offset = "0x435310", VA = "0x180436510")]
get
{
return this.limitType;
}
}
// Token: 0x170024C7 RID: 9415
// (get) Token: 0x0600E67B RID: 59003 RVA: 0x00355090 File Offset: 0x00353290
[Token(Token = "0x170024C7")]
public bool IPAFOLPNGFD
{
[Token(Token = "0x600E67B")]
[Address(RVA = "0x43A970", Offset = "0x439770", VA = "0x18043A970")]
get
{
return this.autoActivateNextItem;
}
}
// Token: 0x170024C8 RID: 9416
// (get) Token: 0x0600E67C RID: 59004 RVA: 0x003550A4 File Offset: 0x003532A4
[Token(Token = "0x170024C8")]
public Transform MLDAPHCKOKF
{
[Token(Token = "0x600E67C")]
[Address(RVA = "0x408890", Offset = "0x407690", VA = "0x180408890")]
get
{
return this.visualRoot;
}
}
// Token: 0x170024C9 RID: 9417
// (get) Token: 0x0600E67D RID: 59005 RVA: 0x003550B8 File Offset: 0x003532B8
[Token(Token = "0x170024C9")]
public ConsumableTool MIJHIIPIIGO
{
[Token(Token = "0x600E67D")]
[Address(RVA = "0x3FA170", Offset = "0x3F8F70", VA = "0x1803FA170")]
get
{
return this.consumableTool;
}
}
// Token: 0x170024CA RID: 9418
// (get) Token: 0x0600E67E RID: 59006 RVA: 0x003550CC File Offset: 0x003532CC
[Token(Token = "0x170024CA")]
public GameObject IMNJKLMBGEO
{
[Token(Token = "0x600E67E")]
[Address(RVA = "0x415290", Offset = "0x414090", VA = "0x180415290")]
get
{
return this.effectPrefab;
}
}
// Token: 0x0600E67F RID: 59007 RVA: 0x003550E0 File Offset: 0x003532E0
[Token(Token = "0x600E67F")]
[Address(RVA = "0x11FFF40", Offset = "0x11FED40", VA = "0x1811FFF40", 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: 0x0600E680 RID: 59008 RVA: 0x00355124 File Offset: 0x00353324
[Token(Token = "0x600E680")]
[Address(RVA = "0x11FFFF0", Offset = "0x11FEDF0", VA = "0x1811FFFF0", Slot = "5")]
public virtual ConsumableInfo ToConsumableInfo()
{
/*
An exception occurred when decompiling this method (0600E680)
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: 0x0600E681 RID: 59009 RVA: 0x00355138 File Offset: 0x00353338
[Token(Token = "0x600E681")]
[Address(RVA = "0x169A950", Offset = "0x1699750", VA = "0x18169A950")]
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: 0x0600E682 RID: 59010 RVA: 0x0035516C File Offset: 0x0035336C
[Token(Token = "0x600E682")]
[Address(RVA = "0x1200070", Offset = "0x11FEE70", VA = "0x181200070")]
protected ConsumableItem()
{
Guid guid = Guid.NewGuid();
string text;
this.guidString = text;
this.limitCount = (int)((ulong)1L);
base..ctor();
}
// Token: 0x0400984F RID: 38991
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400984F")]
[SerializeField]
protected string friendlyName;
// Token: 0x04009850 RID: 38992
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009850")]
[SerializeField]
protected ConsumableManager.KIDKMAOBOIG category;
// Token: 0x04009851 RID: 38993
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009851")]
[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: 0x04009852 RID: 38994
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4009852")]
[SerializeField]
[Header("Usage limits.")]
protected int limitCount;
// Token: 0x04009853 RID: 38995
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4009853")]
[SerializeField]
protected ConsumableManager.FFCJLEMFFAJ limitType;
// Token: 0x04009854 RID: 38996
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x4009854")]
[SerializeField]
protected bool autoActivateNextItem;
// Token: 0x04009855 RID: 38997
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009855")]
[SerializeField]
[Header("Visual for the boxes.")]
protected Transform visualRoot;
// Token: 0x04009856 RID: 38998
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009856")]
[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: 0x04009857 RID: 38999
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009857")]
[SerializeField]
[Tooltip("This prefab will be spawned under the ConsumableEffect to add additional functionality.")]
protected GameObject effectPrefab;
}
}
@@ -0,0 +1,1537 @@
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: 0x02002323 RID: 8995
[Token(Token = "0x2002323")]
public class ConsumableManager : NetworkedSingletonMonoBehaviour<ConsumableManager>
{
// Token: 0x140000F7 RID: 247
// (add) Token: 0x0600E683 RID: 59011 RVA: 0x00355198 File Offset: 0x00353398
// (remove) Token: 0x0600E684 RID: 59012 RVA: 0x003551C0 File Offset: 0x003533C0
[Token(Token = "0x140000F7")]
public event Action<OOCCCGPICOG, bool> HNCNGJFLMEL
{
[Token(Token = "0x600E683")]
[Address(RVA = "0x12039F0", Offset = "0x12027F0", VA = "0x1812039F0")]
[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 = "0x600E684")]
[Address(RVA = "0x1203B30", Offset = "0x1202930", VA = "0x181203B30")]
[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: 0x0600E685 RID: 59013 RVA: 0x003551E8 File Offset: 0x003533E8
// (remove) Token: 0x0600E686 RID: 59014 RVA: 0x00355210 File Offset: 0x00353410
[Token(Token = "0x140000F8")]
public event Action<OOCCCGPICOG, bool> BNFPEINEDCC
{
[Token(Token = "0x600E685")]
[Address(RVA = "0x1203A90", Offset = "0x1202890", VA = "0x181203A90")]
[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 = "0x600E686")]
[Address(RVA = "0x1203BD0", Offset = "0x12029D0", VA = "0x181203BD0")]
[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: 0x170024CB RID: 9419
// (get) Token: 0x0600E687 RID: 59015 RVA: 0x00355238 File Offset: 0x00353438
// (set) Token: 0x0600E688 RID: 59016 RVA: 0x0035524C File Offset: 0x0035344C
[Token(Token = "0x170024CB")]
public List<OOCCCGPICOG> HBNKDJHPFIH
{
[Token(Token = "0x600E687")]
[Address(RVA = "0x423DE0", Offset = "0x422BE0", VA = "0x180423DE0")]
get;
[Token(Token = "0x600E688")]
[Address(RVA = "0x567490", Offset = "0x566290", VA = "0x180567490")]
private set;
}
// Token: 0x170024CC RID: 9420
// (get) Token: 0x0600E689 RID: 59017 RVA: 0x00355260 File Offset: 0x00353460
// (set) Token: 0x0600E68A RID: 59018 RVA: 0x00355274 File Offset: 0x00353474
[Token(Token = "0x170024CC")]
public Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> GLGIFBBIJMO
{
[Token(Token = "0x600E689")]
[Address(RVA = "0x423E10", Offset = "0x422C10", VA = "0x180423E10")]
get;
[Token(Token = "0x600E68A")]
[Address(RVA = "0x687270", Offset = "0x686070", VA = "0x180687270")]
private set;
}
// Token: 0x170024CD RID: 9421
// (get) Token: 0x0600E68B RID: 59019 RVA: 0x00355288 File Offset: 0x00353488
// (set) Token: 0x0600E68C RID: 59020 RVA: 0x0035529C File Offset: 0x0035349C
[Token(Token = "0x170024CD")]
private Dictionary<int, List<OOCCCGPICOG>> IKCILKBNLDL
{
[Token(Token = "0x600E68B")]
[Address(RVA = "0x4335D0", Offset = "0x4323D0", VA = "0x1804335D0")]
get;
[Token(Token = "0x600E68C")]
[Address(RVA = "0x703580", Offset = "0x702380", VA = "0x180703580")]
set;
}
// Token: 0x0600E68D RID: 59021 RVA: 0x003552B0 File Offset: 0x003534B0
[Token(Token = "0x600E68D")]
[Address(RVA = "0x1200760", Offset = "0x11FF560", VA = "0x181200760", 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: 0x0600E68E RID: 59022 RVA: 0x003553EC File Offset: 0x003535EC
[Token(Token = "0x600E68E")]
[Address(RVA = "0x1202E90", Offset = "0x1201C90", VA = "0x181202E90", 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: 0x0600E68F RID: 59023 RVA: 0x00355474 File Offset: 0x00353674
[Token(Token = "0x600E68F")]
[Address(RVA = "0x1203670", Offset = "0x1202470", VA = "0x181203670")]
private IEnumerator Start()
{
/*
An exception occurred when decompiling this method (0600E68F)
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: 0x0600E690 RID: 59024 RVA: 0x00355490 File Offset: 0x00353690
[Token(Token = "0x600E690")]
[Address(RVA = "0x1202E40", Offset = "0x1201C40", VA = "0x181202E40")]
private void LMOACMLMLAB(Scene LHECBPFGEMH)
{
this.NJMOJCFCNJI.Clear();
}
// Token: 0x0600E691 RID: 59025 RVA: 0x003554B0 File Offset: 0x003536B0
[Token(Token = "0x600E691")]
[Address(RVA = "0x1203060", Offset = "0x1201E60", VA = "0x181203060")]
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: 0x0600E692 RID: 59026 RVA: 0x0035553C File Offset: 0x0035373C
[Token(Token = "0x600E692")]
[Address(RVA = "0x12010D0", Offset = "0x11FFED0", VA = "0x1812010D0")]
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: 0x0600E693 RID: 59027 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600E693")]
[Address(RVA = "0x1200380", Offset = "0x11FF180", VA = "0x181200380")]
public void ActivateConsumable(OOCCCGPICOG KGNADIFEIML, bool CPNHCODHDAD)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600E694 RID: 59028 RVA: 0x003555EC File Offset: 0x003537EC
[Token(Token = "0x600E694")]
[Address(RVA = "0x12026B0", Offset = "0x12014B0", VA = "0x1812026B0")]
private IEnumerator IKAOJDNCCJO()
{
/*
An exception occurred when decompiling this method (0600E694)
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: 0x0600E695 RID: 59029 RVA: 0x00355608 File Offset: 0x00353808
[Token(Token = "0x600E695")]
[Address(RVA = "0x1201410", Offset = "0x1200210", VA = "0x181201410")]
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: 0x0600E696 RID: 59030 RVA: 0x00355640 File Offset: 0x00353840
[Token(Token = "0x600E696")]
[Address(RVA = "0x12038B0", Offset = "0x12026B0", VA = "0x1812038B0")]
public IEnumerator UseConsumable(OOCCCGPICOG BAJGNABECMN, int FKKAPHAMPMG, BPHGKAEDBPE.CBEOHBCIPEA AFLPGGJMPOE)
{
return FOEHJBDMMBH.LCELAOEOIJO(BAJGNABECMN, FKKAPHAMPMG, AFLPGGJMPOE);
}
// Token: 0x0600E697 RID: 59031 RVA: 0x00355658 File Offset: 0x00353858
[Token(Token = "0x600E697")]
[Address(RVA = "0x12036D0", Offset = "0x12024D0", VA = "0x1812036D0")]
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: 0x0600E698 RID: 59032 RVA: 0x003556A4 File Offset: 0x003538A4
[Token(Token = "0x600E698")]
[Address(RVA = "0x12031E0", Offset = "0x1201FE0", VA = "0x1812031E0")]
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;
dictionary.Add("Owner", inpoaaaoahi);
dictionary.Add("Purpose", inpoaaaoahi);
dictionary.Add("ConsumableType", BFMHPKIEKIF);
long value = NJCHOELCFME.Value;
dictionary.Add("ConsumableId", value);
string consumableToolName = consumableInfo.ConsumableToolName;
if (inpoaaaoahi == 0)
{
}
string name = this.defaultConsumableToolPrefab.name;
int viewIdField = base.JDHMIOJKLCK.viewIdField;
float z = DDHPAFKBMON.z;
Tool tool;
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField = tool.<FLFJCIPBAPA>k__BackingField;
int num = 0;
if (<FLFJCIPBAPA>k__BackingField != num)
{
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField2 = tool.<FLFJCIPBAPA>k__BackingField;
int num2 = 0;
<FLFJCIPBAPA>k__BackingField2.HICLCBMIPIN = num2 != 0;
}
}
Debug.LogError("Spawn Consumable For Local Player: Unable to find consumable");
throw new NullReferenceException();
}
// Token: 0x0600E699 RID: 59033 RVA: 0x0035579C File Offset: 0x0035399C
[Token(Token = "0x600E699")]
[Address(RVA = "0x1203570", Offset = "0x1202370", VA = "0x181203570")]
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: 0x0600E69A RID: 59034 RVA: 0x003557EC File Offset: 0x003539EC
[Token(Token = "0x600E69A")]
[Address(RVA = "0x1202970", Offset = "0x1201770", VA = "0x181202970")]
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: 0x0600E69B RID: 59035 RVA: 0x00355844 File Offset: 0x00353A44
[Token(Token = "0x600E69B")]
[Address(RVA = "0x1202C10", Offset = "0x1201A10", VA = "0x181202C10")]
private IEnumerator KFCOBPNHEAK()
{
/*
An exception occurred when decompiling this method (0600E69B)
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: 0x0600E69C RID: 59036 RVA: 0x00355868 File Offset: 0x00353A68
[Token(Token = "0x600E69C")]
[Address(RVA = "0x12001D0", Offset = "0x11FEFD0", VA = "0x1812001D0")]
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: 0x0600E69D RID: 59037 RVA: 0x003558E4 File Offset: 0x00353AE4
[Token(Token = "0x600E69D")]
[Address(RVA = "0x1201950", Offset = "0x1200750", VA = "0x181201950")]
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;
int creatorId = OEMFFOMNDPB;
dictionary2.Add(creatorId, consumables);
Func<OOCCCGPICOG, string> <>9__43_ = ConsumableManager.<>c.<>9__43_3;
if (<>9__43_ == 0)
{
ConsumableManager.<>c.<>9__43_3 = (OOCCCGPICOG c) => c.<CNJALCEBPMC>k__BackingField;
}
IEnumerable enumerable2 = Enumerable.GroupBy<OOCCCGPICOG, string>(consumables, <>9__43_);
Func<IGrouping<string, OOCCCGPICOG>, OOCCCGPICOG> func3;
if (ConsumableManager.<>c.<>9__43_4 == 0)
{
func3 = (IGrouping<string, OOCCCGPICOG> c) => Enumerable.Last<OOCCCGPICOG>(c);
ConsumableManager.<>c.<>9__43_4 = func3;
}
return Enumerable.ToList<OOCCCGPICOG>(Enumerable.Select<IGrouping<string, OOCCCGPICOG>, OOCCCGPICOG>(enumerable2, func3));
};
}
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: 0x0600E69E RID: 59038 RVA: 0x00355984 File Offset: 0x00353B84
[Token(Token = "0x600E69E")]
[Address(RVA = "0x1202500", Offset = "0x1201300", VA = "0x181202500")]
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<OOCCCGPICOG, bool> <>9__2;
Func<List<OOCCCGPICOG>, List<OOCCCGPICOG>> func = delegate(List<OOCCCGPICOG> consumables)
{
Dictionary<int, List<OOCCCGPICOG>> dictionary2 = this.<MPOGFALEMEO>k__BackingField;
int creatorId = OEMFFOMNDPB;
dictionary2.Add(creatorId, consumables);
Func<OOCCCGPICOG, bool> <>9__ = <>9__2;
if (<>9__ == 0)
{
Func<OOCCCGPICOG, bool> func3 = delegate(OOCCCGPICOG c)
{
string consumableType = BFMHPKIEKIF;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, consumableType);
};
<>9__2 = func3;
}
return Enumerable.ToList<OOCCCGPICOG>(Enumerable.Where<OOCCCGPICOG>(consumables, <>9__));
};
}
Func<OOCCCGPICOG, bool> func2 = delegate(OOCCCGPICOG c)
{
string consumableType2 = BFMHPKIEKIF;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, consumableType2);
};
IEnumerable<OOCCCGPICOG> enumerable;
List<OOCCCGPICOG> list = Enumerable.ToList<OOCCCGPICOG>(enumerable);
throw new NullReferenceException();
}
// Token: 0x0600E69F RID: 59039 RVA: 0x003559F0 File Offset: 0x00353BF0
[Token(Token = "0x600E69F")]
[Address(RVA = "0x1201DB0", Offset = "0x1200BB0", VA = "0x181201DB0")]
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: 0x0600E6A0 RID: 59040 RVA: 0x00355A5C File Offset: 0x00353C5C
[Token(Token = "0x600E6A0")]
[Address(RVA = "0x12022B0", Offset = "0x12010B0", VA = "0x1812022B0")]
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: 0x0600E6A1 RID: 59041 RVA: 0x00355B40 File Offset: 0x00353D40
[Token(Token = "0x600E6A1")]
[Address(RVA = "0x1201C10", Offset = "0x1200A10", VA = "0x181201C10")]
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: 0x0600E6A2 RID: 59042 RVA: 0x00355BAC File Offset: 0x00353DAC
[Token(Token = "0x600E6A2")]
[Address(RVA = "0x1202770", Offset = "0x1201570", VA = "0x181202770")]
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: 0x0600E6A3 RID: 59043 RVA: 0x00355BE0 File Offset: 0x00353DE0
[Token(Token = "0x600E6A3")]
[Address(RVA = "0x1201F20", Offset = "0x1200D20", VA = "0x181201F20")]
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: 0x0600E6A4 RID: 59044 RVA: 0x00355C7C File Offset: 0x00353E7C
[Token(Token = "0x600E6A4")]
[Address(RVA = "0x1201890", Offset = "0x1200690", VA = "0x181201890")]
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: 0x0600E6A5 RID: 59045 RVA: 0x00355CBC File Offset: 0x00353EBC
[Token(Token = "0x600E6A5")]
[Address(RVA = "0x1201590", Offset = "0x1200390", VA = "0x181201590")]
public OOCCCGPICOG GetActiveConsumableInCategory(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK)
{
Dictionary<ConsumableManager.KIDKMAOBOIG, OOCCCGPICOG> dictionary = this.<EJMJIFKMMDN>k__BackingField;
throw new NullReferenceException();
}
// Token: 0x0600E6A6 RID: 59046 RVA: 0x00355CD8 File Offset: 0x00353ED8
[Token(Token = "0x600E6A6")]
[Address(RVA = "0x1202840", Offset = "0x1201640", VA = "0x181202840")]
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: 0x0600E6A7 RID: 59047 RVA: 0x00355D1C File Offset: 0x00353F1C
[Token(Token = "0x600E6A7")]
[Address(RVA = "0x1201D80", Offset = "0x1200B80", VA = "0x181201D80")]
public ConsumableManager.KIDKMAOBOIG GetConsumableCategory(string AKAMDLHKMGM)
{
ConsumableInfo consumableInfo = this.TryGetConsumableInfo(AKAMDLHKMGM);
if (consumableInfo != 0)
{
return consumableInfo.Category;
}
return ConsumableManager.KIDKMAOBOIG.Invalid;
}
// Token: 0x0600E6A8 RID: 59048 RVA: 0x00355D40 File Offset: 0x00353F40
[Token(Token = "0x600E6A8")]
[Address(RVA = "0x1203830", Offset = "0x1202630", VA = "0x181203830")]
public ConsumableInfo TryGetConsumableInfo(string AKAMDLHKMGM)
{
Dictionary<string, ConsumableInfo> lppdcfejbga = this.LPPDCFEJBGA;
int num = 0;
bool flag = lppdcfejbga.TryGetValue(AKAMDLHKMGM, num);
throw new NullReferenceException();
}
// Token: 0x0600E6A9 RID: 59049 RVA: 0x00355D64 File Offset: 0x00353F64
[Token(Token = "0x600E6A9")]
[Address(RVA = "0x1202140", Offset = "0x1200F40", VA = "0x181202140")]
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)
{
this.NJMOJCFCNJI.Add(GEDCEIDOKJL, consumableItem);
}
}
Debug.LogError("Tried to GetConsumablePrefab for empty type!");
throw new NullReferenceException();
}
// Token: 0x0600E6AA RID: 59050 RVA: 0x00355DC8 File Offset: 0x00353FC8
[Token(Token = "0x600E6AA")]
[Address(RVA = "0x1202710", Offset = "0x1201510", VA = "0x181202710")]
public void InvalidateTransferableConsumablesByCreatorId(int OEMFFOMNDPB)
{
bool flag = this.<MPOGFALEMEO>k__BackingField.Remove(OEMFFOMNDPB);
}
// Token: 0x0600E6AB RID: 59051 RVA: 0x00355DE8 File Offset: 0x00353FE8
[Token(Token = "0x600E6AB")]
[Address(RVA = "0x1201600", Offset = "0x1200400", VA = "0x181201600")]
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: 0x0600E6AC RID: 59052 RVA: 0x00355E40 File Offset: 0x00354040
[Token(Token = "0x600E6AC")]
[Address(RVA = "0x1201750", Offset = "0x1200550", VA = "0x181201750")]
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: 0x0600E6AD RID: 59053 RVA: 0x00355E7C File Offset: 0x0035407C
[Token(Token = "0x600E6AD")]
[Address(RVA = "0x1202B50", Offset = "0x1201950", VA = "0x181202B50")]
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: 0x0600E6AE RID: 59054 RVA: 0x00355EAC File Offset: 0x003540AC
[Token(Token = "0x600E6AE")]
[Address(RVA = "0x12014D0", Offset = "0x12002D0", VA = "0x1812014D0")]
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: 0x0600E6AF RID: 59055 RVA: 0x00355EDC File Offset: 0x003540DC
[Token(Token = "0x600E6AF")]
[Address(RVA = "0x12000F0", Offset = "0x11FEEF0", VA = "0x1812000F0")]
private void AFKMKIAPOPL()
{
int <OIBJLPBDMML>k__BackingField = BPHGKAEDBPE.<OIBJLPBDMML>k__BackingField;
bool flag = this.<MPOGFALEMEO>k__BackingField.Remove(<OIBJLPBDMML>k__BackingField);
}
// Token: 0x0600E6B0 RID: 59056 RVA: 0x00355F04 File Offset: 0x00354104
[Token(Token = "0x600E6B0")]
[Address(RVA = "0x1202C70", Offset = "0x1201A70", VA = "0x181202C70")]
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: 0x0600E6B1 RID: 59057 RVA: 0x00355F60 File Offset: 0x00354160
[Token(Token = "0x600E6B1")]
[Address(RVA = "0x1200AF0", Offset = "0x11FF8F0", VA = "0x181200AF0")]
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: 0x0600E6B2 RID: 59058 RVA: 0x00356144 File Offset: 0x00354344
[Token(Token = "0x600E6B2")]
[Address(RVA = "0x1203920", Offset = "0x1202720", VA = "0x181203920")]
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: 0x0400985A RID: 39002
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400985A")]
[SerializeField]
private ConsumableTool defaultConsumableToolPrefab;
// Token: 0x0400985B RID: 39003
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x400985B")]
[SerializeField]
private ConsumableCollectionRuntimeConfig consumableCollection;
// Token: 0x0400985F RID: 39007
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x400985F")]
private Dictionary<string, ConsumableInfo> LPPDCFEJBGA;
// Token: 0x04009860 RID: 39008
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x4009860")]
private Dictionary<string, ConsumableItem> NJMOJCFCNJI;
// Token: 0x04009861 RID: 39009
[Token(Token = "0x4009861")]
private const float OLCOPMKCBDB = 60f;
// Token: 0x04009862 RID: 39010
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x4009862")]
private LinkedList<ConsumableManager.DKKBNGODEOM> FLLFJEOONCC;
// Token: 0x02002324 RID: 8996
[Token(Token = "0x2002324")]
public enum FFCJLEMFFAJ
{
// Token: 0x04009864 RID: 39012
[Token(Token = "0x4009864")]
Invalid = -1,
// Token: 0x04009865 RID: 39013
[Token(Token = "0x4009865")]
Usage,
// Token: 0x04009866 RID: 39014
[Token(Token = "0x4009866")]
Time,
// Token: 0x04009867 RID: 39015
[Token(Token = "0x4009867")]
RealWorldTime
}
// Token: 0x02002325 RID: 8997
[Token(Token = "0x2002325")]
public enum KIDKMAOBOIG
{
// Token: 0x04009869 RID: 39017
[Token(Token = "0x4009869")]
Invalid = -1,
// Token: 0x0400986A RID: 39018
[Token(Token = "0x400986A")]
CameraFilter,
// Token: 0x0400986B RID: 39019
[Token(Token = "0x400986B")]
Potion_Head = 2,
// Token: 0x0400986C RID: 39020
[Token(Token = "0x400986C")]
Potion_Hand,
// Token: 0x0400986D RID: 39021
[Token(Token = "0x400986D")]
Food,
// Token: 0x0400986E RID: 39022
[Token(Token = "0x400986E")]
KO_Customization,
// Token: 0x0400986F RID: 39023
[Token(Token = "0x400986F")]
Potion_HairDye,
// Token: 0x04009870 RID: 39024
[Token(Token = "0x4009870")]
Coupon
}
// Token: 0x02002326 RID: 8998
[Token(Token = "0x2002326")]
private struct DKKBNGODEOM
{
// Token: 0x04009871 RID: 39025
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4009871")]
public OOCCCGPICOG BAJGNABECMN;
// Token: 0x04009872 RID: 39026
[FieldOffset(Offset = "0x8")]
[Token(Token = "0x4009872")]
public float HPIOFBILNMC;
}
// Token: 0x0200232A RID: 9002
[Token(Token = "0x200232A")]
[CompilerGenerated]
private sealed class JHIJHOMNCKN
{
// Token: 0x0600E6D4 RID: 59092 RVA: 0x00356740 File Offset: 0x00354940
[Token(Token = "0x600E6D4")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public JHIJHOMNCKN()
{
}
// Token: 0x0600E6D5 RID: 59093 RVA: 0x00356754 File Offset: 0x00354954
[Token(Token = "0x600E6D5")]
[Address(RVA = "0x1207D30", Offset = "0x1206B30", VA = "0x181207D30")]
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: 0x0400988D RID: 39053
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400988D")]
public ConsumableManager <>4__this;
// Token: 0x0400988E RID: 39054
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400988E")]
public BPHGKAEDBPE.CBEOHBCIPEA callback;
}
// Token: 0x0200232B RID: 9003
[Token(Token = "0x200232B")]
[CompilerGenerated]
private sealed class DOANPNOOBAD
{
// Token: 0x0600E6D6 RID: 59094 RVA: 0x003567BC File Offset: 0x003549BC
[Token(Token = "0x600E6D6")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public DOANPNOOBAD()
{
}
// Token: 0x0600E6D7 RID: 59095 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600E6D7")]
[Address(RVA = "0x1206BC0", Offset = "0x12059C0", VA = "0x181206BC0")]
internal bool <RemoveFromActiveTimedConsumableQueue>b__0(ConsumableManager.DKKBNGODEOM c)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0400988F RID: 39055
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400988F")]
public OOCCCGPICOG consumable;
}
// Token: 0x0200232D RID: 9005
[Token(Token = "0x200232D")]
[CompilerGenerated]
private sealed class LLEOPOOCNCG
{
// Token: 0x0600E6DE RID: 59102 RVA: 0x0035690C File Offset: 0x00354B0C
[Token(Token = "0x600E6DE")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public LLEOPOOCNCG()
{
}
// Token: 0x0600E6DF RID: 59103 RVA: 0x00356920 File Offset: 0x00354B20
[Token(Token = "0x600E6DF")]
[Address(RVA = "0x1208960", Offset = "0x1207760", VA = "0x181208960")]
internal List<OOCCCGPICOG> <GetAllTransferableConsumableTypesByCreatorId>b__2(List<OOCCCGPICOG> consumables)
{
Dictionary<int, List<OOCCCGPICOG>> <MPOGFALEMEO>k__BackingField = this.<>4__this.<MPOGFALEMEO>k__BackingField;
int num = this.creatorId;
<MPOGFALEMEO>k__BackingField.Add(num, consumables);
Func<OOCCCGPICOG, string> <>9__43_ = ConsumableManager.<>c.<>9__43_3;
if (<>9__43_ == 0)
{
ConsumableManager.<>c.<>9__43_3 = (OOCCCGPICOG c) => c.<CNJALCEBPMC>k__BackingField;
}
IEnumerable enumerable = Enumerable.GroupBy<OOCCCGPICOG, string>(consumables, <>9__43_);
Func<IGrouping<string, OOCCCGPICOG>, OOCCCGPICOG> func;
if (ConsumableManager.<>c.<>9__43_4 == 0)
{
func = (IGrouping<string, OOCCCGPICOG> c) => Enumerable.Last<OOCCCGPICOG>(c);
ConsumableManager.<>c.<>9__43_4 = func;
}
return Enumerable.ToList<OOCCCGPICOG>(Enumerable.Select<IGrouping<string, OOCCCGPICOG>, OOCCCGPICOG>(enumerable, func));
}
// Token: 0x04009894 RID: 39060
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009894")]
public ConsumableManager <>4__this;
// Token: 0x04009895 RID: 39061
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009895")]
public int creatorId;
}
// Token: 0x0200232E RID: 9006
[Token(Token = "0x200232E")]
[CompilerGenerated]
private sealed class BFCGKOAPJEC
{
// Token: 0x0600E6E0 RID: 59104 RVA: 0x003569A4 File Offset: 0x00354BA4
[Token(Token = "0x600E6E0")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public BFCGKOAPJEC()
{
}
// Token: 0x0600E6E1 RID: 59105 RVA: 0x003569B8 File Offset: 0x00354BB8
[Token(Token = "0x600E6E1")]
[Address(RVA = "0x11D7400", Offset = "0x11D6200", VA = "0x1811D7400")]
internal bool <GetTransferableConsumablesOfTypeByCreatorId>b__0(OOCCCGPICOG c)
{
string text = this.consumableType;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, text);
}
// Token: 0x0600E6E2 RID: 59106 RVA: 0x003569E0 File Offset: 0x00354BE0
[Token(Token = "0x600E6E2")]
[Address(RVA = "0x11F6460", Offset = "0x11F5260", VA = "0x1811F6460")]
internal List<OOCCCGPICOG> <GetTransferableConsumablesOfTypeByCreatorId>b__1(List<OOCCCGPICOG> consumables)
{
Dictionary<int, List<OOCCCGPICOG>> <MPOGFALEMEO>k__BackingField = this.<>4__this.<MPOGFALEMEO>k__BackingField;
int num = this.creatorId;
<MPOGFALEMEO>k__BackingField.Add(num, consumables);
Func<OOCCCGPICOG, bool> func = this.<>9__2;
if (func == 0)
{
Func<OOCCCGPICOG, bool> func2 = delegate(OOCCCGPICOG c)
{
string text = this.consumableType;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, text);
};
this.<>9__2 = func2;
}
return Enumerable.ToList<OOCCCGPICOG>(Enumerable.Where<OOCCCGPICOG>(consumables, func));
}
// Token: 0x0600E6E3 RID: 59107 RVA: 0x00356A3C File Offset: 0x00354C3C
[Token(Token = "0x600E6E3")]
[Address(RVA = "0x11D7400", Offset = "0x11D6200", VA = "0x1811D7400")]
internal bool <GetTransferableConsumablesOfTypeByCreatorId>b__2(OOCCCGPICOG c)
{
string text = this.consumableType;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, text);
}
// Token: 0x04009896 RID: 39062
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009896")]
public string consumableType;
// Token: 0x04009897 RID: 39063
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4009897")]
public ConsumableManager <>4__this;
// Token: 0x04009898 RID: 39064
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4009898")]
public int creatorId;
// Token: 0x04009899 RID: 39065
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4009899")]
public Func<OOCCCGPICOG, bool> <>9__2;
}
// Token: 0x0200232F RID: 9007
[Token(Token = "0x200232F")]
[CompilerGenerated]
private sealed class OILBDNFLMKD
{
// Token: 0x0600E6E4 RID: 59108 RVA: 0x00356A64 File Offset: 0x00354C64
[Token(Token = "0x600E6E4")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public OILBDNFLMKD()
{
}
// Token: 0x0600E6E5 RID: 59109 RVA: 0x00356A78 File Offset: 0x00354C78
[Token(Token = "0x600E6E5")]
[Address(RVA = "0x12093D0", Offset = "0x12081D0", VA = "0x1812093D0")]
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: 0x0400989A RID: 39066
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400989A")]
public string consumableType;
}
// Token: 0x02002330 RID: 9008
[Token(Token = "0x2002330")]
[CompilerGenerated]
private sealed class BMPAPIDNKAC
{
// Token: 0x0600E6E6 RID: 59110 RVA: 0x00356AB0 File Offset: 0x00354CB0
[Token(Token = "0x600E6E6")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public BMPAPIDNKAC()
{
}
// Token: 0x0600E6E7 RID: 59111 RVA: 0x00356AC4 File Offset: 0x00354CC4
[Token(Token = "0x600E6E7")]
[Address(RVA = "0x11F6530", Offset = "0x11F5330", VA = "0x1811F6530")]
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: 0x0400989B RID: 39067
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400989B")]
public OOCCCGPICOG consumable;
}
// Token: 0x02002331 RID: 9009
[Token(Token = "0x2002331")]
[CompilerGenerated]
private sealed class ODJCBMEABHI
{
// Token: 0x0600E6E8 RID: 59112 RVA: 0x00356AEC File Offset: 0x00354CEC
[Token(Token = "0x600E6E8")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public ODJCBMEABHI()
{
}
// Token: 0x0600E6E9 RID: 59113 RVA: 0x00356B00 File Offset: 0x00354D00
[Token(Token = "0x600E6E9")]
[Address(RVA = "0x8E72B0", Offset = "0x8E60B0", VA = "0x1808E72B0")]
internal bool <GetConsumableById>b__0(OOCCCGPICOG pc)
{
long num = this.consumableId;
return pc.<JPAOOKPLEDB>k__BackingField == num;
}
// Token: 0x0400989C RID: 39068
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400989C")]
public long consumableId;
}
// Token: 0x02002332 RID: 9010
[Token(Token = "0x2002332")]
[CompilerGenerated]
private sealed class DKELPJNFIDO
{
// Token: 0x0600E6EA RID: 59114 RVA: 0x00356B24 File Offset: 0x00354D24
[Token(Token = "0x600E6EA")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public DKELPJNFIDO()
{
}
// Token: 0x0600E6EB RID: 59115 RVA: 0x00356B38 File Offset: 0x00354D38
[Token(Token = "0x600E6EB")]
[Address(RVA = "0x1206B90", Offset = "0x1205990", VA = "0x181206B90")]
internal bool <GetLatestPurchasedNonTransferableConsumablesInCategory>b__0(OOCCCGPICOG c)
{
return c.GMMAAAGFAKO() == this.category;
}
// Token: 0x0400989D RID: 39069
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400989D")]
public ConsumableManager.KIDKMAOBOIG category;
}
// Token: 0x02002333 RID: 9011
[Token(Token = "0x2002333")]
[CompilerGenerated]
private sealed class PLNPAHNMEIH
{
// Token: 0x0600E6EC RID: 59116 RVA: 0x00356B54 File Offset: 0x00354D54
[Token(Token = "0x600E6EC")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public PLNPAHNMEIH()
{
}
// Token: 0x0600E6ED RID: 59117 RVA: 0x00356B68 File Offset: 0x00354D68
[Token(Token = "0x600E6ED")]
[Address(RVA = "0x11D7400", Offset = "0x11D6200", VA = "0x1811D7400")]
internal bool <GetAllPurchasedNonTransferableConsumablesOfType>b__0(OOCCCGPICOG c)
{
string text = this.type;
return string.Equals(c.<CNJALCEBPMC>k__BackingField, text);
}
// Token: 0x0400989E RID: 39070
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400989E")]
public string type;
}
// Token: 0x02002334 RID: 9012
[Token(Token = "0x2002334")]
[CompilerGenerated]
private sealed class KJEJOAJDKFO
{
// Token: 0x0600E6EE RID: 59118 RVA: 0x00356B90 File Offset: 0x00354D90
[Token(Token = "0x600E6EE")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public KJEJOAJDKFO()
{
}
// Token: 0x0600E6EF RID: 59119 RVA: 0x00356BA4 File Offset: 0x00354DA4
[Token(Token = "0x600E6EF")]
[Address(RVA = "0x8E72B0", Offset = "0x8E60B0", VA = "0x1808E72B0")]
internal bool <Consumables_OnConsumableRemoved>b__0(OOCCCGPICOG c)
{
long num = this.consumableId;
return c.<JPAOOKPLEDB>k__BackingField == num;
}
// Token: 0x0600E6F0 RID: 59120 RVA: 0x00356BC8 File Offset: 0x00354DC8
[Token(Token = "0x600E6F0")]
[Address(RVA = "0x12080B0", Offset = "0x1206EB0", VA = "0x1812080B0")]
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: 0x0400989F RID: 39071
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400989F")]
public long consumableId;
// Token: 0x040098A0 RID: 39072
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40098A0")]
public OOCCCGPICOG consumable;
}
}
}
@@ -0,0 +1,230 @@
using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002336 RID: 9014
[Token(Token = "0x2002336")]
public class ConsumableSpawnedContainerToolPiece : ConsumableSpawnedToolPiece
{
// Token: 0x0600E6F3 RID: 59123 RVA: 0x00356C84 File Offset: 0x00354E84
[Token(Token = "0x600E6F3")]
[Address(RVA = "0x1203C70", Offset = "0x1202A70", VA = "0x181203C70", 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: 0x0600E6F4 RID: 59124 RVA: 0x00356CF8 File Offset: 0x00354EF8
[Token(Token = "0x600E6F4")]
[Address(RVA = "0x1203EE0", Offset = "0x1202CE0", VA = "0x181203EE0", 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: 0x0600E6F5 RID: 59125 RVA: 0x00356E94 File Offset: 0x00355094
[Token(Token = "0x600E6F5")]
[Address(RVA = "0x1204720", Offset = "0x1203520", VA = "0x181204720")]
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: 0x0600E6F6 RID: 59126 RVA: 0x00356F00 File Offset: 0x00355100
[Token(Token = "0x600E6F6")]
[Address(RVA = "0x1203D60", Offset = "0x1202B60", VA = "0x181203D60")]
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: 0x0600E6F7 RID: 59127 RVA: 0x00356F6C File Offset: 0x0035516C
[Token(Token = "0x600E6F7")]
[Address(RVA = "0x1203E40", Offset = "0x1202C40", VA = "0x181203E40")]
private void LBLMBNMBCMI(Tool DOOFPDFKCMK)
{
bool flag = this.CPEEKAIAHAK.Remove(DOOFPDFKCMK);
List<Tool> cpeekaiahak = this.CPEEKAIAHAK;
KKPBCOOONNK.JAKJLFDNEJA(base.gameObject);
}
// Token: 0x0600E6F8 RID: 59128 RVA: 0x00356FA0 File Offset: 0x003551A0
[Token(Token = "0x600E6F8")]
[Address(RVA = "0x1204980", Offset = "0x1203780", VA = "0x181204980")]
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: 0x040098A1 RID: 39073
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40098A1")]
private List<Tool> CPEEKAIAHAK;
// Token: 0x040098A2 RID: 39074
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40098A2")]
private List<Tool> GDLNPHNBLHJ;
// Token: 0x040098A3 RID: 39075
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40098A3")]
private List<int> DNMFCBOFFLM;
// Token: 0x040098A4 RID: 39076
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40098A4")]
private float JLMJPAABPEA;
// Token: 0x040098A5 RID: 39077
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x40098A5")]
private ConsumableInfo MDDMBJDBOGD;
// Token: 0x040098A6 RID: 39078
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40098A6")]
private string CJKJPAAIKNI;
}
}
@@ -0,0 +1,98 @@
using System;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.Tools;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002337 RID: 9015
[Token(Token = "0x2002337")]
public class ConsumableSpawnedToolPiece : MonoBehaviourPun
{
// Token: 0x0600E6F9 RID: 59129 RVA: 0x00356FDC File Offset: 0x003551DC
[Token(Token = "0x600E6F9")]
[Address(RVA = "0x1204A30", Offset = "0x1203830", VA = "0x181204A30", 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: 0x0600E6FA RID: 59130 RVA: 0x0035707C File Offset: 0x0035527C
[Token(Token = "0x600E6FA")]
[Address(RVA = "0xAD14B0", Offset = "0xAD02B0", VA = "0x180AD14B0")]
private void MNCLFHBBPHB(Tool NBHJPDBHDHB)
{
this.tool.rigidbodyEx.RemoveKinematic(this);
}
// Token: 0x0600E6FB RID: 59131 RVA: 0x003570A0 File Offset: 0x003552A0
[Token(Token = "0x600E6FB")]
[Address(RVA = "0x1204C80", Offset = "0x1203A80", VA = "0x181204C80", 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: 0x0600E6FC RID: 59132 RVA: 0x00357118 File Offset: 0x00355318
[Token(Token = "0x600E6FC")]
[Address(RVA = "0x1204DF0", Offset = "0x1203BF0", VA = "0x181204DF0")]
private void OnDisable()
{
KKPBCOOONNK.JAKJLFDNEJA(base.gameObject);
}
// Token: 0x0600E6FD RID: 59133 RVA: 0x00357134 File Offset: 0x00355334
[Token(Token = "0x600E6FD")]
[Address(RVA = "0x1204C00", Offset = "0x1203A00", VA = "0x181204C00")]
private void OENCFJHENPB(ushort LLEHBLJHJHM, ushort CPMPEJFMDED, ushort PLGFJEILFGP, ushort OEAPMLMHLLF)
{
if (base.OGIBLNIIHDK)
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
}
// Token: 0x0600E6FE RID: 59134 RVA: 0x00357158 File Offset: 0x00355358
[Token(Token = "0x600E6FE")]
[Address(RVA = "0x752FB0", Offset = "0x751DB0", VA = "0x180752FB0")]
public ConsumableSpawnedToolPiece()
{
}
// Token: 0x040098A7 RID: 39079
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40098A7")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.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: 0x02002338 RID: 9016
[Token(Token = "0x2002338")]
public abstract class ConsumableTool : MonoBehaviourPun
{
// Token: 0x170024D4 RID: 9428
// (get) Token: 0x0600E6FF RID: 59135 RVA: 0x0035716C File Offset: 0x0035536C
// (set) Token: 0x0600E700 RID: 59136 RVA: 0x00357180 File Offset: 0x00355380
[Token(Token = "0x170024D4")]
public PlayerSpawnedEquipment.IILDIBHEIDO GDKPKFJGOFO
{
[Token(Token = "0x600E6FF")]
[Address(RVA = "0x3FA190", Offset = "0x3F8F90", VA = "0x1803FA190")]
get;
[Token(Token = "0x600E700")]
[Address(RVA = "0x568560", Offset = "0x567360", VA = "0x180568560")]
private set;
}
// Token: 0x170024D5 RID: 9429
// (get) Token: 0x0600E701 RID: 59137 RVA: 0x00357194 File Offset: 0x00355394
// (set) Token: 0x0600E702 RID: 59138 RVA: 0x003571A8 File Offset: 0x003553A8
[Token(Token = "0x170024D5")]
public bool DKLGNFGONEM
{
[Token(Token = "0x600E701")]
[Address(RVA = "0xDF7080", Offset = "0xDF5E80", VA = "0x180DF7080")]
get;
[Token(Token = "0x600E702")]
[Address(RVA = "0xDF8330", Offset = "0xDF7130", VA = "0x180DF8330")]
private set;
}
// Token: 0x170024D6 RID: 9430
// (get) Token: 0x0600E703 RID: 59139 RVA: 0x003571BC File Offset: 0x003553BC
// (set) Token: 0x0600E704 RID: 59140 RVA: 0x003571D0 File Offset: 0x003553D0
[Token(Token = "0x170024D6")]
public OOCCCGPICOG PCCJOKHNIPL
{
[Token(Token = "0x600E703")]
[Address(RVA = "0x423DE0", Offset = "0x422BE0", VA = "0x180423DE0")]
get
{
return this.CKNFEDPPDOO;
}
[Token(Token = "0x600E704")]
[Address(RVA = "0x1205E50", Offset = "0x1204C50", VA = "0x181205E50")]
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: 0x170024D7 RID: 9431
// (get) Token: 0x0600E705 RID: 59141 RVA: 0x0035720C File Offset: 0x0035540C
// (set) Token: 0x0600E706 RID: 59142 RVA: 0x00357220 File Offset: 0x00355420
[Token(Token = "0x170024D7")]
protected ConsumableInfo MDDMBJDBOGD
{
[Token(Token = "0x600E705")]
[Address(RVA = "0x423E10", Offset = "0x422C10", VA = "0x180423E10")]
get;
[Token(Token = "0x600E706")]
[Address(RVA = "0x687270", Offset = "0x686070", VA = "0x180687270")]
set;
}
// Token: 0x0600E707 RID: 59143 RVA: 0x00357234 File Offset: 0x00355434
[Token(Token = "0x600E707")]
[Address(RVA = "0x1204E70", Offset = "0x1203C70", VA = "0x181204E70", 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: 0x0600E708 RID: 59144 RVA: 0x003573C0 File Offset: 0x003555C0
[Token(Token = "0x600E708")]
[Address(RVA = "0x12052A0", Offset = "0x12040A0", VA = "0x1812052A0")]
private void FICCBKGGJOE(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
{
if (base.PFAAACOLOCL)
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
return;
}
}
// Token: 0x0600E709 RID: 59145 RVA: 0x003573E4 File Offset: 0x003555E4
[Token(Token = "0x600E709")]
[Address(RVA = "0x1205B90", Offset = "0x1204990", VA = "0x181205B90")]
private void OENCFJHENPB(ushort LLEHBLJHJHM, ushort CPMPEJFMDED, ushort PLGFJEILFGP, ushort OEAPMLMHLLF)
{
if (base.OGIBLNIIHDK)
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
}
// Token: 0x0600E70A RID: 59146 RVA: 0x00357408 File Offset: 0x00355608
[Token(Token = "0x600E70A")]
[Address(RVA = "0x1205C10", Offset = "0x1204A10", VA = "0x181205C10", 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: 0x0600E70B RID: 59147 RVA: 0x00357464 File Offset: 0x00355664
[Token(Token = "0x600E70B")]
[Address(RVA = "0x1205320", Offset = "0x1204120", VA = "0x181205320", 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: 0x0600E70C RID: 59148 RVA: 0x003575F8 File Offset: 0x003557F8
[Token(Token = "0x600E70C")]
[Address(RVA = "0x1205A60", Offset = "0x1204860", VA = "0x181205A60")]
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: 0x0600E70D RID: 59149 RVA: 0x00357674 File Offset: 0x00355874
[Token(Token = "0x600E70D")]
[Address(RVA = "0x12058F0", Offset = "0x12046F0", VA = "0x1812058F0")]
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: 0x0600E70E RID: 59150 RVA: 0x003576B0 File Offset: 0x003558B0
[Token(Token = "0x600E70E")]
[Address(RVA = "0x1205810", Offset = "0x1204610", VA = "0x181205810")]
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: 0x0600E70F RID: 59151 RVA: 0x003576EC File Offset: 0x003558EC
[Token(Token = "0x600E70F")]
[Address(RVA = "0x12059D0", Offset = "0x12047D0", VA = "0x1812059D0")]
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: 0x0600E710 RID: 59152 RVA: 0x00357724 File Offset: 0x00355924
[Token(Token = "0x600E710")]
[Address(RVA = "0x460D40", Offset = "0x45FB40", VA = "0x180460D40")]
private bool EPPFLONEOMA(Tool NBHJPDBHDHB, Killzone IKPBPBLJCOC)
{
return true;
}
// Token: 0x0600E711 RID: 59153 RVA: 0x00357734 File Offset: 0x00355934
[Token(Token = "0x600E711")]
[Address(RVA = "0x1205DD0", Offset = "0x1204BD0", VA = "0x181205DD0")]
protected ConsumableTool()
{
object obj = new object();
this.BNMODDGEGHN = obj;
object obj2 = new object();
this.LECKFKBFHGB = obj2;
base..ctor();
}
// Token: 0x040098A8 RID: 39080
[Token(Token = "0x40098A8")]
private static List<ConsumableTool> HCIKBFLBMPH = new List();
// Token: 0x040098A9 RID: 39081
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x40098A9")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
protected Tool tool;
// Token: 0x040098AA RID: 39082
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x40098AA")]
private object BNMODDGEGHN;
// Token: 0x040098AB RID: 39083
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x40098AB")]
private object LECKFKBFHGB;
// Token: 0x040098AE RID: 39086
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40098AE")]
protected OOCCCGPICOG CKNFEDPPDOO;
// Token: 0x02002339 RID: 9017
[Token(Token = "0x2002339")]
[CompilerGenerated]
private sealed class AJIFIAHMIEK
{
// Token: 0x0600E713 RID: 59155 RVA: 0x0035777C File Offset: 0x0035597C
[Token(Token = "0x600E713")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public AJIFIAHMIEK()
{
}
// Token: 0x0600E714 RID: 59156 RVA: 0x00357790 File Offset: 0x00355990
[Token(Token = "0x600E714")]
[Address(RVA = "0x11F6020", Offset = "0x11F4E20", VA = "0x1811F6020")]
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: 0x040098B0 RID: 39088
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40098B0")]
public long id;
}
// Token: 0x0200233A RID: 9018
[Token(Token = "0x200233A")]
[CompilerGenerated]
private sealed class DFGDNDPNCJE
{
// Token: 0x0600E715 RID: 59157 RVA: 0x003577D4 File Offset: 0x003559D4
[Token(Token = "0x600E715")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public DFGDNDPNCJE()
{
}
// Token: 0x0600E716 RID: 59158 RVA: 0x003577E8 File Offset: 0x003559E8
[Token(Token = "0x600E716")]
[Address(RVA = "0x1206B30", Offset = "0x1205930", VA = "0x181206B30")]
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: 0x040098B1 RID: 39089
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40098B1")]
public ConsumableManager.KIDKMAOBOIG category;
}
}
}
@@ -0,0 +1,87 @@
using System;
using Cpp2IlInjected;
using RecRoom.Storefronts;
namespace RecRoom.Consumable
{
// Token: 0x0200231D RID: 8989
[Token(Token = "0x200231D")]
[Serializable]
public class CouponConsumableInfo : ConsumableInfo
{
// Token: 0x0600E658 RID: 58968 RVA: 0x003548C4 File Offset: 0x00352AC4
[Token(Token = "0x600E658")]
[Address(RVA = "0x1205F50", Offset = "0x1204D50", VA = "0x181205F50")]
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: 0x0600E659 RID: 58969 RVA: 0x00354910 File Offset: 0x00352B10
[Token(Token = "0x600E659")]
[Address(RVA = "0x1205EA0", Offset = "0x1204CA0", VA = "0x181205EA0")]
public long JNLBKGLHNAF(long DENMLCGOKNK)
{
/*
An exception occurred when decompiling this method (0600E659)
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: 0x0600E65A RID: 58970 RVA: 0x00354950 File Offset: 0x00352B50
[Token(Token = "0x600E65A")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public CouponConsumableInfo()
{
}
// Token: 0x04009840 RID: 38976
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009840")]
public HHOLBEMEIPH DiscountType;
// Token: 0x04009841 RID: 38977
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x4009841")]
public DGOHCPBKOHD StorefrontType;
// Token: 0x04009842 RID: 38978
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009842")]
public ACDKILABNNC CurrencyType;
// Token: 0x04009843 RID: 38979
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x4009843")]
public int CouponValue;
}
}
@@ -0,0 +1,132 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200233B RID: 9019
[Token(Token = "0x200233B")]
public class CouponConsumableItem : ConsumableItem
{
// Token: 0x170024D8 RID: 9432
// (get) Token: 0x0600E717 RID: 59159 RVA: 0x00357828 File Offset: 0x00355A28
[Token(Token = "0x170024D8")]
public HHOLBEMEIPH FEABCBEJONC
{
[Token(Token = "0x600E717")]
[Address(RVA = "0x3FA190", Offset = "0x3F8F90", VA = "0x1803FA190")]
get
{
return this.discountType;
}
}
// Token: 0x170024D9 RID: 9433
// (get) Token: 0x0600E718 RID: 59160 RVA: 0x0035783C File Offset: 0x00355A3C
[Token(Token = "0x170024D9")]
public int DMLIOOCLKKP
{
[Token(Token = "0x600E718")]
[Address(RVA = "0x7FA0A0", Offset = "0x7F8EA0", VA = "0x1807FA0A0")]
get
{
return this.value;
}
}
// Token: 0x170024DA RID: 9434
// (get) Token: 0x0600E719 RID: 59161 RVA: 0x00357850 File Offset: 0x00355A50
[Token(Token = "0x170024DA")]
public DGOHCPBKOHD GHOKCIMBEMM
{
[Token(Token = "0x600E719")]
[Address(RVA = "0xD17AD0", Offset = "0xD168D0", VA = "0x180D17AD0")]
get
{
return this.storefrontType;
}
}
// Token: 0x170024DB RID: 9435
// (get) Token: 0x0600E71A RID: 59162 RVA: 0x00357864 File Offset: 0x00355A64
[Token(Token = "0x170024DB")]
public ACDKILABNNC IILDJGJNFIM
{
[Token(Token = "0x600E71A")]
[Address(RVA = "0x60D5D0", Offset = "0x60C3D0", VA = "0x18060D5D0")]
get
{
return this.currencyType;
}
}
// Token: 0x0600E71B RID: 59163 RVA: 0x00357878 File Offset: 0x00355A78
[Token(Token = "0x600E71B")]
[Address(RVA = "0x1205FF0", Offset = "0x1204DF0", VA = "0x181205FF0")]
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: 0x0600E71C RID: 59164 RVA: 0x003578AC File Offset: 0x00355AAC
[Token(Token = "0x600E71C")]
[Address(RVA = "0x12060B0", Offset = "0x1204EB0", VA = "0x1812060B0", 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: 0x0600E71D RID: 59165 RVA: 0x00357900 File Offset: 0x00355B00
[Token(Token = "0x600E71D")]
[Address(RVA = "0x11F6DE0", Offset = "0x11F5BE0", VA = "0x1811F6DE0")]
public CouponConsumableItem()
{
}
// Token: 0x040098B2 RID: 39090
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40098B2")]
[SerializeField]
[Header("Coupon Settings")]
protected HHOLBEMEIPH discountType;
// Token: 0x040098B3 RID: 39091
[FieldOffset(Offset = "0x5C")]
[Token(Token = "0x40098B3")]
[SerializeField]
protected int value;
// Token: 0x040098B4 RID: 39092
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40098B4")]
[SerializeField]
protected DGOHCPBKOHD storefrontType;
// Token: 0x040098B5 RID: 39093
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x40098B5")]
[SerializeField]
protected ACDKILABNNC currencyType;
}
}
@@ -0,0 +1,142 @@
using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using TMPro;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200233C RID: 9020
[Token(Token = "0x200233C")]
public class CouponConsumableTool : ConsumableTool
{
// Token: 0x0600E71E RID: 59166 RVA: 0x00357914 File Offset: 0x00355B14
[Token(Token = "0x600E71E")]
[Address(RVA = "0x1206150", Offset = "0x1204F50", VA = "0x181206150", 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: 0x0600E71F RID: 59167 RVA: 0x00357958 File Offset: 0x00355B58
[Token(Token = "0x600E71F")]
[Address(RVA = "0x1206570", Offset = "0x1205370", VA = "0x181206570", 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: 0x0600E720 RID: 59168 RVA: 0x003579EC File Offset: 0x00355BEC
[Token(Token = "0x600E720")]
[Address(RVA = "0x1206200", Offset = "0x1205000", VA = "0x181206200", 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 isCompleted = ((IAsyncResult)textMeshPro2).IsCompleted;
}
// Token: 0x0600E721 RID: 59169 RVA: 0x00357A78 File Offset: 0x00355C78
[Token(Token = "0x600E721")]
[Address(RVA = "0x1206450", Offset = "0x1205250", VA = "0x181206450")]
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: 0x0600E722 RID: 59170 RVA: 0x00357ADC File Offset: 0x00355CDC
[Token(Token = "0x600E722")]
[Address(RVA = "0x12066F0", Offset = "0x12054F0", VA = "0x1812066F0")]
public CouponConsumableTool()
{
}
// Token: 0x0600E723 RID: 59171 RVA: 0x00357AF0 File Offset: 0x00355CF0
[Token(Token = "0x600E723")]
[Address(RVA = "0x12063F0", Offset = "0x12051F0", VA = "0x1812063F0")]
[CompilerGenerated]
private void JBLHCCMIJGL()
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
// Token: 0x040098B6 RID: 39094
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40098B6")]
[SerializeField]
private TextMeshPro mainText;
// Token: 0x040098B7 RID: 39095
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40098B7")]
[SerializeField]
private TextMeshPro subText;
// Token: 0x040098B8 RID: 39096
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x40098B8")]
private CouponConsumableInfo OICOOGLDGMH;
// Token: 0x040098B9 RID: 39097
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x40098B9")]
private bool OEJHFGNAGFB;
}
}
@@ -0,0 +1,84 @@
using System;
using Cpp2IlInjected;
using RecRoom.Core.Pools;
namespace RecRoom.Consumable
{
// Token: 0x0200233D RID: 9021
[Token(Token = "0x200233D")]
public class CustomKOConsumableEffect : ConsumableEffect
{
// Token: 0x0600E724 RID: 59172 RVA: 0x00357B08 File Offset: 0x00355D08
[Token(Token = "0x600E724")]
[Address(RVA = "0x1206750", Offset = "0x1205550", VA = "0x181206750", Slot = "13")]
protected override void Awake()
{
base.Awake();
this.<CEKFDODGELA>k__BackingField.Add((uint)5);
}
// Token: 0x0600E725 RID: 59173 RVA: 0x00357B30 File Offset: 0x00355D30
[Token(Token = "0x600E725")]
[Address(RVA = "0x1206850", Offset = "0x1205650", VA = "0x181206850")]
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: 0x0600E726 RID: 59174 RVA: 0x00357BDC File Offset: 0x00355DDC
[Token(Token = "0x600E726")]
[Address(RVA = "0x12067B0", Offset = "0x12055B0", VA = "0x1812067B0")]
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: 0x0600E727 RID: 59175 RVA: 0x00357C1C File Offset: 0x00355E1C
[Token(Token = "0x600E727")]
[Address(RVA = "0x1206AD0", Offset = "0x12058D0", VA = "0x181206AD0")]
public CustomKOConsumableEffect()
{
}
}
}
@@ -0,0 +1,38 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200233E RID: 9022
[Token(Token = "0x200233E")]
public class CustomKOConsumableItem : ConsumableItem
{
// Token: 0x170024DC RID: 9436
// (get) Token: 0x0600E728 RID: 59176 RVA: 0x00357C30 File Offset: 0x00355E30
[Token(Token = "0x170024DC")]
public CustomKOEffect BLGOJIKBOFB
{
[Token(Token = "0x600E728")]
[Address(RVA = "0x423D40", Offset = "0x422B40", VA = "0x180423D40")]
get
{
return this.customKOPrefab;
}
}
// Token: 0x0600E729 RID: 59177 RVA: 0x00357C44 File Offset: 0x00355E44
[Token(Token = "0x600E729")]
[Address(RVA = "0x11F6DE0", Offset = "0x11F5BE0", VA = "0x1811F6DE0")]
public CustomKOConsumableItem()
{
}
// Token: 0x040098BA RID: 39098
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40098BA")]
[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: 0x0200233F RID: 9023
[Token(Token = "0x200233F")]
public class DefaultConsumableTool : ConsumableTool
{
// Token: 0x0600E72A RID: 59178 RVA: 0x00357C58 File Offset: 0x00355E58
[Token(Token = "0x600E72A")]
[Address(RVA = "0x1206BE0", Offset = "0x12059E0", VA = "0x181206BE0", 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: 0x0600E72B RID: 59179 RVA: 0x00357C9C File Offset: 0x00355E9C
[Token(Token = "0x600E72B")]
[Address(RVA = "0x1206E30", Offset = "0x1205C30", VA = "0x181206E30", 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: 0x0600E72C RID: 59180 RVA: 0x00357CE8 File Offset: 0x00355EE8
[Token(Token = "0x600E72C")]
[Address(RVA = "0x1206C90", Offset = "0x1205A90", VA = "0x181206C90", 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: 0x0600E72D RID: 59181 RVA: 0x00357D38 File Offset: 0x00355F38
[Token(Token = "0x600E72D")]
[Address(RVA = "0x1206D60", Offset = "0x1205B60", VA = "0x181206D60")]
private void MNCLFHBBPHB(Tool NBHJPDBHDHB)
{
base.LHBLHBEIFKA();
Action action = new Action(this.ONAALNFGKAF);
KFBABPAPIMB kfbabpapimb = this.JGIPMJPPCBM(action);
}
// Token: 0x0600E72E RID: 59182 RVA: 0x00357D60 File Offset: 0x00355F60
[Token(Token = "0x600E72E")]
[Address(RVA = "0x1206EF0", Offset = "0x1205CF0", VA = "0x181206EF0")]
public DefaultConsumableTool()
{
}
// Token: 0x0600E72F RID: 59183 RVA: 0x00357D74 File Offset: 0x00355F74
[Token(Token = "0x600E72F")]
[Address(RVA = "0x1206DD0", Offset = "0x1205BD0", VA = "0x181206DD0")]
[CompilerGenerated]
private void ONAALNFGKAF()
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
// Token: 0x040098BB RID: 39099
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40098BB")]
[SerializeField]
protected Transform visualRoot;
}
}
@@ -0,0 +1,37 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002340 RID: 9024
[Token(Token = "0x2002340")]
public class FoodConsumableItem : ConsumableItem
{
// Token: 0x170024DD RID: 9437
// (get) Token: 0x0600E730 RID: 59184 RVA: 0x00357D8C File Offset: 0x00355F8C
[Token(Token = "0x170024DD")]
public EquipmentSkin BFENKJBKJBD
{
[Token(Token = "0x600E730")]
[Address(RVA = "0x423D40", Offset = "0x422B40", VA = "0x180423D40")]
get
{
return this.foodSkin;
}
}
// Token: 0x0600E731 RID: 59185 RVA: 0x00357DA0 File Offset: 0x00355FA0
[Token(Token = "0x600E731")]
[Address(RVA = "0x11F6DE0", Offset = "0x11F5BE0", VA = "0x1811F6DE0")]
public FoodConsumableItem()
{
}
// Token: 0x040098BC RID: 39100
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40098BC")]
[SerializeField]
protected EquipmentSkin foodSkin;
}
}
@@ -0,0 +1,18 @@
using System;
using Cpp2IlInjected;
namespace RecRoom.Consumable
{
// Token: 0x0200231B RID: 8987
[Token(Token = "0x200231B")]
[Serializable]
public class GenericConsumableInfo : ConsumableInfo
{
// Token: 0x0600E656 RID: 58966 RVA: 0x0035489C File Offset: 0x00352A9C
[Token(Token = "0x600E656")]
[Address(RVA = "0x4093D0", Offset = "0x4081D0", VA = "0x1804093D0")]
public GenericConsumableInfo()
{
}
}
}
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace RecRoom.Consumable
{
// Token: 0x0200231C RID: 8988
[Token(Token = "0x200231C")]
[Serializable]
public class HairDyeConsumableInfo : ConsumableInfo
{
// Token: 0x0600E657 RID: 58967 RVA: 0x003548B0 File Offset: 0x00352AB0
[Token(Token = "0x600E657")]
[Address(RVA = "0x4093D0", Offset = "0x4081D0", VA = "0x1804093D0")]
public HairDyeConsumableInfo()
{
}
// Token: 0x0400983F RID: 38975
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x400983F")]
public string HairColorGUID;
}
}
@@ -0,0 +1,42 @@
using System;
using Cpp2IlInjected;
namespace RecRoom.Consumable
{
// Token: 0x02002341 RID: 9025
[Token(Token = "0x2002341")]
public class HairDyePotionConsumableEffect : ConsumableEffect
{
// Token: 0x0600E732 RID: 59186 RVA: 0x00357DB4 File Offset: 0x00355FB4
[Token(Token = "0x600E732")]
[Address(RVA = "0x139B920", Offset = "0x139A720", VA = "0x18139B920", Slot = "13")]
protected override void Awake()
{
base.Awake();
this.<CEKFDODGELA>k__BackingField.Add((uint)6);
}
// Token: 0x0600E733 RID: 59187 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600E733")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "16")]
protected override void IEKANKBCIBP(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600E734 RID: 59188 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x600E734")]
[Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "17")]
protected override void HHBCNEEODDB(ConsumableItem ALMOGLHMFHL, bool CPNHCODHDAD)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0600E735 RID: 59189 RVA: 0x00357DDC File Offset: 0x00355FDC
[Token(Token = "0x600E735")]
[Address(RVA = "0x139B980", Offset = "0x139A780", VA = "0x18139B980")]
public HairDyePotionConsumableEffect()
{
}
}
}
@@ -0,0 +1,66 @@
using System;
using Cpp2IlInjected;
using RecRoom.Avatars;
using RecRoom.Avatars.Outfit;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002342 RID: 9026
[Token(Token = "0x2002342")]
public class HairDyePotionConsumableItem : ConsumableItem
{
// Token: 0x170024DE RID: 9438
// (get) Token: 0x0600E736 RID: 59190 RVA: 0x00357DF0 File Offset: 0x00355FF0
[Token(Token = "0x170024DE")]
public string GFOABAHHBPO
{
[Token(Token = "0x600E736")]
[Address(RVA = "0x423D40", Offset = "0x422B40", VA = "0x180423D40")]
get
{
return this.colorGuid;
}
}
// Token: 0x170024DF RID: 9439
// (get) Token: 0x0600E737 RID: 59191 RVA: 0x00357E04 File Offset: 0x00356004
[Token(Token = "0x170024DF")]
public ColorVault.ColorToGuid EGPPAIIEJFM
{
[Token(Token = "0x600E737")]
[Address(RVA = "0x139BA70", Offset = "0x139A870", VA = "0x18139BA70")]
get
{
OutfitManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
string text = this.colorGuid;
return instance.FindSkinColor(text, true);
}
}
// Token: 0x0600E738 RID: 59192 RVA: 0x00357E2C File Offset: 0x0035602C
[Token(Token = "0x600E738")]
[Address(RVA = "0x139B9E0", Offset = "0x139A7E0", VA = "0x18139B9E0", Slot = "5")]
public override ConsumableInfo ToConsumableInfo()
{
HairDyeConsumableInfo hairDyeConsumableInfo = new HairDyeConsumableInfo();
string text = this.colorGuid;
hairDyeConsumableInfo.HairColorGUID = text;
throw new NullReferenceException();
}
// Token: 0x0600E739 RID: 59193 RVA: 0x00357E54 File Offset: 0x00356054
[Token(Token = "0x600E739")]
[Address(RVA = "0x11F6DE0", Offset = "0x11F5BE0", VA = "0x1811F6DE0")]
public HairDyePotionConsumableItem()
{
}
// Token: 0x040098BD RID: 39101
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40098BD")]
[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: 0x02002343 RID: 9027
[Token(Token = "0x2002343")]
public class HandPotionConsumableEffect : ConsumableEffect
{
// Token: 0x0600E73A RID: 59194 RVA: 0x00357E68 File Offset: 0x00356068
[Token(Token = "0x600E73A")]
[Address(RVA = "0x139BAE0", Offset = "0x139A8E0", VA = "0x18139BAE0", Slot = "13")]
protected override void Awake()
{
base.Awake();
this.<CEKFDODGELA>k__BackingField.Add((uint)3);
}
// Token: 0x0600E73B RID: 59195 RVA: 0x00357E90 File Offset: 0x00356090
[Token(Token = "0x600E73B")]
[Address(RVA = "0x139BD80", Offset = "0x139AB80", VA = "0x18139BD80", 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: 0x0600E73C RID: 59196 RVA: 0x00357F80 File Offset: 0x00356180
[Token(Token = "0x600E73C")]
[Address(RVA = "0x139BB40", Offset = "0x139A940", VA = "0x18139BB40", 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: 0x0600E73D RID: 59197 RVA: 0x00358070 File Offset: 0x00356270
[Token(Token = "0x600E73D")]
[Address(RVA = "0x139BFC0", Offset = "0x139ADC0", VA = "0x18139BFC0")]
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: 0x0600E73E RID: 59198 RVA: 0x00358098 File Offset: 0x00356298
[Token(Token = "0x600E73E")]
[Address(RVA = "0x139C560", Offset = "0x139B360", VA = "0x18139C560")]
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: 0x0600E73F RID: 59199 RVA: 0x003580BC File Offset: 0x003562BC
[Token(Token = "0x600E73F")]
[Address(RVA = "0x139C0E0", Offset = "0x139AEE0", VA = "0x18139C0E0")]
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: 0x0600E740 RID: 59200 RVA: 0x003581B0 File Offset: 0x003563B0
[Token(Token = "0x600E740")]
[Address(RVA = "0x139C680", Offset = "0x139B480", VA = "0x18139C680")]
public HandPotionConsumableEffect()
{
}
// Token: 0x040098BE RID: 39102
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x40098BE")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.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: 0x02002344 RID: 9028
[Token(Token = "0x2002344")]
public class HandPotionConsumableItem : ConsumableItem
{
// Token: 0x170024E0 RID: 9440
// (get) Token: 0x0600E741 RID: 59201 RVA: 0x003581C4 File Offset: 0x003563C4
[Token(Token = "0x170024E0")]
public PooledParticle ILNJDIBBKPM
{
[Token(Token = "0x600E741")]
[Address(RVA = "0x423D40", Offset = "0x422B40", VA = "0x180423D40")]
get
{
return this.particleEffectObject;
}
}
// Token: 0x170024E1 RID: 9441
// (get) Token: 0x0600E742 RID: 59202 RVA: 0x003581D8 File Offset: 0x003563D8
[Token(Token = "0x170024E1")]
public AudioClip DAKFMMOODOL
{
[Token(Token = "0x600E742")]
[Address(RVA = "0x423DE0", Offset = "0x422BE0", VA = "0x180423DE0")]
get
{
return this.onGestureAudio;
}
}
// Token: 0x0600E743 RID: 59203 RVA: 0x003581EC File Offset: 0x003563EC
[Token(Token = "0x600E743")]
[Address(RVA = "0x11F6DE0", Offset = "0x11F5BE0", VA = "0x1811F6DE0")]
public HandPotionConsumableItem()
{
}
// Token: 0x040098BF RID: 39103
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40098BF")]
[SerializeField]
[Header("Hand potion")]
protected PooledParticle particleEffectObject;
// Token: 0x040098C0 RID: 39104
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x40098C0")]
[SerializeField]
protected AudioClip onGestureAudio;
}
}
@@ -0,0 +1,114 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002345 RID: 9029
[Token(Token = "0x2002345")]
public class HeadPotionConsumableEffect : ConsumableEffect
{
// Token: 0x0600E744 RID: 59204 RVA: 0x00358200 File Offset: 0x00356400
[Token(Token = "0x600E744")]
[Address(RVA = "0x139C6E0", Offset = "0x139B4E0", VA = "0x18139C6E0", Slot = "13")]
protected override void Awake()
{
base.Awake();
this.<CEKFDODGELA>k__BackingField.Add((uint)2);
}
// Token: 0x0600E745 RID: 59205 RVA: 0x00358228 File Offset: 0x00356428
[Token(Token = "0x600E745")]
[Address(RVA = "0x139C960", Offset = "0x139B760", VA = "0x18139C960", 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: 0x0600E746 RID: 59206 RVA: 0x003582CC File Offset: 0x003564CC
[Token(Token = "0x600E746")]
[Address(RVA = "0x139C740", Offset = "0x139B540", VA = "0x18139C740", 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: 0x0600E747 RID: 59207 RVA: 0x00358364 File Offset: 0x00356564
[Token(Token = "0x600E747")]
[Address(RVA = "0x139CB70", Offset = "0x139B970", VA = "0x18139CB70")]
public HeadPotionConsumableEffect()
{
}
// Token: 0x040098C1 RID: 39105
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40098C1")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
private Player myPlayer;
// Token: 0x040098C2 RID: 39106
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x40098C2")]
[SerializeField]
private AudioClip inflateSound;
// Token: 0x040098C3 RID: 39107
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x40098C3")]
[SerializeField]
private AudioClip deflateSound;
// Token: 0x040098C4 RID: 39108
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x40098C4")]
[SerializeField]
private float inflatedHeadScale = 2f;
}
}
@@ -0,0 +1,23 @@
using System;
using Cpp2IlInjected;
namespace RecRoom.Consumable
{
// Token: 0x0200231E RID: 8990
[Token(Token = "0x200231E")]
[Serializable]
public class HeadPotionConsumableInfo : ConsumableInfo
{
// Token: 0x0600E65B RID: 58971 RVA: 0x00354964 File Offset: 0x00352B64
[Token(Token = "0x600E65B")]
[Address(RVA = "0x4093D0", Offset = "0x4081D0", VA = "0x1804093D0")]
public HeadPotionConsumableInfo()
{
}
// Token: 0x04009844 RID: 38980
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009844")]
public HeadPotionConsumableItem.HAIOIEHFIOH PotionType;
}
}
@@ -0,0 +1,61 @@
using System;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002346 RID: 9030
[Token(Token = "0x2002346")]
public class HeadPotionConsumableItem : ConsumableItem
{
// Token: 0x170024E2 RID: 9442
// (get) Token: 0x0600E748 RID: 59208 RVA: 0x00358384 File Offset: 0x00356584
[Token(Token = "0x170024E2")]
public HeadPotionConsumableItem.HAIOIEHFIOH BPOJHOFMKOO
{
[Token(Token = "0x600E748")]
[Address(RVA = "0x3FA190", Offset = "0x3F8F90", VA = "0x1803FA190")]
get
{
return this.potionType;
}
}
// Token: 0x0600E749 RID: 59209 RVA: 0x00358398 File Offset: 0x00356598
[Token(Token = "0x600E749")]
[Address(RVA = "0x139CBD0", Offset = "0x139B9D0", VA = "0x18139CBD0", Slot = "5")]
public override ConsumableInfo ToConsumableInfo()
{
HeadPotionConsumableInfo headPotionConsumableInfo = new HeadPotionConsumableInfo();
HeadPotionConsumableItem.HAIOIEHFIOH haioiehfioh = this.potionType;
headPotionConsumableInfo.PotionType = haioiehfioh;
throw new NullReferenceException();
}
// Token: 0x0600E74A RID: 59210 RVA: 0x003583C0 File Offset: 0x003565C0
[Token(Token = "0x600E74A")]
[Address(RVA = "0x11F6DE0", Offset = "0x11F5BE0", VA = "0x1811F6DE0")]
public HeadPotionConsumableItem()
{
}
// Token: 0x040098C5 RID: 39109
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x40098C5")]
[SerializeField]
[Header("Head potion")]
protected HeadPotionConsumableItem.HAIOIEHFIOH potionType;
// Token: 0x02002347 RID: 9031
[Token(Token = "0x2002347")]
public enum HAIOIEHFIOH
{
// Token: 0x040098C7 RID: 39111
[Token(Token = "0x40098C7")]
INVALID,
// Token: 0x040098C8 RID: 39112
[Token(Token = "0x40098C8")]
DKMode
}
}
}
@@ -0,0 +1,96 @@
using System;
using Cpp2IlInjected;
using RecRoom.Activities.Quest.Goblin2;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x02002348 RID: 9032
[Token(Token = "0x2002348")]
public class PotionConsumableTool : ConsumableTool
{
// Token: 0x0600E74B RID: 59211 RVA: 0x003583D4 File Offset: 0x003565D4
[Token(Token = "0x600E74B")]
[Address(RVA = "0x139CF20", Offset = "0x139BD20", VA = "0x18139CF20", 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: 0x0600E74C RID: 59212 RVA: 0x00358438 File Offset: 0x00356638
[Token(Token = "0x600E74C")]
[Address(RVA = "0x139D0D0", Offset = "0x139BED0", VA = "0x18139D0D0", 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: 0x0600E74D RID: 59213 RVA: 0x0035849C File Offset: 0x0035669C
[Token(Token = "0x600E74D")]
[Address(RVA = "0x139D1D0", Offset = "0x139BFD0", VA = "0x18139D1D0")]
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: 0x0600E74E RID: 59214 RVA: 0x00358504 File Offset: 0x00356704
[Token(Token = "0x600E74E")]
[Address(RVA = "0x139D020", Offset = "0x139BE20", VA = "0x18139D020")]
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: 0x0600E74F RID: 59215 RVA: 0x00358548 File Offset: 0x00356748
[Token(Token = "0x600E74F")]
[Address(RVA = "0x139D2E0", Offset = "0x139C0E0", VA = "0x18139D2E0")]
public PotionConsumableTool()
{
}
// Token: 0x040098C9 RID: 39113
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40098C9")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
protected Potion potion;
// Token: 0x040098CA RID: 39114
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40098CA")]
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: 0x02002349 RID: 9033
[Token(Token = "0x2002349")]
[RequireComponent(typeof(Tool))]
[RequireComponent(typeof(ToolSet))]
public class SpawnerConsumableTool : ConsumableTool
{
// Token: 0x0600E750 RID: 59216 RVA: 0x0035855C File Offset: 0x0035675C
[Token(Token = "0x600E750")]
[Address(RVA = "0x139D3C0", Offset = "0x139C1C0", VA = "0x18139D3C0", 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: 0x0600E751 RID: 59217 RVA: 0x003585F4 File Offset: 0x003567F4
[Token(Token = "0x600E751")]
[Address(RVA = "0x139DAE0", Offset = "0x139C8E0", VA = "0x18139DAE0", 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> postReleaseEvent = tool2.PostReleaseEvent;
Action<Tool> action2 = new Action(this.MNCLFHBBPHB);
MFBGLIHGCGO<Tool> mfbglihgcgo2 = MFBGLIHGCGO.GMNMHGMFGOL(postReleaseEvent, action2);
tool2.PostReleaseEvent = mfbglihgcgo2;
ToolSet toolSet = this.toolSet;
Action<List<Tool>> action3 = new Action(this.JMENIIMAPPH);
toolSet.OnPiecesSpawned -= action3;
base.OnDestroy();
}
// Token: 0x0600E752 RID: 59218 RVA: 0x0035868C File Offset: 0x0035688C
[Token(Token = "0x600E752")]
[Address(RVA = "0x139D510", Offset = "0x139C310", VA = "0x18139D510")]
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: 0x0600E753 RID: 59219 RVA: 0x003586E0 File Offset: 0x003568E0
[Token(Token = "0x600E753")]
[Address(RVA = "0x139D980", Offset = "0x139C780", VA = "0x18139D980")]
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: 0x0600E754 RID: 59220 RVA: 0x00358750 File Offset: 0x00356950
[Token(Token = "0x600E754")]
[Address(RVA = "0x139D660", Offset = "0x139C460", VA = "0x18139D660")]
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: 0x0600E755 RID: 59221 RVA: 0x00358844 File Offset: 0x00356A44
[Token(Token = "0x600E755")]
[Address(RVA = "0x139DC30", Offset = "0x139CA30", VA = "0x18139DC30")]
public SpawnerConsumableTool()
{
}
// Token: 0x0600E756 RID: 59222 RVA: 0x00358858 File Offset: 0x00356A58
[Token(Token = "0x600E756")]
[Address(RVA = "0x139DA80", Offset = "0x139C880", VA = "0x18139DA80")]
[CompilerGenerated]
private void OKDFPAHGALB()
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
// Token: 0x040098CB RID: 39115
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x40098CB")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
private ToolSet toolSet;
// Token: 0x040098CC RID: 39116
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x40098CC")]
private bool HCJBMDICMFA;
// Token: 0x0200234A RID: 9034
[Token(Token = "0x200234A")]
[CompilerGenerated]
private sealed class MEFHBFJPFFA
{
// Token: 0x0600E757 RID: 59223 RVA: 0x00358870 File Offset: 0x00356A70
[Token(Token = "0x600E757")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public MEFHBFJPFFA()
{
}
// Token: 0x0600E758 RID: 59224 RVA: 0x00358884 File Offset: 0x00356A84
[Token(Token = "0x600E758")]
[Address(RVA = "0x139CDF0", Offset = "0x139BBF0", VA = "0x18139CDF0")]
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: 0x040098CD RID: 39117
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40098CD")]
public SpawnerConsumableTool <>4__this;
// Token: 0x040098CE RID: 39118
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40098CE")]
public List<Tool> pieces;
// Token: 0x040098CF RID: 39119
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x40098CF")]
public Action <>9__2;
}
// Token: 0x0200234B RID: 9035
[Token(Token = "0x200234B")]
[CompilerGenerated]
private sealed class KPJINBNEAOL
{
// Token: 0x0600E759 RID: 59225 RVA: 0x003588D8 File Offset: 0x00356AD8
[Token(Token = "0x600E759")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public KPJINBNEAOL()
{
}
// Token: 0x0600E75A RID: 59226 RVA: 0x003588EC File Offset: 0x00356AEC
[Token(Token = "0x600E75A")]
[Address(RVA = "0x139CC60", Offset = "0x139BA60", VA = "0x18139CC60")]
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: 0x040098D0 RID: 39120
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x40098D0")]
public ConsumableInfo info;
// Token: 0x040098D1 RID: 39121
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x40098D1")]
public SpawnerConsumableTool.MEFHBFJPFFA CS$<>8__locals1;
}
}
}