Files
2026-04-08 23:40:05 +02:00

529 lines
16 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
using Cpp2IlInjected;
using Photon.Pun;
using Photon.Realtime;
using RecRoom;
using RecRoom.Networking.SynchronizedFields;
using RecRoom.Persistence;
using UnityEngine;
// Token: 0x02000085 RID: 133
[Token(Token = "0x2000085")]
[StructLayout(3)]
public class ToolHolder : MonoBehaviourPun, EOCLMMENCKH, CHJEFIDMANE
{
// Token: 0x17000091 RID: 145
// (get) Token: 0x060003A9 RID: 937 RVA: 0x00012578 File Offset: 0x00010778
// (set) Token: 0x060003AA RID: 938 RVA: 0x000125B0 File Offset: 0x000107B0
[Token(Token = "0x17000091")]
public Tool OIDGJKOGAIJ
{
[Token(Token = "0x60003A9")]
[Address(RVA = "0x188D4E0", Offset = "0x188BEE0", VA = "0x18188D4E0")]
get
{
PhotonView photonView = PhotonNetwork.GetPhotonView(this.PJACOKMDMKK.Get());
int num = 0;
if (photonView != num)
{
return photonView.GetComponent<Tool>();
}
throw new NullReferenceException();
}
[Token(Token = "0x60003AA")]
[Address(RVA = "0x188D5A0", Offset = "0x188BFA0", VA = "0x18188D5A0")]
set
{
SynchronizedField<int> pjacokmdmkk = this.PJACOKMDMKK;
int num = 0;
if (value != num)
{
PhotonView photonView = value.photonView;
}
}
}
// Token: 0x060003AB RID: 939 RVA: 0x000125E0 File Offset: 0x000107E0
[Token(Token = "0x60003AB")]
[Address(RVA = "0x188B6F0", Offset = "0x188A0F0", VA = "0x18188B6F0", Slot = "13")]
protected override void Awake()
{
base..ctor();
Action action = new Action(this.PACLDOILAOG);
SynchronizedField<int> synchronizedField;
this.PJACOKMDMKK = synchronizedField;
Tool component = base.GetComponent<Tool>();
this.NBHJPDBHDHB = component;
int num = 0;
if (component != num)
{
Tool nbhjpdbhdhb = this.NBHJPDBHDHB;
ActionEvent<Tool> postPickupEvent = nbhjpdbhdhb.PostPickupEvent;
Action<Tool> action2 = new Action(this.KEDINPKONNH);
ActionEvent<Tool> actionEvent = postPickupEvent + action2;
nbhjpdbhdhb.PostPickupEvent = actionEvent;
}
Transform transform = this.toolCouplingTransform;
int num2 = 0;
if (transform == num2)
{
Transform transform2 = base.transform;
this.toolCouplingTransform = transform2;
}
ActionEvent<Tool> staticToolInstantiatedEvent = Tool.StaticToolInstantiatedEvent;
Action<Tool> action3 = new Action(this.KDGFJOBEFLB);
Tool.StaticToolInstantiatedEvent = staticToolInstantiatedEvent + action3;
}
// Token: 0x060003AC RID: 940 RVA: 0x000126AC File Offset: 0x000108AC
[Token(Token = "0x60003AC")]
[Address(RVA = "0x188D0E0", Offset = "0x188BAE0", VA = "0x18188D0E0")]
private void Start()
{
Tool[] array = global::UnityEngine.Object.FindObjectsOfType<Tool>();
int num = 0;
int length = array.Length;
if (num < length)
{
Tool tool = array[num];
if (!this.JIOFJDJIDHO.Contains(tool))
{
Tool nbhjpdbhdhb = this.NBHJPDBHDHB;
if (tool != nbhjpdbhdhb)
{
ActionEvent<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action = new Action(this.OBHCKBMPGII);
ActionEvent<Tool> actionEvent = postPickupEvent + action;
tool.PostPickupEvent = actionEvent;
ActionEvent<Tool> postReleaseEvent = tool.PostReleaseEvent;
Action<Tool> action2 = new Action(this.AGGEPLMBAFK);
ActionEvent<Tool> actionEvent2 = postReleaseEvent + action2;
tool.PostReleaseEvent = actionEvent2;
ActionEvent<Tool> destroyEvent = tool.DestroyEvent;
Action<Tool> action3 = new Action(this.IOAEKELABOE);
ActionEvent<Tool> actionEvent3 = destroyEvent + action3;
tool.DestroyEvent = actionEvent3;
bool flag = this.JIOFJDJIDHO.Add(tool);
}
}
num++;
}
Tool tool2 = this.initiallyCoupledTool;
int num2 = 0;
if (tool2 != num2)
{
Tool tool3 = this.initiallyCoupledTool;
ActionEvent<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool3.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action4 = new Action(this.IAMGBCKGKME);
ActionEvent<Tool> actionEvent4;
tool3.PostResetEvent = actionEvent4;
Tool tool4 = this.initiallyCoupledTool;
bool hasHolder = tool4.FNFNLDBILFE;
if (this.NCMIKLKBJKK(tool4, hasHolder))
{
if (this.initiallyCoupledTool.hasAuthority)
{
Tool tool5 = this.initiallyCoupledTool;
this.OIDGJKOGAIJ = tool5;
throw new NullReferenceException();
}
Tool heldTool = this.OIDGJKOGAIJ;
int num3 = 0;
if (heldTool != num3)
{
this.LCALMKBLEFL(heldTool);
}
}
}
}
// Token: 0x060003AD RID: 941 RVA: 0x0001282C File Offset: 0x00010A2C
[Token(Token = "0x60003AD")]
[Address(RVA = "0x188C260", Offset = "0x188AC60", VA = "0x18188C260", Slot = "14")]
protected override void OnDestroy()
{
int num;
do
{
num = 0;
Tool nbhjpdbhdhb = this.NBHJPDBHDHB;
int num2 = 0;
if (nbhjpdbhdhb != num2)
{
Tool nbhjpdbhdhb2 = this.NBHJPDBHDHB;
ActionEvent<Tool> postPickupEvent = nbhjpdbhdhb2.PostPickupEvent;
Action<Tool> action = new Action(this.KEDINPKONNH);
ActionEvent<Tool> actionEvent = postPickupEvent - action;
nbhjpdbhdhb2.PostPickupEvent = actionEvent;
}
Tool tool = this.initiallyCoupledTool;
int num3 = 0;
if (tool != num3)
{
Tool tool2 = this.initiallyCoupledTool;
ActionEvent<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool2.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action2 = new Action(this.IAMGBCKGKME);
ActionEvent<Tool> actionEvent2;
tool2.PostResetEvent = actionEvent2;
}
if (new List(this.JIOFJDJIDHO).GetEnumerator() != 0)
{
HashSet<Tool> jiofjdjidho = this.JIOFJDJIDHO;
bool flag;
while (!flag)
{
}
bool flag2;
if (flag2)
{
this.initiallyCoupledTool = num;
}
Action<Tool> action3 = new Action(this.OBHCKBMPGII);
Action<Tool> action4 = new Action(this.AGGEPLMBAFK);
Action<Tool> action5 = new Action(this.IOAEKELABOE);
HashSet<Tool> jiofjdjidho2 = this.JIOFJDJIDHO;
}
if (num != -1)
{
}
}
while (num != 0);
ActionEvent<Tool> staticToolInstantiatedEvent = Tool.StaticToolInstantiatedEvent;
Action<Tool> action6 = new Action(this.KDGFJOBEFLB);
Tool.StaticToolInstantiatedEvent = staticToolInstantiatedEvent - action6;
base.OnDestroy();
}
// Token: 0x060003AE RID: 942 RVA: 0x00012958 File Offset: 0x00010B58
[Token(Token = "0x60003AE")]
[Address(RVA = "0x188BB60", Offset = "0x188A560", VA = "0x18188BB60")]
private void KDGFJOBEFLB(Tool EGFEJGHDNAI)
{
if (!this.JIOFJDJIDHO.Contains(EGFEJGHDNAI))
{
Tool nbhjpdbhdhb = this.NBHJPDBHDHB;
if (EGFEJGHDNAI != nbhjpdbhdhb)
{
ActionEvent<Tool> postPickupEvent = EGFEJGHDNAI.PostPickupEvent;
Action<Tool> action = new Action(this.OBHCKBMPGII);
ActionEvent<Tool> actionEvent = postPickupEvent + action;
EGFEJGHDNAI.PostPickupEvent = actionEvent;
ActionEvent<Tool> postReleaseEvent = EGFEJGHDNAI.PostReleaseEvent;
Action<Tool> action2 = new Action(this.AGGEPLMBAFK);
ActionEvent<Tool> actionEvent2 = postReleaseEvent + action2;
EGFEJGHDNAI.PostReleaseEvent = actionEvent2;
ActionEvent<Tool> destroyEvent = EGFEJGHDNAI.DestroyEvent;
Action<Tool> action3 = new Action(this.IOAEKELABOE);
ActionEvent<Tool> actionEvent3 = destroyEvent + action3;
EGFEJGHDNAI.DestroyEvent = actionEvent3;
bool flag = this.JIOFJDJIDHO.Add(EGFEJGHDNAI);
}
}
}
// Token: 0x060003AF RID: 943 RVA: 0x00012A14 File Offset: 0x00010C14
[Token(Token = "0x60003AF")]
[Address(RVA = "0x188B9B0", Offset = "0x188A3B0", VA = "0x18188B9B0")]
private void IOAEKELABOE(Tool EGFEJGHDNAI)
{
if (this.JIOFJDJIDHO.Contains(EGFEJGHDNAI))
{
Tool tool = this.initiallyCoupledTool;
if (EGFEJGHDNAI == tool)
{
}
ActionEvent<Tool> postPickupEvent = EGFEJGHDNAI.PostPickupEvent;
Action<Tool> action = new Action(this.OBHCKBMPGII);
ActionEvent<Tool> actionEvent = postPickupEvent - action;
EGFEJGHDNAI.PostPickupEvent = actionEvent;
ActionEvent<Tool> postReleaseEvent = EGFEJGHDNAI.PostReleaseEvent;
Action<Tool> action2 = new Action(this.AGGEPLMBAFK);
ActionEvent<Tool> actionEvent2 = postReleaseEvent - action2;
EGFEJGHDNAI.PostReleaseEvent = actionEvent2;
ActionEvent<Tool> destroyEvent = EGFEJGHDNAI.DestroyEvent;
Action<Tool> action3 = new Action(this.IOAEKELABOE);
ActionEvent<Tool> actionEvent3 = destroyEvent - action3;
EGFEJGHDNAI.DestroyEvent = actionEvent3;
bool flag = this.JIOFJDJIDHO.Remove(EGFEJGHDNAI);
}
}
// Token: 0x060003B0 RID: 944 RVA: 0x00012AD0 File Offset: 0x00010CD0
[Token(Token = "0x60003B0")]
[Address(RVA = "0x188C7C0", Offset = "0x188B1C0", VA = "0x18188C7C0")]
private void PACLDOILAOG()
{
Tool heldTool = this.OIDGJKOGAIJ;
int num = 0;
if (heldTool != num)
{
this.LCALMKBLEFL(heldTool);
}
}
// Token: 0x060003B1 RID: 945 RVA: 0x00012AF8 File Offset: 0x00010CF8
[Token(Token = "0x60003B1")]
[Address(RVA = "0x188BDE0", Offset = "0x188A7E0", VA = "0x18188BDE0")]
private void LCALMKBLEFL(Tool EGFEJGHDNAI)
{
int num = 0;
if (this.NCMIKLKBJKK(EGFEJGHDNAI, num != 0))
{
Photon.Realtime.Player owner = EGFEJGHDNAI.owner;
Photon.Realtime.Player owner2 = base.owner;
if (owner != owner2 && EGFEJGHDNAI.hasAuthority)
{
if (!this.NBHJPDBHDHB.FNFNLDBILFE)
{
PhotonView photonView = base.photonView;
Photon.Realtime.Player owner3 = EGFEJGHDNAI.owner;
}
PhotonView photonView2 = EGFEJGHDNAI.photonView;
int actorNumber = this.NBHJPDBHDHB.BHAAHKEILOG.Owner.actorNumber;
photonView2.TransferOwnership(actorNumber);
}
EGFEJGHDNAI.SetCollisionLayer(DAJFOCGPHGP.DynamicPhysicsIgnoreDynamicAndPlayerPhysics);
Tool nbhjpdbhdhb = this.NBHJPDBHDHB;
RigidbodyPickup rigidbodyPickup = EGFEJGHDNAI.rigidbodyPickup;
Transform transform = this.toolCouplingTransform;
Transform transform2 = this.toolCouplingTransform;
Vector3 vector;
float z = vector.z;
}
}
// Token: 0x060003B2 RID: 946 RVA: 0x00012BAC File Offset: 0x00010DAC
[Token(Token = "0x60003B2")]
[Address(RVA = "0x188B560", Offset = "0x1889F60", VA = "0x18188B560")]
private void AGGEPLMBAFK(Tool EGFEJGHDNAI)
{
if (EGFEJGHDNAI.hasAuthority)
{
Transform transform = EGFEJGHDNAI.transform;
Transform transform2 = this.toolCouplingTransform;
Vector3 vector;
float z = vector.z;
Vector3 vector2;
float z2 = vector2.z;
Vector3 vector3;
float z3 = vector3.z;
float num = this.couplingRadius;
int num2 = 0;
if (this.NCMIKLKBJKK(EGFEJGHDNAI, num2 != 0))
{
this.OIDGJKOGAIJ = EGFEJGHDNAI;
}
}
}
// Token: 0x060003B3 RID: 947 RVA: 0x00012C10 File Offset: 0x00010E10
[Token(Token = "0x60003B3")]
[Address(RVA = "0x188C120", Offset = "0x188AB20", VA = "0x18188C120")]
private void OBHCKBMPGII(Tool EGFEJGHDNAI)
{
if (EGFEJGHDNAI.hasAuthority)
{
Tool heldTool = this.OIDGJKOGAIJ;
int num = 0;
if (heldTool != num && EGFEJGHDNAI == heldTool)
{
SynchronizedField<int> pjacokmdmkk = this.PJACOKMDMKK;
int num2 = 0;
bool flag = 0 != num2;
}
}
}
// Token: 0x060003B4 RID: 948 RVA: 0x00012C5C File Offset: 0x00010E5C
[Token(Token = "0x60003B4")]
[Address(RVA = "0x188BD10", Offset = "0x188A710", VA = "0x18188BD10")]
private void KEDINPKONNH(Tool EGFEJGHDNAI)
{
Tool heldTool = this.OIDGJKOGAIJ;
int num = 0;
if (heldTool != num)
{
Photon.Realtime.Player owner = heldTool.owner;
Photon.Realtime.Player owner2 = base.owner;
if (owner != owner2)
{
PhotonView photonView = heldTool.photonView;
int actorNumber = base.owner.actorNumber;
photonView.TransferOwnership(actorNumber);
}
}
}
// Token: 0x060003B5 RID: 949 RVA: 0x00012CB4 File Offset: 0x00010EB4
[Token(Token = "0x60003B5")]
[Address(RVA = "0x188BF90", Offset = "0x188A990", VA = "0x18188BF90")]
private bool NCMIKLKBJKK(Tool EGFEJGHDNAI, bool JPABLMHNOLD)
{
Tool heldTool = this.OIDGJKOGAIJ;
int num = 0;
if (EGFEJGHDNAI != num)
{
Tool nbhjpdbhdhb = this.NBHJPDBHDHB;
if (EGFEJGHDNAI != nbhjpdbhdhb && !JPABLMHNOLD && EGFEJGHDNAI.EFOHKKFPHIB)
{
int num2 = 0;
if (heldTool == num2 || heldTool == EGFEJGHDNAI)
{
PlayerSpawnedEquipment <FLFJCIPBAPA>k__BackingField = EGFEJGHDNAI.<FLFJCIPBAPA>k__BackingField;
int num3 = 0;
bool flag = <FLFJCIPBAPA>k__BackingField == num3;
}
}
}
throw new NullReferenceException();
}
// Token: 0x060003B6 RID: 950 RVA: 0x00012D28 File Offset: 0x00010F28
[Token(Token = "0x60003B6")]
[Address(RVA = "0x188B940", Offset = "0x188A340", VA = "0x18188B940")]
private void IAMGBCKGKME(Tool EGFEJGHDNAI, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
{
if (EGFEJGHDNAI.hasAuthority)
{
bool hasHolder = EGFEJGHDNAI.FNFNLDBILFE;
if (this.NCMIKLKBJKK(EGFEJGHDNAI, hasHolder))
{
this.OIDGJKOGAIJ = EGFEJGHDNAI;
}
}
}
// Token: 0x17000092 RID: 146
// (get) Token: 0x060003B7 RID: 951 RVA: 0x00012D60 File Offset: 0x00010F60
[Token(Token = "0x17000092")]
public bool JBMFJOBFJHP
{
[Token(Token = "0x60003B7")]
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "15")]
get
{
}
}
// Token: 0x060003B8 RID: 952 RVA: 0x00012D70 File Offset: 0x00010F70
[Token(Token = "0x60003B8")]
[Address(RVA = "0x188B920", Offset = "0x188A320", VA = "0x18188B920", Slot = "16")]
public void DeserializeFrom(KPNDFONGDGF HFBJGCHOANH)
{
}
// Token: 0x060003B9 RID: 953 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x60003B9")]
[Address(RVA = "0x188C840", Offset = "0x188B240", VA = "0x18188C840", Slot = "18")]
public void PostDeserialize(LJJOCDFAMGA FLIPBCAPDGC)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060003BA RID: 954 RVA: 0x00012D80 File Offset: 0x00010F80
[Token(Token = "0x60003BA")]
[Address(RVA = "0x188CDA0", Offset = "0x188B7A0", VA = "0x18188CDA0", Slot = "17")]
public void SerializeTo(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB)
{
JBHHCGDLNEF jbhhcgdlnef = new JBHHCGDLNEF();
Tool heldTool = this.OIDGJKOGAIJ;
int num = 0;
if (heldTool != num)
{
PersistenceView component = this.OIDGJKOGAIJ.GetComponent<PersistenceView>();
int num2 = 0;
if (component != num2)
{
object[] array = new object[1];
GameObject gameObject = base.gameObject;
if (gameObject != 0)
{
}
array[0] = gameObject;
Debug.LogErrorFormat(this, "Error serializing ToolHolder {0}: Data already specified.", array);
throw new NullReferenceException();
}
object[] array2 = new object[2];
GameObject gameObject2 = base.gameObject;
if (gameObject2 != 0)
{
}
array2[0] = gameObject2;
GameObject gameObject3 = this.OIDGJKOGAIJ.gameObject;
if (gameObject3 != 0)
{
}
array2[1] = gameObject3;
Debug.LogFormat(this, "Serializing ToolHolder {0}: HeldTool {1} has no corresponding PersistenceView.", array2);
}
}
// Token: 0x060003BB RID: 955 RVA: 0x00012E3C File Offset: 0x0001103C
[Token(Token = "0x60003BB")]
[Address(RVA = "0x188C6E0", Offset = "0x188B0E0", VA = "0x18188C6E0")]
private void OnDrawGizmos()
{
Color cyan = Color.cyan;
Transform transform = this.toolCouplingTransform;
int num = 0;
if (transform != num)
{
Transform transform2 = this.toolCouplingTransform;
}
Transform transform3 = base.transform;
Vector3 vector;
float z = vector.z;
}
// Token: 0x060003BC RID: 956 RVA: 0x00012E80 File Offset: 0x00011080
[Token(Token = "0x60003BC")]
[Address(RVA = "0x188D470", Offset = "0x188BE70", VA = "0x18188D470")]
public ToolHolder()
{
HashSet<Tool> hashSet = new HashSet();
this.JIOFJDJIDHO = hashSet;
base..ctor();
}
// Token: 0x0400033B RID: 827
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400033B")]
[SerializeField]
private Transform toolCouplingTransform;
// Token: 0x0400033C RID: 828
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x400033C")]
[SerializeField]
private float couplingRadius = 0.2f;
// Token: 0x0400033D RID: 829
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x400033D")]
[SerializeField]
private Tool initiallyCoupledTool;
// Token: 0x0400033E RID: 830
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x400033E")]
private Tool NBHJPDBHDHB;
// Token: 0x0400033F RID: 831
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x400033F")]
private SynchronizedField<int> PJACOKMDMKK;
// Token: 0x04000340 RID: 832
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x4000340")]
private readonly HashSet<Tool> JIOFJDJIDHO;
// Token: 0x04000341 RID: 833
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x4000341")]
private PDEKIHFJKHJ LPPMPHKELIF;
}