243 lines
6.6 KiB
C#
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;
|
|
}
|
|
}
|