443 lines
15 KiB
C#
443 lines
15 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun;
|
|
using RecRoom.Tools;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Consumable
|
|
{
|
|
// Token: 0x02002147 RID: 8519
|
|
[Token(Token = "0x2002147")]
|
|
[StructLayout(3)]
|
|
public abstract class ConsumableTool : MonoBehaviourPun
|
|
{
|
|
// Token: 0x17002734 RID: 10036
|
|
// (get) Token: 0x0600EAE2 RID: 60130 RVA: 0x0037ADBC File Offset: 0x00378FBC
|
|
// (set) Token: 0x0600EAE3 RID: 60131 RVA: 0x0037ADD0 File Offset: 0x00378FD0
|
|
[Token(Token = "0x17002734")]
|
|
public PlayerSpawnedEquipment.IILDIBHEIDO GDKPKFJGOFO
|
|
{
|
|
[Token(Token = "0x600EAE2")]
|
|
[Address(RVA = "0x4F8170", Offset = "0x4F6B70", VA = "0x1804F8170")]
|
|
get;
|
|
[Token(Token = "0x600EAE3")]
|
|
[Address(RVA = "0x4F8620", Offset = "0x4F7020", VA = "0x1804F8620")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x17002735 RID: 10037
|
|
// (get) Token: 0x0600EAE4 RID: 60132 RVA: 0x0037ADE4 File Offset: 0x00378FE4
|
|
// (set) Token: 0x0600EAE5 RID: 60133 RVA: 0x0037ADF8 File Offset: 0x00378FF8
|
|
[Token(Token = "0x17002735")]
|
|
public bool DKLGNFGONEM
|
|
{
|
|
[Token(Token = "0x600EAE4")]
|
|
[Address(RVA = "0x9EF5F0", Offset = "0x9EDFF0", VA = "0x1809EF5F0")]
|
|
get;
|
|
[Token(Token = "0x600EAE5")]
|
|
[Address(RVA = "0x10D4C40", Offset = "0x10D3640", VA = "0x1810D4C40")]
|
|
private set;
|
|
}
|
|
|
|
// Token: 0x17002736 RID: 10038
|
|
// (get) Token: 0x0600EAE6 RID: 60134 RVA: 0x0037AE0C File Offset: 0x0037900C
|
|
// (set) Token: 0x0600EAE7 RID: 60135 RVA: 0x0037AE20 File Offset: 0x00379020
|
|
[Token(Token = "0x17002736")]
|
|
public OOCCCGPICOG PCCJOKHNIPL
|
|
{
|
|
[Token(Token = "0x600EAE6")]
|
|
[Address(RVA = "0x3EDE90", Offset = "0x3EC890", VA = "0x1803EDE90")]
|
|
get
|
|
{
|
|
return this.CKNFEDPPDOO;
|
|
}
|
|
[Token(Token = "0x600EAE7")]
|
|
[Address(RVA = "0x179AEE0", Offset = "0x17998E0", VA = "0x18179AEE0")]
|
|
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: 0x17002737 RID: 10039
|
|
// (get) Token: 0x0600EAE8 RID: 60136 RVA: 0x0037AE5C File Offset: 0x0037905C
|
|
// (set) Token: 0x0600EAE9 RID: 60137 RVA: 0x0037AE70 File Offset: 0x00379070
|
|
[Token(Token = "0x17002737")]
|
|
protected ConsumableInfo MDDMBJDBOGD
|
|
{
|
|
[Token(Token = "0x600EAE8")]
|
|
[Address(RVA = "0x48F050", Offset = "0x48DA50", VA = "0x18048F050")]
|
|
get;
|
|
[Token(Token = "0x600EAE9")]
|
|
[Address(RVA = "0x52F860", Offset = "0x52E260", VA = "0x18052F860")]
|
|
set;
|
|
}
|
|
|
|
// Token: 0x0600EAEA RID: 60138 RVA: 0x0037AE84 File Offset: 0x00379084
|
|
[Token(Token = "0x600EAEA")]
|
|
[Address(RVA = "0x179A170", Offset = "0x1798B70", VA = "0x18179A170", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
ConsumableManager instance;
|
|
int num;
|
|
ulong num2;
|
|
do
|
|
{
|
|
base..ctor();
|
|
bool isLocal = base.photonView.isLocal;
|
|
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;
|
|
ActionEvent<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool2.PostResetEvent;
|
|
Action<Tool, Vector3, Quaternion, Vector3, bool> action = new Action(this.FICCBKGGJOE);
|
|
ActionEvent<Tool, Vector3, Quaternion, Vector3, bool> actionEvent = postResetEvent + action;
|
|
tool2.PostResetEvent = actionEvent;
|
|
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: 0x0600EAEB RID: 60139 RVA: 0x0037B010 File Offset: 0x00379210
|
|
[Token(Token = "0x600EAEB")]
|
|
[Address(RVA = "0x179A5A0", Offset = "0x1798FA0", VA = "0x18179A5A0")]
|
|
private void FICCBKGGJOE(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
|
|
{
|
|
if (base.hasOwnership)
|
|
{
|
|
PhotonNetwork.Destroy(base.gameObject);
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600EAEC RID: 60140 RVA: 0x0037B034 File Offset: 0x00379234
|
|
[Token(Token = "0x600EAEC")]
|
|
[Address(RVA = "0x179AC20", Offset = "0x1799620", VA = "0x18179AC20")]
|
|
private void OENCFJHENPB(ushort LLEHBLJHJHM, ushort CPMPEJFMDED, ushort PLGFJEILFGP, ushort OEAPMLMHLLF)
|
|
{
|
|
if (base.hasAuthority)
|
|
{
|
|
PhotonNetwork.Destroy(base.gameObject);
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600EAED RID: 60141 RVA: 0x0037B058 File Offset: 0x00379258
|
|
[Token(Token = "0x600EAED")]
|
|
[Address(RVA = "0x179ACA0", Offset = "0x17996A0", VA = "0x18179ACA0", 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: 0x0600EAEE RID: 60142 RVA: 0x0037B0B4 File Offset: 0x003792B4
|
|
[Token(Token = "0x600EAEE")]
|
|
[Address(RVA = "0x179A620", Offset = "0x1799020", VA = "0x18179A620", 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;
|
|
OOCCCGPICOG latestNonActiveNonTransferableConsumableByType = instance.GetLatestNonActiveNonTransferableConsumableByType(consumableItemDesc);
|
|
Tool tool = this.tool;
|
|
int num = 0;
|
|
this.CKNFEDPPDOO = latestNonActiveNonTransferableConsumableByType;
|
|
bool flag2 = OOCCCGPICOG.BDBLGMKABNK(latestNonActiveNonTransferableConsumableByType, num);
|
|
object bnmoddgeghn = this.BNMODDGEGHN;
|
|
tool.SetPickupEnabled(flag2, bnmoddgeghn);
|
|
OOCCCGPICOG cknfedppdoo = this.CKNFEDPPDOO;
|
|
int num2 = 0;
|
|
if (OOCCCGPICOG.JGIMJGNAJHP(cknfedppdoo, num2))
|
|
{
|
|
goto Block_4;
|
|
}
|
|
}
|
|
ConsumableManager instance2 = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
|
|
ulong num4;
|
|
ulong num3 = num4;
|
|
OOCCCGPICOG consumableById = instance2.GetConsumableById((long)num3);
|
|
this.PCCJOKHNIPL = consumableById;
|
|
return;
|
|
Block_4:
|
|
ActionEvent<OOCCCGPICOG> kpcjmbnihhl = FOEHJBDMMBH.KPCJMBNIHHL;
|
|
Action<OOCCCGPICOG> action = new Action(this.LJNJNJPEHJI);
|
|
FOEHJBDMMBH.KPCJMBNIHHL = kpcjmbnihhl + action;
|
|
}
|
|
|
|
// Token: 0x0600EAEF RID: 60143 RVA: 0x0037B1AC File Offset: 0x003793AC
|
|
[Token(Token = "0x600EAEF")]
|
|
[Address(RVA = "0x179AAF0", Offset = "0x17994F0", VA = "0x18179AAF0")]
|
|
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);
|
|
ActionEvent<OOCCCGPICOG> kpcjmbnihhl = FOEHJBDMMBH.KPCJMBNIHHL;
|
|
Action<OOCCCGPICOG> action = new Action(this.LJNJNJPEHJI);
|
|
FOEHJBDMMBH.KPCJMBNIHHL = kpcjmbnihhl - action;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600EAF0 RID: 60144 RVA: 0x0037B228 File Offset: 0x00379428
|
|
[Token(Token = "0x600EAF0")]
|
|
[Address(RVA = "0x179A980", Offset = "0x1799380", VA = "0x18179A980")]
|
|
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: 0x0600EAF1 RID: 60145 RVA: 0x0037B264 File Offset: 0x00379464
|
|
[Token(Token = "0x600EAF1")]
|
|
[Address(RVA = "0x179A8A0", Offset = "0x17992A0", VA = "0x18179A8A0")]
|
|
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;
|
|
}
|
|
OOCCCGPICOG cknfedppdoo2 = ct.CKNFEDPPDOO;
|
|
ConsumableManager.KIDKMAOBOIG category = DJFBMCIDJNK;
|
|
return cknfedppdoo2.<MPBLJOGNHKP>k__BackingField == category;
|
|
};
|
|
return Enumerable.FirstOrDefault<ConsumableTool>(hcikbflbmph, func);
|
|
}
|
|
|
|
// Token: 0x0600EAF2 RID: 60146 RVA: 0x0037B2A0 File Offset: 0x003794A0
|
|
[Token(Token = "0x600EAF2")]
|
|
[Address(RVA = "0x179AA60", Offset = "0x1799460", VA = "0x18179AA60")]
|
|
protected void LHBLHBEIFKA()
|
|
{
|
|
if (this.<MHCDCIGJNNA>k__BackingField)
|
|
{
|
|
NotificationManager instance = SingletonMonoBehaviour.Instance;
|
|
int num = 0;
|
|
IDisposable disposable = instance.Play(NotificationManager.IBIDFAOPIPC.Medium, "Added to your backpack!", 3f, num, num);
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600EAF3 RID: 60147 RVA: 0x0037B2D8 File Offset: 0x003794D8
|
|
[Token(Token = "0x600EAF3")]
|
|
[Address(RVA = "0x4405A0", Offset = "0x43EFA0", VA = "0x1804405A0")]
|
|
private bool EPPFLONEOMA(Tool NBHJPDBHDHB, Killzone IKPBPBLJCOC)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600EAF4 RID: 60148 RVA: 0x0037B2E8 File Offset: 0x003794E8
|
|
[Token(Token = "0x600EAF4")]
|
|
[Address(RVA = "0x179AE60", Offset = "0x1799860", VA = "0x18179AE60")]
|
|
protected ConsumableTool()
|
|
{
|
|
object obj = new object();
|
|
this.BNMODDGEGHN = obj;
|
|
object obj2 = new object();
|
|
this.LECKFKBFHGB = obj2;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x04009B93 RID: 39827
|
|
[Token(Token = "0x4009B93")]
|
|
private static List<ConsumableTool> HCIKBFLBMPH = new List();
|
|
|
|
// Token: 0x04009B94 RID: 39828
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4009B94")]
|
|
[SerializeField]
|
|
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
|
|
protected Tool tool;
|
|
|
|
// Token: 0x04009B95 RID: 39829
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x4009B95")]
|
|
private object BNMODDGEGHN;
|
|
|
|
// Token: 0x04009B96 RID: 39830
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x4009B96")]
|
|
private object LECKFKBFHGB;
|
|
|
|
// Token: 0x04009B99 RID: 39833
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x4009B99")]
|
|
protected OOCCCGPICOG CKNFEDPPDOO;
|
|
|
|
// Token: 0x02002148 RID: 8520
|
|
[Token(Token = "0x2002148")]
|
|
[CompilerGenerated]
|
|
private sealed class AJIFIAHMIEK
|
|
{
|
|
// Token: 0x0600EAF6 RID: 60150 RVA: 0x0037B330 File Offset: 0x00379530
|
|
[Token(Token = "0x600EAF6")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public AJIFIAHMIEK()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600EAF7 RID: 60151 RVA: 0x0037B344 File Offset: 0x00379544
|
|
[Token(Token = "0x600EAF7")]
|
|
[Address(RVA = "0x1798730", Offset = "0x1797130", VA = "0x181798730")]
|
|
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: 0x04009B9B RID: 39835
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4009B9B")]
|
|
public long id;
|
|
}
|
|
|
|
// Token: 0x02002149 RID: 8521
|
|
[Token(Token = "0x2002149")]
|
|
[CompilerGenerated]
|
|
private sealed class DFGDNDPNCJE
|
|
{
|
|
// Token: 0x0600EAF8 RID: 60152 RVA: 0x0037B388 File Offset: 0x00379588
|
|
[Token(Token = "0x600EAF8")]
|
|
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
|
|
public DFGDNDPNCJE()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600EAF9 RID: 60153 RVA: 0x0037B39C File Offset: 0x0037959C
|
|
[Token(Token = "0x600EAF9")]
|
|
[Address(RVA = "0x179BD10", Offset = "0x179A710", VA = "0x18179BD10")]
|
|
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;
|
|
ConsumableManager.KIDKMAOBOIG kidkmaoboig = this.category;
|
|
return cknfedppdoo2.<MPBLJOGNHKP>k__BackingField == kidkmaoboig;
|
|
}
|
|
|
|
// Token: 0x04009B9C RID: 39836
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4009B9C")]
|
|
public ConsumableManager.KIDKMAOBOIG category;
|
|
}
|
|
}
|
|
}
|