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

536 lines
18 KiB
C#

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using AGUI.StackedUI;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.AGUI.ToolUIs;
using RecRoom.Circuits;
using RecRoom.Core.Creation.AI;
using RecRoom.Networking.SynchronizedFields;
using RecRoom.Tools.Tags;
using UnityEngine;
namespace RecRoom.Core.Creation
{
// Token: 0x02002BE3 RID: 11235
[Token(Token = "0x2002BE3")]
[StructLayout(3)]
public class SandboxObjectRespawner : MonoBehaviourPun, EOCLMMENCKH
{
// Token: 0x170034DD RID: 13533
// (get) Token: 0x06013CB5 RID: 81077 RVA: 0x004BFB10 File Offset: 0x004BDD10
// (set) Token: 0x06013CB6 RID: 81078 RVA: 0x004BFB30 File Offset: 0x004BDD30
[Token(Token = "0x170034DD")]
public string CECGLODFDKG
{
[Token(Token = "0x6013CB5")]
[Address(RVA = "0x16B3FF0", Offset = "0x16B29F0", VA = "0x1816B3FF0")]
get
{
return this.DAMGLBNMKBF.Get();
}
[Token(Token = "0x6013CB6")]
[Address(RVA = "0x16B4040", Offset = "0x16B2A40", VA = "0x1816B4040")]
set
{
SynchronizedField<string> damglbnmkbf = this.DAMGLBNMKBF;
}
}
// Token: 0x170034DE RID: 13534
// (get) Token: 0x06013CB7 RID: 81079 RVA: 0x004BFB4C File Offset: 0x004BDD4C
// (set) Token: 0x06013CB8 RID: 81080 RVA: 0x004BFB6C File Offset: 0x004BDD6C
[Token(Token = "0x170034DE")]
public bool ODFBGBOJPED
{
[Token(Token = "0x6013CB7")]
[Address(RVA = "0x16B4A00", Offset = "0x16B3400", VA = "0x1816B4A00")]
get
{
return this.AHENNPOIFJN.Get() != null;
}
[Token(Token = "0x6013CB8")]
[Address(RVA = "0x16B4A50", Offset = "0x16B3450", VA = "0x1816B4A50")]
set
{
SynchronizedField<bool> ahennpoifjn = this.AHENNPOIFJN;
}
}
// Token: 0x170034DF RID: 13535
// (get) Token: 0x06013CB9 RID: 81081 RVA: 0x004BFB88 File Offset: 0x004BDD88
// (set) Token: 0x06013CBA RID: 81082 RVA: 0x004BFBA8 File Offset: 0x004BDDA8
[Token(Token = "0x170034DF")]
public bool PACFOPAKBPI
{
[Token(Token = "0x6013CB9")]
[Address(RVA = "0x16B2FD0", Offset = "0x16B19D0", VA = "0x1816B2FD0")]
get
{
return this.DGKOLLEANLF.Get() != null;
}
[Token(Token = "0x6013CBA")]
[Address(RVA = "0x16B3020", Offset = "0x16B1A20", VA = "0x1816B3020")]
set
{
SynchronizedField<bool> dgkolleanlf = this.DGKOLLEANLF;
}
}
// Token: 0x170034E0 RID: 13536
// (get) Token: 0x06013CBB RID: 81083 RVA: 0x004BFBC4 File Offset: 0x004BDDC4
// (set) Token: 0x06013CBC RID: 81084 RVA: 0x004BFBE4 File Offset: 0x004BDDE4
[Token(Token = "0x170034E0")]
public bool KEONAJCEDFN
{
[Token(Token = "0x6013CBB")]
[Address(RVA = "0x16B4950", Offset = "0x16B3350", VA = "0x1816B4950")]
get
{
return this.ILLNBGDKDKO.Get() != null;
}
[Token(Token = "0x6013CBC")]
[Address(RVA = "0x16B49A0", Offset = "0x16B33A0", VA = "0x1816B49A0")]
set
{
SynchronizedField<bool> illnbgdkdko = this.ILLNBGDKDKO;
}
}
// Token: 0x06013CBD RID: 81085 RVA: 0x004BFC00 File Offset: 0x004BDE00
[Token(Token = "0x6013CBD")]
[Address(RVA = "0x16B2E40", Offset = "0x16B1840", VA = "0x1816B2E40", Slot = "13")]
protected override void Awake()
{
base..ctor();
Action action = new Action(this.KFHKJALNPEK);
int num;
SynchronizedField<string> synchronizedField = new SynchronizedField(this, "RTT", "", (SetterPermissionMode)num, action, num);
num = 0;
this.DAMGLBNMKBF = synchronizedField;
SynchronizedField<bool> synchronizedField2 = new SynchronizedField(this, "RHT", 1, (SetterPermissionMode)num, num, num);
this.AHENNPOIFJN = synchronizedField2;
SynchronizedField<bool> synchronizedField3 = new SynchronizedField(this, "CVOR", 1, (SetterPermissionMode)num, num, num);
this.DGKOLLEANLF = synchronizedField3;
int num2;
SynchronizedField<bool> synchronizedField4 = new SynchronizedField(this, "URR", num2, (SetterPermissionMode)num, num, num);
num2 = 0;
this.ILLNBGDKDKO = synchronizedField4;
}
// Token: 0x06013CBE RID: 81086 RVA: 0x004BFC8C File Offset: 0x004BDE8C
[Token(Token = "0x6013CBE")]
[Address(RVA = "0x16B4470", Offset = "0x16B2E70", VA = "0x1816B4470")]
private void Start()
{
CreationObject component = base.GetComponent<CreationObject>();
int num = 0;
if (component != num && component.LGLADBGABHO)
{
List<ILINODKFHEO> list = new List();
OMKPHDBNLKH<CreationObjectSettingStringUIControl, string>.DEDABHKCIBG <>9__21_ = SandboxObjectRespawner.<>c.<>9__21_0;
if (<>9__21_ == 0)
{
SandboxObjectRespawner.<>c.<>9__21_0 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.TagInputFieldUIControlPrefab;
}
OMKPHDBNLKH<CreationObjectSettingStringUIControl, string>.OHINDOLFNMP ohindolfnmp = new OMKPHDBNLKH.OHINDOLFNMP(this.JFHOEGFBCEE);
int num2;
PGIHLFOHNML pgihlfohnml = new PGIHLFOHNML(<>9__21_, ohindolfnmp, num2);
num2 = 0;
list.Add(pgihlfohnml);
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.DEDABHKCIBG dedabhkcibg;
if (SandboxObjectRespawner.<>c.<>9__21_2 == 0)
{
dedabhkcibg = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab;
SandboxObjectRespawner.<>c.<>9__21_2 = dedabhkcibg;
}
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.OHINDOLFNMP ohindolfnmp2 = new OMKPHDBNLKH.OHINDOLFNMP(this.PJKNKCEEKCP);
int num3;
CPNMFOKDBKM cpnmfokdbkm = new CPNMFOKDBKM(dedabhkcibg, ohindolfnmp2, num3);
num3 = 0;
list.Add(cpnmfokdbkm);
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.DEDABHKCIBG dedabhkcibg2;
if (SandboxObjectRespawner.<>c.<>9__21_4 == 0)
{
dedabhkcibg2 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab;
SandboxObjectRespawner.<>c.<>9__21_4 = dedabhkcibg2;
}
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.OHINDOLFNMP ohindolfnmp3 = new OMKPHDBNLKH.OHINDOLFNMP(this.LBLFNMLHDFF);
int num4;
CPNMFOKDBKM cpnmfokdbkm2 = new CPNMFOKDBKM(dedabhkcibg2, ohindolfnmp3, num4);
num4 = 0;
list.Add(cpnmfokdbkm2);
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.DEDABHKCIBG dedabhkcibg3;
if (SandboxObjectRespawner.<>c.<>9__21_6 == 0)
{
dedabhkcibg3 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab;
SandboxObjectRespawner.<>c.<>9__21_6 = dedabhkcibg3;
}
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.OHINDOLFNMP ohindolfnmp4 = new OMKPHDBNLKH.OHINDOLFNMP(this.EBNMGLFBOIB);
int num5;
CPNMFOKDBKM cpnmfokdbkm3 = new CPNMFOKDBKM(dedabhkcibg3, ohindolfnmp4, num5);
num5 = 0;
list.Add(cpnmfokdbkm3);
component.AddConfigurableSettings(list);
}
}
// Token: 0x06013CBF RID: 81087 RVA: 0x004BFDEC File Offset: 0x004BDFEC
[Token(Token = "0x6013CBF")]
[Address(RVA = "0x16B4040", Offset = "0x16B2A40", VA = "0x1816B4040")]
public void RespawnTool_Set(string BCEFAKDFEMM)
{
SynchronizedField<string> damglbnmkbf = this.DAMGLBNMKBF;
}
// Token: 0x06013CC0 RID: 81088 RVA: 0x004BFE08 File Offset: 0x004BE008
[Token(Token = "0x6013CC0")]
[Address(RVA = "0x16B3FF0", Offset = "0x16B29F0", VA = "0x1816B3FF0")]
public string RespawnTool_Get()
{
return this.DAMGLBNMKBF.Get();
}
// Token: 0x06013CC1 RID: 81089 RVA: 0x004BFE28 File Offset: 0x004BE028
[Token(Token = "0x6013CC1")]
[Address(RVA = "0x16B3F90", Offset = "0x16B2990", VA = "0x1816B3F90")]
public void RespawnToolPolitely_Set(bool BCEFAKDFEMM)
{
SynchronizedField<bool> ahennpoifjn = this.AHENNPOIFJN;
}
// Token: 0x06013CC2 RID: 81090 RVA: 0x004BFE44 File Offset: 0x004BE044
[Token(Token = "0x6013CC2")]
[Address(RVA = "0x16B3F40", Offset = "0x16B2940", VA = "0x1816B3F40")]
public bool RespawnToolPolitely_Get()
{
return this.AHENNPOIFJN.Get() == 0;
}
// Token: 0x06013CC3 RID: 81091 RVA: 0x004BFE68 File Offset: 0x004BE068
[Token(Token = "0x6013CC3")]
[Address(RVA = "0x16B3020", Offset = "0x16B1A20", VA = "0x1816B3020")]
public void ClearVelocityOnRespawn_Set(bool BCEFAKDFEMM)
{
SynchronizedField<bool> dgkolleanlf = this.DGKOLLEANLF;
}
// Token: 0x06013CC4 RID: 81092 RVA: 0x004BFE84 File Offset: 0x004BE084
[Token(Token = "0x6013CC4")]
[Address(RVA = "0x16B2FD0", Offset = "0x16B19D0", VA = "0x1816B2FD0")]
public bool ClearVelocityOnRespawn_Get()
{
return this.DGKOLLEANLF.Get() != null;
}
// Token: 0x06013CC5 RID: 81093 RVA: 0x004BFEA4 File Offset: 0x004BE0A4
[Token(Token = "0x6013CC5")]
[Address(RVA = "0x16B49A0", Offset = "0x16B33A0", VA = "0x1816B49A0")]
public void UseRespawnerRotation_Set(bool BCEFAKDFEMM)
{
SynchronizedField<bool> illnbgdkdko = this.ILLNBGDKDKO;
}
// Token: 0x06013CC6 RID: 81094 RVA: 0x004BFEC0 File Offset: 0x004BE0C0
[Token(Token = "0x6013CC6")]
[Address(RVA = "0x16B4950", Offset = "0x16B3350", VA = "0x1816B4950")]
public bool UseRespawnerRotation_Get()
{
return this.ILLNBGDKDKO.Get() != null;
}
// Token: 0x06013CC7 RID: 81095 RVA: 0x004BFEE0 File Offset: 0x004BE0E0
[Token(Token = "0x6013CC7")]
[Address(RVA = "0x16B3370", Offset = "0x16B1D70", VA = "0x1816B3370")]
private void KFHKJALNPEK()
{
Tooltip tooltip = this.tooltip;
string empty = string.Empty;
tooltip.Message = empty;
if (!string.IsNullOrEmpty(this.DAMGLBNMKBF.Get()))
{
Tooltip tooltip2 = this.tooltip;
string text = this.DAMGLBNMKBF.Get();
string text2 = "#" + text;
tooltip2.Message = text2;
}
}
// Token: 0x06013CC8 RID: 81096 RVA: 0x004BFF44 File Offset: 0x004BE144
[Token(Token = "0x6013CC8")]
[Address(RVA = "0x16B4210", Offset = "0x16B2C10", VA = "0x1816B4210")]
public void SpawnObjectSignalReceived(Dictionary<InputSlot, int> updates)
{
if (PhotonNetwork.IsMasterClient)
{
int num = 0;
if (updates.ContainsKey(num))
{
int num2 = 0;
if (updates[num2] != 0)
{
string text = this.DAMGLBNMKBF.Get();
TaggedTool taggedTool = this.LKCOIIJDFMP(text);
int num3 = 0;
if (taggedTool != num3)
{
}
int num4 = 0;
this.KGELPOABNKB(num4);
}
}
if (updates.ContainsKey((uint)1) && updates[(uint)1] != 0)
{
PhotonView photonView = PhotonNetwork.GetPhotonView(updates[(uint)1]);
int num5 = 0;
if (photonView != num5)
{
Tool component = photonView.GetComponent<Tool>();
int num6 = 0;
if (component != num6 && (!component.FNFNLDBILFE || this.ODFBGBOJPED))
{
this.KGELPOABNKB(component);
}
}
}
}
}
// Token: 0x06013CC9 RID: 81097 RVA: 0x004C0014 File Offset: 0x004BE214
[Token(Token = "0x6013CC9")]
[Address(RVA = "0x16B3460", Offset = "0x16B1E60", VA = "0x1816B3460")]
private void KGELPOABNKB(Tool CDLPINPAGND)
{
int num = 0;
if (CDLPINPAGND != num)
{
Vector3 zero = Vector3.zero;
Vector3 zero2 = Vector3.zero;
if (this.DGKOLLEANLF.Get() != 0)
{
}
RigidbodyEx rigidbodyEx = CDLPINPAGND.rigidbodyEx;
bool flag = !rigidbodyEx.IsSleeping();
if (flag)
{
RigidbodyEx rigidbodyEx2 = CDLPINPAGND.rigidbodyEx;
Vector3 velocity = rigidbodyEx.NHAOMEMANJA;
RigidbodyEx rigidbodyEx3 = CDLPINPAGND.rigidbodyEx;
Vector3 angularVelocity = rigidbodyEx.KHJFDILDLAD;
}
RigidbodyEx rigidbodyEx4 = CDLPINPAGND.rigidbodyEx;
Quaternion targetRotation = rigidbodyEx.MEJCMIKAJCD;
if (this.ILLNBGDKDKO.Get() != 0)
{
Transform targetTransform = this.rigidbodyEx.MDKDCJFEBJH;
Transform targetTransform2 = this.rigidbodyEx.MDKDCJFEBJH;
}
bool flag2 = CDLPINPAGND.GetComponent<UGCAIController>();
RigidbodyEx rigidbodyEx5 = this.rigidbodyEx;
if (flag2)
{
throw new NullReferenceException();
}
if (flag)
{
RigidbodyEx rigidbodyEx6 = CDLPINPAGND.rigidbodyEx;
RigidbodyEx rigidbodyEx7 = CDLPINPAGND.rigidbodyEx;
}
}
}
// Token: 0x06013CCA RID: 81098 RVA: 0x004C00F0 File Offset: 0x004BE2F0
[Token(Token = "0x6013CCA")]
[Address(RVA = "0x16B39A0", Offset = "0x16B23A0", VA = "0x1816B39A0")]
private TaggedTool LKCOIIJDFMP(string GHBNIGCAPPL)
{
int num;
do
{
num = 0;
ReadOnlyCollection<TaggedTool> toolsWithTag = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.GetToolsWithTag(GHBNIGCAPPL);
IEnumerator<TaggedTool> enumerator = toolsWithTag.GetEnumerator();
if (enumerator != 0)
{
if (num >= enumerator)
{
goto IL_31;
}
num += num;
if (num != enumerator)
{
num++;
goto IL_31;
}
IL_4E:
int num2;
num2 += num2;
float num3;
num3 += 2.7E-44f;
bool flag;
while (!flag)
{
}
bool flag2;
while (!flag2)
{
}
goto IL_6C;
IL_31:
RigidbodyEx rigidbodyEx = this.rigidbodyEx;
Vector3 vector;
float z = vector.z;
Vector3 vector2;
num3 = vector2.z;
num2 = 0;
goto IL_4E;
}
IL_6C:
if (enumerator != 0)
{
}
if (num != -1)
{
}
}
while (num != 0);
throw new NullReferenceException();
}
// Token: 0x170034E1 RID: 13537
// (get) Token: 0x06013CCB RID: 81099 RVA: 0x004C01B4 File Offset: 0x004BE3B4
[Token(Token = "0x170034E1")]
public bool JBMFJOBFJHP
{
[Token(Token = "0x6013CCB")]
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "15")]
get
{
}
}
// Token: 0x06013CCC RID: 81100 RVA: 0x004C01C4 File Offset: 0x004BE3C4
[Token(Token = "0x6013CCC")]
[Address(RVA = "0x16B3080", Offset = "0x16B1A80", VA = "0x1816B3080", Slot = "16")]
public void DeserializeFrom(KPNDFONGDGF HFBJGCHOANH)
{
SynchronizedField<string> damglbnmkbf = this.DAMGLBNMKBF;
SynchronizedField<bool> ahennpoifjn = this.AHENNPOIFJN;
SynchronizedField<bool> dgkolleanlf = this.DGKOLLEANLF;
SynchronizedField<bool> illnbgdkdko = this.ILLNBGDKDKO;
}
// Token: 0x06013CCD RID: 81101 RVA: 0x004C01F4 File Offset: 0x004BE3F4
[Token(Token = "0x6013CCD")]
[Address(RVA = "0x16B40A0", Offset = "0x16B2AA0", VA = "0x1816B40A0", Slot = "17")]
public void SerializeTo(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB)
{
JGMFIBIHPIC jgmfibihpic = new JGMFIBIHPIC();
string text = this.DAMGLBNMKBF.Get();
jgmfibihpic.APAGCGOJKMJ = text;
bool flag = this.AHENNPOIFJN.Get() != null;
jgmfibihpic.GFOOOPDMHLP = flag;
bool flag2 = this.DGKOLLEANLF.Get() != null;
jgmfibihpic.BAAKHNIDGNA = flag2;
bool flag3 = this.ILLNBGDKDKO.Get() != null;
jgmfibihpic.GMEOANJCPAH = flag3;
}
// Token: 0x06013CCE RID: 81102 RVA: 0x004C025C File Offset: 0x004BE45C
[Token(Token = "0x6013CCE")]
[Address(RVA = "0x6A4030", Offset = "0x6A2A30", VA = "0x1806A4030")]
public SandboxObjectRespawner()
{
}
// Token: 0x06013CCF RID: 81103 RVA: 0x004C0270 File Offset: 0x004BE470
[Token(Token = "0x6013CCF")]
[Address(RVA = "0x16B32B0", Offset = "0x16B1CB0", VA = "0x1816B32B0")]
[CompilerGenerated]
private void JFHOEGFBCEE(CreationObjectSettingStringUIControl GCCLEJOGCCE)
{
GCCLEJOGCCE.PropertyDescription.text = "Tag to respawn";
Func<string> func = new Func(this.RespawnTool_Get);
Action<string> action = new Action(this.RespawnTool_Set);
}
// Token: 0x06013CD0 RID: 81104 RVA: 0x004C02B0 File Offset: 0x004BE4B0
[Token(Token = "0x6013CD0")]
[Address(RVA = "0x16B3E80", Offset = "0x16B2880", VA = "0x1816B3E80")]
[CompilerGenerated]
private void PJKNKCEEKCP(CreationObjectSettingBooleanUIControl GCCLEJOGCCE)
{
GCCLEJOGCCE.PropertyDescription.text = "Don't respawn if held by player";
Func<bool> func = new Func(this.RespawnToolPolitely_Get);
Action<bool> action = new Action(this.RespawnToolPolitely_Set);
}
// Token: 0x06013CD1 RID: 81105 RVA: 0x004C02F0 File Offset: 0x004BE4F0
[Token(Token = "0x6013CD1")]
[Address(RVA = "0x16B38E0", Offset = "0x16B22E0", VA = "0x1816B38E0")]
[CompilerGenerated]
private void LBLFNMLHDFF(CreationObjectSettingBooleanUIControl GCCLEJOGCCE)
{
GCCLEJOGCCE.PropertyDescription.text = "Clear velocity on respawn";
Func<bool> func = new Func(this.ClearVelocityOnRespawn_Get);
Action<bool> action = new Action(this.ClearVelocityOnRespawn_Set);
}
// Token: 0x06013CD2 RID: 81106 RVA: 0x004C0330 File Offset: 0x004BE530
[Token(Token = "0x6013CD2")]
[Address(RVA = "0x16B31F0", Offset = "0x16B1BF0", VA = "0x1816B31F0")]
[CompilerGenerated]
private void EBNMGLFBOIB(CreationObjectSettingBooleanUIControl GCCLEJOGCCE)
{
GCCLEJOGCCE.PropertyDescription.text = "Change rotation on respawn";
Func<bool> func = new Func(this.UseRespawnerRotation_Get);
Action<bool> action = new Action(this.UseRespawnerRotation_Set);
}
// Token: 0x0400D5BC RID: 54716
[Token(Token = "0x400D5BC")]
private const InputSlot JBMLNKMFJBL = InputSlot.R;
// Token: 0x0400D5BD RID: 54717
[Token(Token = "0x400D5BD")]
private const InputSlot AFEMKIAOBKB = InputSlot.G;
// Token: 0x0400D5BE RID: 54718
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400D5BE")]
private SynchronizedField<string> DAMGLBNMKBF;
// Token: 0x0400D5BF RID: 54719
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x400D5BF")]
private SynchronizedField<bool> AHENNPOIFJN;
// Token: 0x0400D5C0 RID: 54720
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x400D5C0")]
private SynchronizedField<bool> DGKOLLEANLF;
// Token: 0x0400D5C1 RID: 54721
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x400D5C1")]
private SynchronizedField<bool> ILLNBGDKDKO;
// Token: 0x0400D5C2 RID: 54722
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x400D5C2")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
private RigidbodyEx rigidbodyEx;
// Token: 0x0400D5C3 RID: 54723
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x400D5C3")]
[SerializeField]
private Tooltip tooltip;
}
}