120 lines
3.3 KiB
C#
120 lines
3.3 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Core.Combat
|
|
{
|
|
// Token: 0x02002DED RID: 11757
|
|
[Token(Token = "0x2002DED")]
|
|
[RequireComponent(typeof(BreakableObject))]
|
|
[StructLayout(3)]
|
|
public class BreakAndWake : MonoBehaviour
|
|
{
|
|
// Token: 0x06014F9B RID: 85915 RVA: 0x00508818 File Offset: 0x00506A18
|
|
[Token(Token = "0x6014F9B")]
|
|
[Address(RVA = "0x1852940", Offset = "0x1851340", VA = "0x181852940")]
|
|
private void Awake()
|
|
{
|
|
BreakableObject breakableObject;
|
|
Delegate @delegate;
|
|
for (;;)
|
|
{
|
|
breakableObject = this.breakableObject;
|
|
Action onShatterEvent = breakableObject.OnShatterEvent;
|
|
Action action = new Action(this.LKMGBIHMJKD);
|
|
@delegate = Delegate.Combine(onShatterEvent, action);
|
|
if (@delegate == 0)
|
|
{
|
|
break;
|
|
}
|
|
if (@delegate != 0)
|
|
{
|
|
goto Block_1;
|
|
}
|
|
}
|
|
breakableObject.OnShatterEvent = @delegate;
|
|
return;
|
|
Block_1:
|
|
breakableObject.OnShatterEvent = @delegate;
|
|
}
|
|
|
|
// Token: 0x06014F9C RID: 85916 RVA: 0x00508868 File Offset: 0x00506A68
|
|
[Token(Token = "0x6014F9C")]
|
|
[Address(RVA = "0x1852B80", Offset = "0x1851580", VA = "0x181852B80")]
|
|
private void OnDestroy()
|
|
{
|
|
while (this.breakableObject)
|
|
{
|
|
BreakableObject breakableObject = this.breakableObject;
|
|
Action onShatterEvent = breakableObject.OnShatterEvent;
|
|
Action action = new Action(this.LKMGBIHMJKD);
|
|
Delegate @delegate = Delegate.Remove(onShatterEvent, action);
|
|
if (@delegate == 0 || @delegate != 0)
|
|
{
|
|
breakableObject.OnShatterEvent = @delegate;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06014F9D RID: 85917 RVA: 0x005088BC File Offset: 0x00506ABC
|
|
[Token(Token = "0x6014F9D")]
|
|
[Address(RVA = "0x1852A10", Offset = "0x1851410", VA = "0x181852A10")]
|
|
private void LKMGBIHMJKD()
|
|
{
|
|
RigidbodyEx[] array = this.rigidbodiesToWake;
|
|
int num = 0;
|
|
int length = array.Length;
|
|
if (num < length)
|
|
{
|
|
RigidbodyEx rigidbodyEx = array[num];
|
|
int num2 = 0;
|
|
if (rigidbodyEx != num2)
|
|
{
|
|
rigidbodyEx.WakeUp();
|
|
float z = this.PHMMKNJHDJO.z;
|
|
}
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06014F9E RID: 85918 RVA: 0x00508910 File Offset: 0x00506B10
|
|
[Token(Token = "0x6014F9E")]
|
|
[Address(RVA = "0x1852B10", Offset = "0x1851510", VA = "0x181852B10")]
|
|
private void ODMPPAKICMJ()
|
|
{
|
|
RigidbodyEx[] componentsInChildren = base.transform.parent.GetComponentsInChildren<RigidbodyEx>();
|
|
this.rigidbodiesToWake = componentsInChildren;
|
|
}
|
|
|
|
// Token: 0x06014F9F RID: 85919 RVA: 0x0050893C File Offset: 0x00506B3C
|
|
[Token(Token = "0x6014F9F")]
|
|
[Address(RVA = "0x1852C70", Offset = "0x1851670", VA = "0x181852C70")]
|
|
public BreakAndWake()
|
|
{
|
|
float z = Vector3.up.z;
|
|
this.PHMMKNJHDJO.z = z;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400DF87 RID: 57223
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400DF87")]
|
|
private Vector3 PHMMKNJHDJO;
|
|
|
|
// Token: 0x0400DF88 RID: 57224
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400DF88")]
|
|
[SerializeField]
|
|
private RigidbodyEx[] rigidbodiesToWake;
|
|
|
|
// Token: 0x0400DF89 RID: 57225
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400DF89")]
|
|
[SerializeField]
|
|
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
|
|
private BreakableObject breakableObject;
|
|
}
|
|
}
|