Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/RecRoom/Consumable/ConsumableTool.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

468 lines
16 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.Tools;
using UnityEngine;
namespace RecRoom.Consumable
{
// Token: 0x0200241C RID: 9244
[Token(Token = "0x200241C")]
public abstract class ConsumableTool : MonoBehaviourPun
{
// Token: 0x17002575 RID: 9589
// (get) Token: 0x0600EB0E RID: 60174 RVA: 0x003605FC File Offset: 0x0035E7FC
// (set) Token: 0x0600EB0F RID: 60175 RVA: 0x00360610 File Offset: 0x0035E810
[Token(Token = "0x17002575")]
public PlayerSpawnedEquipment.IILDIBHEIDO GDKPKFJGOFO
{
[Token(Token = "0x600EB0E")]
[Address(RVA = "0x56DD20", Offset = "0x56CD20", VA = "0x18056DD20")]
get;
[Token(Token = "0x600EB0F")]
[Address(RVA = "0x56DEE0", Offset = "0x56CEE0", VA = "0x18056DEE0")]
private set;
}
// Token: 0x17002576 RID: 9590
// (get) Token: 0x0600EB10 RID: 60176 RVA: 0x00360624 File Offset: 0x0035E824
// (set) Token: 0x0600EB11 RID: 60177 RVA: 0x00360638 File Offset: 0x0035E838
[Token(Token = "0x17002576")]
public bool DKLGNFGONEM
{
[Token(Token = "0x600EB10")]
[Address(RVA = "0x497580", Offset = "0x496580", VA = "0x180497580")]
get;
[Token(Token = "0x600EB11")]
[Address(RVA = "0x1906120", Offset = "0x1905120", VA = "0x181906120")]
private set;
}
// Token: 0x17002577 RID: 9591
// (get) Token: 0x0600EB12 RID: 60178 RVA: 0x0036064C File Offset: 0x0035E84C
// (set) Token: 0x0600EB13 RID: 60179 RVA: 0x00360660 File Offset: 0x0035E860
[Token(Token = "0x17002577")]
public OOCCCGPICOG PCCJOKHNIPL
{
[Token(Token = "0x600EB12")]
[Address(RVA = "0x417720", Offset = "0x416720", VA = "0x180417720")]
get
{
return this.CKNFEDPPDOO;
}
[Token(Token = "0x600EB13")]
[Address(RVA = "0x1D8ED60", Offset = "0x1D8DD60", VA = "0x181D8ED60")]
set
{
Tool tool = this.tool;
this.CKNFEDPPDOO = value;
int num = 0;
bool flag = OOCCCGPICOG.BDBLGMKABNK(value, num);
object bnmoddgeghn = this.BNMODDGEGHN;
tool.SetPickupEnabled(flag, bnmoddgeghn);
}
}
// Token: 0x17002578 RID: 9592
// (get) Token: 0x0600EB14 RID: 60180 RVA: 0x0036069C File Offset: 0x0035E89C
// (set) Token: 0x0600EB15 RID: 60181 RVA: 0x003606B0 File Offset: 0x0035E8B0
[Token(Token = "0x17002578")]
protected ConsumableInfo MDDMBJDBOGD
{
[Token(Token = "0x600EB14")]
[Address(RVA = "0x4177D0", Offset = "0x4167D0", VA = "0x1804177D0")]
get;
[Token(Token = "0x600EB15")]
[Address(RVA = "0x417AC0", Offset = "0x416AC0", VA = "0x180417AC0")]
set;
}
// Token: 0x0600EB16 RID: 60182 RVA: 0x003606C4 File Offset: 0x0035E8C4
[Token(Token = "0x600EB16")]
[Address(RVA = "0x1D8DD80", Offset = "0x1D8CD80", VA = "0x181D8DD80", Slot = "13")]
protected override void Awake()
{
ConsumableManager instance;
int num;
ulong num2;
do
{
base..ctor();
bool isLocal = base.JDHMIOJKLCK.AHNNNIPLFGD;
Tool tool = this.tool;
this.<MHCDCIGJNNA>k__BackingField = isLocal;
if (tool.NDKHDFJHGPP || this.tool.InstantiationParameters == 0)
{
goto IL_8E;
}
Dictionary<string, object> instantiationParameters = this.tool.InstantiationParameters;
bool flag;
if (!flag)
{
goto IL_8E;
}
instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
num = 0;
}
while (num2 != (ulong)0L && num2 == (ulong)0L);
if (instance.TryGetConsumableInfo(num) != 0)
{
this.OnDestroy();
}
Dictionary<string, object> instantiationParameters2 = this.tool.InstantiationParameters;
bool flag2;
if (flag2)
{
ulong num4;
ulong num3 = num4;
this.<NAIDKNLBACJ>k__BackingField = (PlayerSpawnedEquipment.IILDIBHEIDO)num3;
}
IL_8E:
if (this.<ENJFOPBELFF>k__BackingField == (ulong)0L)
{
Debug.LogError("ConsumableItem is null, something is very wrong");
}
Tool tool2 = this.tool;
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool2.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action = new Action(this.FICCBKGGJOE);
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> eahpnacbldd = EAHPNACBLDD.BPJDFPACLMK(postResetEvent, action);
tool2.PostResetEvent = eahpnacbldd;
this.tool.toolEntity.AddMainToolBrokenBehavior((ToolEntity.PACMMGFMOEN)((uint)2), this, 999);
if (this.<MHCDCIGJNNA>k__BackingField)
{
ConsumableTool.HCIKBFLBMPH.Add(this);
}
Tool tool3 = this.tool;
object leckfkbfhgb = this.LECKFKBFHGB;
bool flag3 = this.<MHCDCIGJNNA>k__BackingField;
tool3.SetPickupEnabled(flag3, leckfkbfhgb);
Tool tool4 = this.tool;
Tool.HMMDPJMIHGJ hmmdpjmihgj = new Tool.HMMDPJMIHGJ(this.EPPFLONEOMA);
tool4.CustomAuthorityResetOnKillzoneBehavior = hmmdpjmihgj;
GameManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num5 = 0;
if (instance2 != num5)
{
GameManager instance3 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
MIEIBBPMDMP.GGPHEKCPPMP ggphekcppmp = new MIEIBBPMDMP.GGPHEKCPPMP(this.OENCFJHENPB);
instance3.KMKCFILCLNO += ggphekcppmp;
}
}
// Token: 0x0600EB17 RID: 60183 RVA: 0x00360850 File Offset: 0x0035EA50
[Token(Token = "0x600EB17")]
[Address(RVA = "0x1D8E1B0", Offset = "0x1D8D1B0", VA = "0x181D8E1B0")]
private void FICCBKGGJOE(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
{
if (base.PFAAACOLOCL)
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
return;
}
}
// Token: 0x0600EB18 RID: 60184 RVA: 0x00360874 File Offset: 0x0035EA74
[Token(Token = "0x600EB18")]
[Address(RVA = "0x1D8EAA0", Offset = "0x1D8DAA0", VA = "0x181D8EAA0")]
private void OENCFJHENPB(ushort LLEHBLJHJHM, ushort CPMPEJFMDED, ushort PLGFJEILFGP, ushort OEAPMLMHLLF)
{
if (base.OGIBLNIIHDK)
{
KKPBCOOONNK.HMLHHNMGNAA(base.gameObject);
}
}
// Token: 0x0600EB19 RID: 60185 RVA: 0x00360898 File Offset: 0x0035EA98
[Token(Token = "0x600EB19")]
[Address(RVA = "0x1D8EB20", Offset = "0x1D8DB20", VA = "0x181D8EB20", Slot = "14")]
protected override void OnDestroy()
{
if (this.<MHCDCIGJNNA>k__BackingField)
{
bool flag = ConsumableTool.HCIKBFLBMPH.Remove(this);
}
GameManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
if (instance != num)
{
GameManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
MIEIBBPMDMP.GGPHEKCPPMP ggphekcppmp = new MIEIBBPMDMP.GGPHEKCPPMP(this.OENCFJHENPB);
instance2.KMKCFILCLNO -= ggphekcppmp;
}
base.OnDestroy();
}
// Token: 0x0600EB1A RID: 60186 RVA: 0x003608F4 File Offset: 0x0035EAF4
[Token(Token = "0x600EB1A")]
[Address(RVA = "0x1D8E230", Offset = "0x1D8D230", VA = "0x181D8E230", Slot = "15")]
protected virtual void FIENOGGFMIE(ConsumableInfo FNPFHJHDDAC)
{
for (;;)
{
this.<ENJFOPBELFF>k__BackingField = FNPFHJHDDAC;
if (!this.<MHCDCIGJNNA>k__BackingField)
{
return;
}
if (!this.tool.NDKHDFJHGPP && this.tool.InstantiationParameters != 0)
{
Dictionary<string, object> instantiationParameters = this.tool.InstantiationParameters;
bool flag;
if (flag)
{
break;
}
}
ConsumableManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
string consumableItemDesc = this.<ENJFOPBELFF>k__BackingField.ConsumableItemDesc;
ConsumableManager.OILBDNFLMKD oilbdnflmkd = new ConsumableManager.OILBDNFLMKD();
oilbdnflmkd.consumableType = consumableItemDesc;
List<OOCCCGPICOG> <KBFCNIPECEB>k__BackingField = instance.<KBFCNIPECEB>k__BackingField;
Func<OOCCCGPICOG, bool> func = delegate(OOCCCGPICOG pc)
{
string consumableType = oilbdnflmkd.consumableType;
bool flag2 = string.Equals(pc.<CNJALCEBPMC>k__BackingField, consumableType);
if (!flag2)
{
return flag2;
}
return !pc.<OLCLLOHLPEH>k__BackingField;
};
IEnumerable<OOCCCGPICOG> enumerable = Enumerable.Where<OOCCCGPICOG>(<KBFCNIPECEB>k__BackingField, func);
Func<OOCCCGPICOG, DateTime> func2;
if (ConsumableManager.<>c.<>9__45_1 == 0)
{
func2 = (OOCCCGPICOG pc) => pc.<IPLPEOMCNPJ>k__BackingField;
ConsumableManager.<>c.<>9__45_1 = func2;
}
OOCCCGPICOG oocccgpicog = Enumerable.FirstOrDefault<OOCCCGPICOG>(Enumerable.OrderByDescending<OOCCCGPICOG, DateTime>(enumerable, func2));
Tool tool = this.tool;
this.CKNFEDPPDOO = oocccgpicog;
OOCCCGPICOG cknfedppdoo = this.CKNFEDPPDOO;
int num = 0;
if (OOCCCGPICOG.JGIMJGNAJHP(cknfedppdoo, num))
{
goto Block_6;
}
}
ConsumableManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
ulong num3;
ulong num2 = num3;
ConsumableManager.ODJCBMEABHI odjcbmeabhi = new ConsumableManager.ODJCBMEABHI();
odjcbmeabhi.consumableId = (long)num2;
List<OOCCCGPICOG> <KBFCNIPECEB>k__BackingField2 = instance2.<KBFCNIPECEB>k__BackingField;
Func<OOCCCGPICOG, bool> func3 = delegate(OOCCCGPICOG pc)
{
long consumableId = odjcbmeabhi.consumableId;
return pc.<JPAOOKPLEDB>k__BackingField == consumableId;
};
IEnumerable<OOCCCGPICOG> enumerable2 = Enumerable.Where<OOCCCGPICOG>(<KBFCNIPECEB>k__BackingField2, func3);
Func<OOCCCGPICOG, DateTime> <>9__47_ = ConsumableManager.<>c.<>9__47_1;
if (<>9__47_ == 0)
{
ConsumableManager.<>c.<>9__47_1 = (OOCCCGPICOG pc) => pc.<IPLPEOMCNPJ>k__BackingField;
}
OOCCCGPICOG oocccgpicog2 = Enumerable.FirstOrDefault<OOCCCGPICOG>(Enumerable.OrderByDescending<OOCCCGPICOG, DateTime>(enumerable2, <>9__47_));
this.PCCJOKHNIPL = oocccgpicog2;
return;
Block_6:
MFBGLIHGCGO<OOCCCGPICOG> kpcjmbnihhl = FOEHJBDMMBH.KPCJMBNIHHL;
Action<OOCCCGPICOG> action = new Action(this.LJNJNJPEHJI);
FOEHJBDMMBH.KPCJMBNIHHL = MFBGLIHGCGO.BPJDFPACLMK(kpcjmbnihhl, action);
throw new NullReferenceException();
}
// Token: 0x0600EB1B RID: 60187 RVA: 0x00360A88 File Offset: 0x0035EC88
[Token(Token = "0x600EB1B")]
[Address(RVA = "0x1D8E970", Offset = "0x1D8D970", VA = "0x181D8E970")]
private void LJNJNJPEHJI(OOCCCGPICOG BAJGNABECMN)
{
string consumableItemDesc = this.<ENJFOPBELFF>k__BackingField.ConsumableItemDesc;
if (string.Equals(BAJGNABECMN.<CNJALCEBPMC>k__BackingField, consumableItemDesc))
{
Tool tool = this.tool;
int num = 0;
this.CKNFEDPPDOO = BAJGNABECMN;
bool flag = OOCCCGPICOG.BDBLGMKABNK(BAJGNABECMN, num);
object bnmoddgeghn = this.BNMODDGEGHN;
tool.SetPickupEnabled(flag, bnmoddgeghn);
MFBGLIHGCGO<OOCCCGPICOG> kpcjmbnihhl = FOEHJBDMMBH.KPCJMBNIHHL;
Action<OOCCCGPICOG> action = new Action(this.LJNJNJPEHJI);
FOEHJBDMMBH.KPCJMBNIHHL = MFBGLIHGCGO.GMNMHGMFGOL(kpcjmbnihhl, action);
}
}
// Token: 0x0600EB1C RID: 60188 RVA: 0x00360B04 File Offset: 0x0035ED04
[Token(Token = "0x600EB1C")]
[Address(RVA = "0x1D8E800", Offset = "0x1D8D800", VA = "0x181D8E800")]
public static ConsumableTool FindConsumableTool(long ENJEOLBEALP)
{
List<ConsumableTool> hcikbflbmph = ConsumableTool.HCIKBFLBMPH;
Func<ConsumableTool, bool> func = delegate(ConsumableTool ct)
{
OOCCCGPICOG cknfedppdoo = ct.CKNFEDPPDOO;
int num = 0;
bool flag = OOCCCGPICOG.BDBLGMKABNK(cknfedppdoo, num);
if (!flag)
{
return flag;
}
OOCCCGPICOG cknfedppdoo2 = ct.CKNFEDPPDOO;
long id = ENJEOLBEALP;
return cknfedppdoo2.<JPAOOKPLEDB>k__BackingField == id;
};
return Enumerable.FirstOrDefault<ConsumableTool>(hcikbflbmph, func);
}
// Token: 0x0600EB1D RID: 60189 RVA: 0x00360B40 File Offset: 0x0035ED40
[Token(Token = "0x600EB1D")]
[Address(RVA = "0x1D8E720", Offset = "0x1D8D720", VA = "0x181D8E720")]
public static ConsumableTool FindConsumableTool(ConsumableManager.KIDKMAOBOIG DJFBMCIDJNK)
{
List<ConsumableTool> hcikbflbmph = ConsumableTool.HCIKBFLBMPH;
Func<ConsumableTool, bool> func = delegate(ConsumableTool ct)
{
OOCCCGPICOG cknfedppdoo = ct.CKNFEDPPDOO;
int num = 0;
bool flag = OOCCCGPICOG.BDBLGMKABNK(cknfedppdoo, num);
if (!flag)
{
return flag;
}
return ct.CKNFEDPPDOO.GMMAAAGFAKO() == DJFBMCIDJNK;
};
return Enumerable.FirstOrDefault<ConsumableTool>(hcikbflbmph, func);
}
// Token: 0x0600EB1E RID: 60190 RVA: 0x00360B7C File Offset: 0x0035ED7C
[Token(Token = "0x600EB1E")]
[Address(RVA = "0x1D8E8E0", Offset = "0x1D8D8E0", VA = "0x181D8E8E0")]
protected void LHBLHBEIFKA()
{
if (this.<MHCDCIGJNNA>k__BackingField)
{
NotificationManager instance = SingletonMonoBehaviour.ONCPNMDGGKG;
int num = 0;
IDisposable disposable = instance.Play(NotificationManager.IBIDFAOPIPC.Medium, "Added to your backpack!", 3f, num, num);
}
}
// Token: 0x0600EB1F RID: 60191 RVA: 0x00360BB4 File Offset: 0x0035EDB4
[Token(Token = "0x600EB1F")]
[Address(RVA = "0x4246A0", Offset = "0x4236A0", VA = "0x1804246A0")]
private bool EPPFLONEOMA(Tool NBHJPDBHDHB, Killzone IKPBPBLJCOC)
{
return true;
}
// Token: 0x0600EB20 RID: 60192 RVA: 0x00360BC4 File Offset: 0x0035EDC4
[Token(Token = "0x600EB20")]
[Address(RVA = "0x1D8ECE0", Offset = "0x1D8DCE0", VA = "0x181D8ECE0")]
protected ConsumableTool()
{
object obj = new object();
this.BNMODDGEGHN = obj;
object obj2 = new object();
this.LECKFKBFHGB = obj2;
base..ctor();
}
// Token: 0x04009A92 RID: 39570
[Token(Token = "0x4009A92")]
private static List<ConsumableTool> HCIKBFLBMPH = new List();
// Token: 0x04009A93 RID: 39571
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x4009A93")]
[SerializeField]
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
protected Tool tool;
// Token: 0x04009A94 RID: 39572
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x4009A94")]
private object BNMODDGEGHN;
// Token: 0x04009A95 RID: 39573
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4009A95")]
private object LECKFKBFHGB;
// Token: 0x04009A98 RID: 39576
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4009A98")]
protected OOCCCGPICOG CKNFEDPPDOO;
// Token: 0x0200241D RID: 9245
[Token(Token = "0x200241D")]
[CompilerGenerated]
private sealed class AJIFIAHMIEK
{
// Token: 0x0600EB22 RID: 60194 RVA: 0x00360C0C File Offset: 0x0035EE0C
[Token(Token = "0x600EB22")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public AJIFIAHMIEK()
{
}
// Token: 0x0600EB23 RID: 60195 RVA: 0x00360C20 File Offset: 0x0035EE20
[Token(Token = "0x600EB23")]
[Address(RVA = "0x1D7EF40", Offset = "0x1D7DF40", VA = "0x181D7EF40")]
internal bool <FindConsumableTool>b__0(ConsumableTool ct)
{
OOCCCGPICOG cknfedppdoo = ct.CKNFEDPPDOO;
int num = 0;
bool flag = OOCCCGPICOG.BDBLGMKABNK(cknfedppdoo, num);
if (!flag)
{
return flag;
}
OOCCCGPICOG cknfedppdoo2 = ct.CKNFEDPPDOO;
long num2 = this.id;
return cknfedppdoo2.<JPAOOKPLEDB>k__BackingField == num2;
}
// Token: 0x04009A9A RID: 39578
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A9A")]
public long id;
}
// Token: 0x0200241E RID: 9246
[Token(Token = "0x200241E")]
[CompilerGenerated]
private sealed class DFGDNDPNCJE
{
// Token: 0x0600EB24 RID: 60196 RVA: 0x00360C64 File Offset: 0x0035EE64
[Token(Token = "0x600EB24")]
[Address(RVA = "0x412370", Offset = "0x411370", VA = "0x180412370")]
public DFGDNDPNCJE()
{
}
// Token: 0x0600EB25 RID: 60197 RVA: 0x00360C78 File Offset: 0x0035EE78
[Token(Token = "0x600EB25")]
[Address(RVA = "0x1D8FA40", Offset = "0x1D8EA40", VA = "0x181D8FA40")]
internal bool <FindConsumableTool>b__0(ConsumableTool ct)
{
OOCCCGPICOG cknfedppdoo = ct.CKNFEDPPDOO;
int num = 0;
bool flag = OOCCCGPICOG.BDBLGMKABNK(cknfedppdoo, num);
if (!flag)
{
return flag;
}
return ct.CKNFEDPPDOO.GMMAAAGFAKO() == this.category;
}
// Token: 0x04009A9B RID: 39579
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4009A9B")]
public ConsumableManager.KIDKMAOBOIG category;
}
}
}