398 lines
12 KiB
C#
398 lines
12 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
using AGUI.StackedUI;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun;
|
|
using RecRoom.AGUI.ToolUIs;
|
|
using RecRoom.Core.Creation;
|
|
using UnityEngine;
|
|
using UnityEngine.Serialization;
|
|
|
|
namespace RecRoom.Tools
|
|
{
|
|
// Token: 0x02002A3A RID: 10810
|
|
[Token(Token = "0x2002A3A")]
|
|
public class MoveableProp : MonoBehaviourPun, EOCLMMENCKH
|
|
{
|
|
// Token: 0x170032DE RID: 13022
|
|
// (get) Token: 0x06012287 RID: 74375 RVA: 0x004264EC File Offset: 0x004246EC
|
|
// (set) Token: 0x06012288 RID: 74376 RVA: 0x0042650C File Offset: 0x0042470C
|
|
[Token(Token = "0x170032DE")]
|
|
private bool LEOMFGDBDIE
|
|
{
|
|
[Token(Token = "0x6012287")]
|
|
[Address(RVA = "0x92B650", Offset = "0x92A450", VA = "0x18092B650")]
|
|
get
|
|
{
|
|
return this.CLDBCFMMOIE.IAHDANBDAAM() != null;
|
|
}
|
|
[Token(Token = "0x6012288")]
|
|
[Address(RVA = "0x92B210", Offset = "0x92A010", VA = "0x18092B210")]
|
|
set
|
|
{
|
|
KLLMCPFPIIE<bool> cldbcfmmoie = this.CLDBCFMMOIE;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012289 RID: 74377 RVA: 0x00426528 File Offset: 0x00424728
|
|
[Token(Token = "0x6012289")]
|
|
[Address(RVA = "0x92AEE0", Offset = "0x929CE0", VA = "0x18092AEE0", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
base..ctor();
|
|
Action action = new Action(this.JEFOHMJFONB);
|
|
Tool tool = this.tool;
|
|
KLLMCPFPIIE<bool> kllmcpfpiie;
|
|
this.CLDBCFMMOIE = kllmcpfpiie;
|
|
tool.AlwaysPhysicalPickupOffCenter = true;
|
|
this.tool.SleepOnStart = true;
|
|
this.tool.KinematicOnSleep = true;
|
|
this.tool.IgnorePickupDirection = true;
|
|
}
|
|
|
|
// Token: 0x0601228A RID: 74378 RVA: 0x0042658C File Offset: 0x0042478C
|
|
[Token(Token = "0x601228A")]
|
|
[Address(RVA = "0x92BCC0", Offset = "0x92AAC0", VA = "0x18092BCC0")]
|
|
private void Start()
|
|
{
|
|
Tool tool = this.tool;
|
|
MFBGLIHGCGO<Tool> postPickupEvent = tool.PostPickupEvent;
|
|
Action<Tool> action = new Action(this.EOEEJHHPNNO);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postPickupEvent, action);
|
|
tool.PostPickupEvent = mfbglihgcgo;
|
|
RigidbodyEx rigidbodyEx = this.rigidbodyEx;
|
|
RigidbodyEx.FPLEDOKDLCC fpledokdlcc = new RigidbodyEx.FPLEDOKDLCC(this.KDBBEJMIACD);
|
|
rigidbodyEx.JMHDMBMIEPP += fpledokdlcc;
|
|
this.MHBIPADBGKA();
|
|
RigidbodyEx rigidbodyEx2 = this.rigidbodyEx;
|
|
this.KDBBEJMIACD(rigidbodyEx2);
|
|
}
|
|
|
|
// Token: 0x0601228B RID: 74379 RVA: 0x00426600 File Offset: 0x00424800
|
|
[Token(Token = "0x601228B")]
|
|
[Address(RVA = "0x92B9D0", Offset = "0x92A7D0", VA = "0x18092B9D0", Slot = "14")]
|
|
protected override void OnDestroy()
|
|
{
|
|
base.OnDestroy();
|
|
Tool tool = this.tool;
|
|
int num = 0;
|
|
if (tool != num)
|
|
{
|
|
Tool tool2 = this.tool;
|
|
MFBGLIHGCGO<Tool> postPickupEvent = tool2.PostPickupEvent;
|
|
Action<Tool> action = new Action(this.EOEEJHHPNNO);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.GMNMHGMFGOL(postPickupEvent, action);
|
|
tool2.PostPickupEvent = mfbglihgcgo;
|
|
}
|
|
RigidbodyEx rigidbodyEx = this.rigidbodyEx;
|
|
int num2 = 0;
|
|
if (rigidbodyEx != num2)
|
|
{
|
|
RigidbodyEx rigidbodyEx2 = this.rigidbodyEx;
|
|
RigidbodyEx.FPLEDOKDLCC fpledokdlcc = new RigidbodyEx.FPLEDOKDLCC(this.KDBBEJMIACD);
|
|
rigidbodyEx2.JMHDMBMIEPP -= fpledokdlcc;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601228C RID: 74380 RVA: 0x00426690 File Offset: 0x00424890
|
|
[Token(Token = "0x601228C")]
|
|
[Address(RVA = "0x92B200", Offset = "0x92A000", VA = "0x18092B200")]
|
|
private void EOEEJHHPNNO(Tool NBHJPDBHDHB)
|
|
{
|
|
int num = 0;
|
|
this.DHJGDLKAMGH(num != 0);
|
|
}
|
|
|
|
// Token: 0x0601228D RID: 74381 RVA: 0x004266A8 File Offset: 0x004248A8
|
|
[Token(Token = "0x601228D")]
|
|
[Address(RVA = "0x92B6A0", Offset = "0x92A4A0", VA = "0x18092B6A0")]
|
|
private void KDBBEJMIACD(RigidbodyEx AFEBLJOIBBC)
|
|
{
|
|
bool isKinematic = AFEBLJOIBBC.JEGGMAKBGEK;
|
|
Tool tool = this.tool;
|
|
if (!isKinematic)
|
|
{
|
|
tool.GravityPickupMode = (Tool.LMJNHJCGDOF)((ulong)1L);
|
|
}
|
|
tool.GravityPickupMode = (Tool.LMJNHJCGDOF)((ulong)4294967295L);
|
|
bool flag = !this.tool.FNFNLDBILFE;
|
|
this.DHJGDLKAMGH(flag);
|
|
this.HOLKNCMHJMG(flag);
|
|
}
|
|
|
|
// Token: 0x0601228E RID: 74382 RVA: 0x00426704 File Offset: 0x00424904
|
|
[Token(Token = "0x601228E")]
|
|
[Address(RVA = "0x92AFE0", Offset = "0x929DE0", VA = "0x18092AFE0")]
|
|
private void DHJGDLKAMGH(bool HFENFPJDMOD)
|
|
{
|
|
if (this.hasDetailedColliders)
|
|
{
|
|
if (HFENFPJDMOD)
|
|
{
|
|
}
|
|
Collider[] array = this.detailedColliders;
|
|
Collider[] array2 = this.defaultColliders;
|
|
int num = 0;
|
|
int length = array.Length;
|
|
if (num < length)
|
|
{
|
|
Collider collider = array[num];
|
|
int num2 = 0;
|
|
collider.enabled = num2 != 0;
|
|
num++;
|
|
}
|
|
int length2 = array2.Length;
|
|
if (num < length2)
|
|
{
|
|
array2[num].enabled = true;
|
|
num++;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601228F RID: 74383 RVA: 0x00426778 File Offset: 0x00424978
|
|
[Token(Token = "0x601228F")]
|
|
[Address(RVA = "0x92B270", Offset = "0x92A070", VA = "0x18092B270")]
|
|
private void HOLKNCMHJMG(bool MHLAJCEGEKB)
|
|
{
|
|
for (;;)
|
|
{
|
|
int num = 0;
|
|
if ((this.supportsLocomotionCollisionConfiguration ? 1 : 0) == num)
|
|
{
|
|
break;
|
|
}
|
|
if (!MHLAJCEGEKB)
|
|
{
|
|
List<ToolCollider> nnbalfkkndo = this.tool.NNBALFKKNDO;
|
|
if ("MovementCollisionAlwaysAllowed" == 0)
|
|
{
|
|
goto IL_8B;
|
|
}
|
|
int num2 = 0;
|
|
if (num2 < "MovementCollisionAlwaysAllowed")
|
|
{
|
|
num2 += num2;
|
|
num2++;
|
|
}
|
|
ReadOnlyCollection<Collider> readOnlyCollection;
|
|
if (readOnlyCollection.GetEnumerator() == 0)
|
|
{
|
|
goto IL_79;
|
|
}
|
|
bool flag;
|
|
while (flag)
|
|
{
|
|
}
|
|
GameObject gameObject;
|
|
if (!gameObject.CompareTag("MovementCollisionAlwaysAllowed"))
|
|
{
|
|
continue;
|
|
}
|
|
GameObject gameObject2;
|
|
gameObject2.tag = "MovementCollisionAlwaysAllowed";
|
|
}
|
|
if (this.CLDBCFMMOIE.IAHDANBDAAM() != 0)
|
|
{
|
|
goto IL_79;
|
|
}
|
|
continue;
|
|
IL_8B:
|
|
if (num == 0)
|
|
{
|
|
break;
|
|
}
|
|
continue;
|
|
IL_79:
|
|
uint num3;
|
|
num3 += (uint)1;
|
|
if (MHLAJCEGEKB)
|
|
{
|
|
}
|
|
if (num == 0)
|
|
{
|
|
while (num3 == (uint)(-1))
|
|
{
|
|
}
|
|
goto IL_8B;
|
|
}
|
|
goto IL_AB;
|
|
}
|
|
return;
|
|
IL_AB:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06012290 RID: 74384 RVA: 0x00426844 File Offset: 0x00424A44
|
|
[Token(Token = "0x6012290")]
|
|
[Address(RVA = "0x92B730", Offset = "0x92A530", VA = "0x18092B730")]
|
|
private void MHBIPADBGKA()
|
|
{
|
|
if (this.supportsLocomotionCollisionConfiguration)
|
|
{
|
|
CreationObject creationObject = this.tool.creationObject;
|
|
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.DEDABHKCIBG <>9__18_ = MoveableProp.<>c.<>9__18_0;
|
|
if (<>9__18_ == 0)
|
|
{
|
|
MoveableProp.<>c.<>9__18_0 = (MakerPenPaletteConfigScreen editableUIFlow) => editableUIFlow.DefaultBoolUIControlPrefab;
|
|
}
|
|
OMKPHDBNLKH<CreationObjectSettingBooleanUIControl, bool>.OHINDOLFNMP ohindolfnmp = new OMKPHDBNLKH.OHINDOLFNMP(this.EBLBLJCNPMD);
|
|
CPNMFOKDBKM cpnmfokdbkm = new CPNMFOKDBKM(<>9__18_, ohindolfnmp, 99);
|
|
ILINODKFHEO ilinodkfheo = creationObject.AddConfigurableSetting(cpnmfokdbkm);
|
|
CreationObject creationObject2 = this.tool.creationObject;
|
|
DOPNALIMPNA[] array = new DOPNALIMPNA[1];
|
|
Func<bool> func = new Func(this.OFJDKGNNPDE);
|
|
Action<bool> action = new Action(this.HOJHNOGCLPH);
|
|
int num = 0;
|
|
int num2 = 0;
|
|
string text;
|
|
string text2;
|
|
DHCINNFLBBA dhcinnflbba = ONOKJPIMIIP.LBJPOFMMGGP(func, action, num2, num, text, text2);
|
|
if (dhcinnflbba != 0)
|
|
{
|
|
}
|
|
array[0] = dhcinnflbba;
|
|
ECJBHJOCKHL ecjbhjockhl = creationObject2.AddFoldoutMenu("Locomotion Collision", 99, array);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012291 RID: 74385 RVA: 0x0042691C File Offset: 0x00424B1C
|
|
[Token(Token = "0x6012291")]
|
|
[Address(RVA = "0x92B650", Offset = "0x92A450", VA = "0x18092B650")]
|
|
private bool OFJDKGNNPDE()
|
|
{
|
|
return this.CLDBCFMMOIE.IAHDANBDAAM() != null;
|
|
}
|
|
|
|
// Token: 0x06012292 RID: 74386 RVA: 0x0042693C File Offset: 0x00424B3C
|
|
[Token(Token = "0x6012292")]
|
|
[Address(RVA = "0x92B210", Offset = "0x92A010", VA = "0x18092B210")]
|
|
private void HOJHNOGCLPH(bool BCEFAKDFEMM)
|
|
{
|
|
KLLMCPFPIIE<bool> cldbcfmmoie = this.CLDBCFMMOIE;
|
|
}
|
|
|
|
// Token: 0x06012293 RID: 74387 RVA: 0x00426958 File Offset: 0x00424B58
|
|
[Token(Token = "0x6012293")]
|
|
[Address(RVA = "0x92B640", Offset = "0x92A440", VA = "0x18092B640")]
|
|
private void JEFOHMJFONB()
|
|
{
|
|
RigidbodyEx rigidbodyEx = this.rigidbodyEx;
|
|
this.KDBBEJMIACD(rigidbodyEx);
|
|
}
|
|
|
|
// Token: 0x170032DF RID: 13023
|
|
// (get) Token: 0x06012294 RID: 74388 RVA: 0x00426974 File Offset: 0x00424B74
|
|
[Token(Token = "0x170032DF")]
|
|
public bool JBMFJOBFJHP
|
|
{
|
|
[Token(Token = "0x6012294")]
|
|
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "15")]
|
|
get
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012295 RID: 74389 RVA: 0x00426984 File Offset: 0x00424B84
|
|
[Token(Token = "0x6012295")]
|
|
[Address(RVA = "0x92B0C0", Offset = "0x929EC0", VA = "0x18092B0C0", Slot = "16")]
|
|
public void DeserializeFrom(KPNDFONGDGF HFBJGCHOANH)
|
|
{
|
|
if (!base.OGIBLNIIHDK)
|
|
{
|
|
return;
|
|
}
|
|
if (this != 0)
|
|
{
|
|
bool flag;
|
|
this.LEOMFGDBDIE = flag;
|
|
return;
|
|
}
|
|
bool flag2 = this.grandfatheredValueLocomotionCollisionEnabled;
|
|
this.LEOMFGDBDIE = flag2;
|
|
}
|
|
|
|
// Token: 0x06012296 RID: 74390 RVA: 0x004269B8 File Offset: 0x00424BB8
|
|
[Token(Token = "0x6012296")]
|
|
[Address(RVA = "0x92BB20", Offset = "0x92A920", VA = "0x18092BB20", Slot = "17")]
|
|
public void SerializeTo(ref PDEKIHFJKHJ IABNDBNHMKF, ref MKNCHKCCIHK NHFINJNIPGK, StringBuilder BIPOIFGEMGB)
|
|
{
|
|
MOFMNEDKCJP mofmnedkcjp = new MOFMNEDKCJP();
|
|
bool flag = this.CLDBCFMMOIE.IAHDANBDAAM() == 0;
|
|
}
|
|
|
|
// Token: 0x06012297 RID: 74391 RVA: 0x00426A00 File Offset: 0x00424C00
|
|
[Token(Token = "0x6012297")]
|
|
[Address(RVA = "0x92BDC0", Offset = "0x92ABC0", VA = "0x18092BDC0")]
|
|
public MoveableProp()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06012298 RID: 74392 RVA: 0x00426A1C File Offset: 0x00424C1C
|
|
[Token(Token = "0x6012298")]
|
|
[Address(RVA = "0x92B130", Offset = "0x929F30", VA = "0x18092B130")]
|
|
[CompilerGenerated]
|
|
private void EBLBLJCNPMD(CreationObjectSettingBooleanUIControl GCCLEJOGCCE)
|
|
{
|
|
string text = GCCLEJOGCCE.PropertyDescription.text;
|
|
Func<bool> func = new Func(this.OFJDKGNNPDE);
|
|
Action<bool> action = new Action(this.HOJHNOGCLPH);
|
|
}
|
|
|
|
// Token: 0x0400BB8D RID: 48013
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x400BB8D")]
|
|
[SerializeField]
|
|
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
|
|
private Tool tool;
|
|
|
|
// Token: 0x0400BB8E RID: 48014
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400BB8E")]
|
|
[SerializeField]
|
|
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
|
|
private RigidbodyEx rigidbodyEx;
|
|
|
|
// Token: 0x0400BB8F RID: 48015
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400BB8F")]
|
|
[SerializeField]
|
|
[FormerlySerializedAs("useMovementCollision")]
|
|
private bool supportsLocomotionCollisionConfiguration = true;
|
|
|
|
// Token: 0x0400BB90 RID: 48016
|
|
[FieldOffset(Offset = "0x51")]
|
|
[Token(Token = "0x400BB90")]
|
|
[SerializeField]
|
|
private bool grandfatheredValueLocomotionCollisionEnabled;
|
|
|
|
// Token: 0x0400BB91 RID: 48017
|
|
[FieldOffset(Offset = "0x52")]
|
|
[Token(Token = "0x400BB91")]
|
|
[SerializeField]
|
|
private bool hasDetailedColliders;
|
|
|
|
// Token: 0x0400BB92 RID: 48018
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x400BB92")]
|
|
[SerializeField]
|
|
[OMAIFIIBMNL("hasDetailedColliders")]
|
|
private Collider[] detailedColliders;
|
|
|
|
// Token: 0x0400BB93 RID: 48019
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400BB93")]
|
|
[SerializeField]
|
|
[OMAIFIIBMNL("hasDetailedColliders")]
|
|
private Collider[] defaultColliders;
|
|
|
|
// Token: 0x0400BB94 RID: 48020
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400BB94")]
|
|
private KLLMCPFPIIE<bool> CLDBCFMMOIE;
|
|
}
|
|
}
|