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

243 lines
6.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Tools
{
// Token: 0x02002581 RID: 9601
[Token(Token = "0x2002581")]
[StructLayout(3)]
public class MoveableProp : MonoBehaviour
{
// Token: 0x060109F4 RID: 68084 RVA: 0x003E8470 File Offset: 0x003E6670
[Token(Token = "0x60109F4")]
[Address(RVA = "0x12C3D80", Offset = "0x12C2780", VA = "0x1812C3D80")]
private void Awake()
{
this.tool.AlwaysPhysicalPickupOffCenter = true;
this.tool.SleepOnStart = true;
this.tool.KinematicOnSleep = true;
this.tool.IgnorePickupDirection = true;
}
// Token: 0x060109F5 RID: 68085 RVA: 0x003E84B4 File Offset: 0x003E66B4
[Token(Token = "0x60109F5")]
[Address(RVA = "0x12C4410", Offset = "0x12C2E10", VA = "0x1812C4410")]
private void Start()
{
Tool tool = this.tool;
ActionEvent<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action = new Action(this.EOEEJHHPNNO);
ActionEvent<Tool> actionEvent = postPickupEvent + action;
tool.PostPickupEvent = actionEvent;
RigidbodyEx rigidbodyEx = this.rigidbodyEx;
RigidbodyEx.FPLEDOKDLCC fpledokdlcc = new RigidbodyEx.FPLEDOKDLCC(this.KDBBEJMIACD);
rigidbodyEx.JMHDMBMIEPP += fpledokdlcc;
bool isKinematic = this.rigidbodyEx.JEGGMAKBGEK;
Tool tool2 = this.tool;
if (!isKinematic)
{
tool2.GravityPickupMode = (Tool.LMJNHJCGDOF)((ulong)1L);
}
tool2.GravityPickupMode = (Tool.LMJNHJCGDOF)((ulong)4294967295L);
bool flag = !this.tool.FNFNLDBILFE;
this.DHJGDLKAMGH(flag);
this.JFJPOCGICFI(flag);
}
// Token: 0x060109F6 RID: 68086 RVA: 0x003E8568 File Offset: 0x003E6768
[Token(Token = "0x60109F6")]
[Address(RVA = "0x12C3EB0", Offset = "0x12C28B0", VA = "0x1812C3EB0")]
private void EOEEJHHPNNO(Tool NBHJPDBHDHB)
{
int num = 0;
this.DHJGDLKAMGH(num != 0);
}
// Token: 0x060109F7 RID: 68087 RVA: 0x003E8580 File Offset: 0x003E6780
[Token(Token = "0x60109F7")]
[Address(RVA = "0x12C42C0", Offset = "0x12C2CC0", VA = "0x1812C42C0")]
private void OnDestroy()
{
Tool tool = this.tool;
int num = 0;
if (tool != num)
{
Tool tool2 = this.tool;
ActionEvent<Tool> postPickupEvent = tool2.PostPickupEvent;
Action<Tool> action = new Action(this.EOEEJHHPNNO);
ActionEvent<Tool> actionEvent = postPickupEvent - action;
tool2.PostPickupEvent = actionEvent;
}
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: 0x060109F8 RID: 68088 RVA: 0x003E860C File Offset: 0x003E680C
[Token(Token = "0x60109F8")]
[Address(RVA = "0x12C4230", Offset = "0x12C2C30", VA = "0x1812C4230")]
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.JFJPOCGICFI(flag);
}
// Token: 0x060109F9 RID: 68089 RVA: 0x003E8668 File Offset: 0x003E6868
[Token(Token = "0x60109F9")]
[Address(RVA = "0x12C3DD0", Offset = "0x12C27D0", VA = "0x1812C3DD0")]
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: 0x060109FA RID: 68090 RVA: 0x003E86DC File Offset: 0x003E68DC
[Token(Token = "0x60109FA")]
[Address(RVA = "0x12C3EC0", Offset = "0x12C28C0", VA = "0x1812C3EC0")]
private void JFJPOCGICFI(bool MHLAJCEGEKB)
{
int num;
do
{
num = 0;
if ((this.useMovementCollision ? 1 : 0) == num)
{
break;
}
string text = "Untagged";
if (MHLAJCEGEKB)
{
text = "MovementCollisionAlwaysAllowed";
}
List<ToolCollider> nnbalfkkndo = this.tool.NNBALFKKNDO;
int num2 = 0;
num2 += num2;
num2++;
ReadOnlyCollection<Collider> readOnlyCollection;
IEnumerator<Collider> enumerator = readOnlyCollection.GetEnumerator();
if (enumerator != 0)
{
bool flag;
while (flag)
{
}
int num3 = 0;
GameObject gameObject;
if (!gameObject.CompareTag(num3))
{
continue;
}
GameObject gameObject2;
gameObject2.tag = text;
text += text;
}
uint num4;
num4 += (uint)1;
if (enumerator != 0)
{
}
if (num4 != (uint)(-1))
{
}
if (num != 0)
{
goto IL_A6;
}
num4 += (uint)1;
if (num4 != (uint)(-1))
{
}
}
while (num != 0);
return;
IL_A6:
throw new NullReferenceException();
}
// Token: 0x060109FB RID: 68091 RVA: 0x003E87A0 File Offset: 0x003E69A0
[Token(Token = "0x60109FB")]
[Address(RVA = "0x1055C90", Offset = "0x1054690", VA = "0x181055C90")]
public MoveableProp()
{
}
// Token: 0x0400B0F7 RID: 45303
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400B0F7")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
private Tool tool;
// Token: 0x0400B0F8 RID: 45304
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400B0F8")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
private RigidbodyEx rigidbodyEx;
// Token: 0x0400B0F9 RID: 45305
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400B0F9")]
[SerializeField]
private bool useMovementCollision = true;
// Token: 0x0400B0FA RID: 45306
[global::Cpp2IlInjected.FieldOffset(Offset = "0x29")]
[Token(Token = "0x400B0FA")]
[SerializeField]
private bool hasDetailedColliders;
// Token: 0x0400B0FB RID: 45307
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400B0FB")]
[SerializeField]
[OMAIFIIBMNL("hasDetailedColliders")]
private Collider[] detailedColliders;
// Token: 0x0400B0FC RID: 45308
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400B0FC")]
[SerializeField]
[OMAIFIIBMNL("hasDetailedColliders")]
private Collider[] defaultColliders;
}
}