443 lines
12 KiB
C#
443 lines
12 KiB
C#
using System;
|
|
using System.Collections;
|
|
using RecRoom;
|
|
using UnityEngine;
|
|
|
|
// Token: 0x02000BBB RID: 3003
|
|
public class PlungerRigidbodyPickup : RigidbodyPickup
|
|
{
|
|
// Token: 0x06016BC6 RID: 93126 RVA: 0x00658F6C File Offset: 0x0065716C
|
|
public void SnapToConstraint()
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.CurrentDistance = 0f;
|
|
}
|
|
|
|
// Token: 0x06016BC7 RID: 93127 RVA: 0x00658F80 File Offset: 0x00657180
|
|
private Quaternion NCFCEGDOJCP()
|
|
{
|
|
return this.ConstraintPickup.FJHEHAJCKKG().PAFJLHMDIMO(this.ConstraintOffsetRotation);
|
|
}
|
|
|
|
// Token: 0x06016BC8 RID: 93128 RVA: 0x00658F98 File Offset: 0x00657198
|
|
private void HGLLBBOPFJD(float BJJLAPMOGHH)
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.EPEBCNIJKDB = base.StartCoroutine(this.IMMDOIJOLOO(BJJLAPMOGHH));
|
|
}
|
|
|
|
// Token: 0x06016BC9 RID: 93129 RVA: 0x00658FB4 File Offset: 0x006571B4
|
|
public void FABCONHFEOI()
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.CurrentDistance = 1558f;
|
|
}
|
|
|
|
// Token: 0x06016BCA RID: 93130 RVA: 0x00658FC8 File Offset: 0x006571C8
|
|
public void FFNKNIFGMNG()
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.CurrentDistance = 8f;
|
|
}
|
|
|
|
// Token: 0x06016BCB RID: 93131 RVA: 0x00658FDC File Offset: 0x006571DC
|
|
public void KBENHBOBKNH()
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.CurrentDistance = 1776f;
|
|
}
|
|
|
|
// Token: 0x06016BCC RID: 93132 RVA: 0x00658FF0 File Offset: 0x006571F0
|
|
private IEnumerator IMMDOIJOLOO(float BJJLAPMOGHH)
|
|
{
|
|
this.IDIECAMPIIK = BJJLAPMOGHH;
|
|
float num = 0f;
|
|
float num2 = this.IDIECAMPIIK / this.returnToConstraintSpeed * 1.25f;
|
|
float num3 = 0f;
|
|
while (num3 < num2)
|
|
{
|
|
yield return new WaitForFixedUpdate();
|
|
num3 += Time.fixedDeltaTime;
|
|
this.IDIECAMPIIK = Mathf.SmoothDamp(this.IDIECAMPIIK, 0f, ref num, 0.1f, this.returnToConstraintSpeed, Time.fixedDeltaTime);
|
|
}
|
|
this.EPEBCNIJKDB = null;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x06016BCD RID: 93133 RVA: 0x00659014 File Offset: 0x00657214
|
|
public void NFKALPHDFAB()
|
|
{
|
|
this.FMDIACEHNFH(this.CurrentDistance);
|
|
}
|
|
|
|
// Token: 0x06016BCE RID: 93134 RVA: 0x00659024 File Offset: 0x00657224
|
|
private void JCMDAHCGHJH(float BJJLAPMOGHH)
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.EPEBCNIJKDB = base.StartCoroutine(this.IMMDOIJOLOO(BJJLAPMOGHH));
|
|
}
|
|
|
|
// Token: 0x06016BCF RID: 93135 RVA: 0x00659040 File Offset: 0x00657240
|
|
private Vector3 CBJOMKIMDPC()
|
|
{
|
|
return this.ConstraintOffsetPosition.NPBELFEFJBA(this.ConstraintPickup.BGGADGJCIIF(), this.ConstraintPickup.INMMPMMNFJF);
|
|
}
|
|
|
|
// Token: 0x06016BD0 RID: 93136 RVA: 0x00659064 File Offset: 0x00657264
|
|
public void CMMLEHEDBBM()
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.CurrentDistance = 1054f;
|
|
}
|
|
|
|
// Token: 0x170009CE RID: 2510
|
|
// (get) Token: 0x06016BD1 RID: 93137 RVA: 0x00659078 File Offset: 0x00657278
|
|
private Quaternion GOICLAANICH
|
|
{
|
|
get
|
|
{
|
|
return this.ConstraintPickup.INMMPMMNFJF.PAFJLHMDIMO(this.ConstraintOffsetRotation);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06016BD2 RID: 93138 RVA: 0x00659090 File Offset: 0x00657290
|
|
private Vector3 JMPIIDLIDPO()
|
|
{
|
|
return this.ConstraintOffsetPosition.NPBELFEFJBA(this.ConstraintPickup.DCOAIMPGDBF(), this.ConstraintPickup.FJHEHAJCKKG());
|
|
}
|
|
|
|
// Token: 0x170009CD RID: 2509
|
|
// (get) Token: 0x06016BD3 RID: 93139 RVA: 0x006590B4 File Offset: 0x006572B4
|
|
private Vector3 AMEBHHPBNCO
|
|
{
|
|
get
|
|
{
|
|
return this.ConstraintOffsetPosition.NPBELFEFJBA(this.ConstraintPickup.KIJCBJAJPID, this.ConstraintPickup.INMMPMMNFJF);
|
|
}
|
|
}
|
|
|
|
// Token: 0x170009CF RID: 2511
|
|
// (get) Token: 0x06016BD4 RID: 93140 RVA: 0x006590D8 File Offset: 0x006572D8
|
|
private Vector3 GCMDFNHNOFA
|
|
{
|
|
get
|
|
{
|
|
return this.ConstraintLocalAxis.NPBELFEFJBA(Vector3.zero, this.GOICLAANICH);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06016BD5 RID: 93141 RVA: 0x006590F0 File Offset: 0x006572F0
|
|
private Vector3 BKKLDBJCOJN()
|
|
{
|
|
return this.ConstraintLocalAxis.NPBELFEFJBA(Vector3.zero, this.NCFCEGDOJCP());
|
|
}
|
|
|
|
// Token: 0x06016BD6 RID: 93142 RVA: 0x00659108 File Offset: 0x00657308
|
|
public void LerpToConstraint()
|
|
{
|
|
this.FMDIACEHNFH(this.CurrentDistance);
|
|
}
|
|
|
|
// Token: 0x06016BD7 RID: 93143 RVA: 0x00659118 File Offset: 0x00657318
|
|
public void GHFIKFHOINJ()
|
|
{
|
|
this.JCMDAHCGHJH(this.CurrentDistance);
|
|
}
|
|
|
|
// Token: 0x06016BD8 RID: 93144 RVA: 0x00659128 File Offset: 0x00657328
|
|
public void CPIKNOJMECE()
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.CurrentDistance = 1031f;
|
|
}
|
|
|
|
// Token: 0x170009CB RID: 2507
|
|
// (get) Token: 0x06016BD9 RID: 93145 RVA: 0x0065913C File Offset: 0x0065733C
|
|
public override Vector3 KIJCBJAJPID
|
|
{
|
|
get
|
|
{
|
|
if (this.ConstraintPickup == null)
|
|
{
|
|
return base.transform.position;
|
|
}
|
|
Vector3 vector = this.AMEBHHPBNCO;
|
|
if (!this.MEMOPCOHPLE)
|
|
{
|
|
return vector;
|
|
}
|
|
Vector3 vector2 = this.GCMDFNHNOFA;
|
|
if (this.EPEBCNIJKDB != null)
|
|
{
|
|
this.CurrentDistance = this.IDIECAMPIIK;
|
|
}
|
|
else
|
|
{
|
|
Vector3 targetPosition = base.KIJCBJAJPID;
|
|
Vector3 vector3 = targetPosition - vector;
|
|
this.CurrentDistance = Mathf.Clamp(Vector3.Dot(vector3, vector2), this.MinimumConstraintDistance, this.MaximumConstraintDistance);
|
|
}
|
|
return vector + vector2 * this.CurrentDistance;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06016BDA RID: 93146 RVA: 0x006591DC File Offset: 0x006573DC
|
|
public virtual Vector3 GCIGGLHOOFL()
|
|
{
|
|
if (this.ConstraintPickup == null)
|
|
{
|
|
return base.transform.position;
|
|
}
|
|
Vector3 vector = this.CBJOMKIMDPC();
|
|
if (!this.MEOKHJEHNEP())
|
|
{
|
|
return vector;
|
|
}
|
|
Vector3 vector2 = this.BKKLDBJCOJN();
|
|
if (this.EPEBCNIJKDB != null)
|
|
{
|
|
this.CurrentDistance = this.IDIECAMPIIK;
|
|
}
|
|
else
|
|
{
|
|
Vector3 vector3 = base.MCACCOBNBML();
|
|
Vector3 vector4 = vector3 - vector;
|
|
this.CurrentDistance = Mathf.Clamp(Vector3.Dot(vector4, vector2), this.MinimumConstraintDistance, this.MaximumConstraintDistance);
|
|
}
|
|
return vector + vector2 * this.CurrentDistance;
|
|
}
|
|
|
|
// Token: 0x06016BDB RID: 93147 RVA: 0x0065927C File Offset: 0x0065747C
|
|
public void LADBNJHHDFE()
|
|
{
|
|
this.GMJIOHBHOOC(this.CurrentDistance);
|
|
}
|
|
|
|
// Token: 0x06016BDC RID: 93148 RVA: 0x0065928C File Offset: 0x0065748C
|
|
public void PACDIBDIPPB()
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.CurrentDistance = 1509f;
|
|
}
|
|
|
|
// Token: 0x06016BDD RID: 93149 RVA: 0x006592A0 File Offset: 0x006574A0
|
|
public virtual Quaternion FDLHBAGAGKA()
|
|
{
|
|
if (this.ConstraintPickup == null)
|
|
{
|
|
return base.transform.rotation;
|
|
}
|
|
return this.GOICLAANICH;
|
|
}
|
|
|
|
// Token: 0x06016BDE RID: 93150 RVA: 0x006592C8 File Offset: 0x006574C8
|
|
public void GENKJIBMBBG()
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.CurrentDistance = 1736f;
|
|
}
|
|
|
|
// Token: 0x06016BDF RID: 93151 RVA: 0x006592DC File Offset: 0x006574DC
|
|
private void GMJIOHBHOOC(float BJJLAPMOGHH)
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.EPEBCNIJKDB = base.StartCoroutine(this.PCMHEICDENN(BJJLAPMOGHH));
|
|
}
|
|
|
|
// Token: 0x170009CC RID: 2508
|
|
// (get) Token: 0x06016BE0 RID: 93152 RVA: 0x006592F8 File Offset: 0x006574F8
|
|
public override Quaternion INMMPMMNFJF
|
|
{
|
|
get
|
|
{
|
|
if (this.ConstraintPickup == null)
|
|
{
|
|
return base.transform.rotation;
|
|
}
|
|
return this.GOICLAANICH;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06016BE1 RID: 93153 RVA: 0x00659320 File Offset: 0x00657520
|
|
private void ABDFFGECLIL()
|
|
{
|
|
if (this.EPEBCNIJKDB != null)
|
|
{
|
|
base.StopCoroutine(this.EPEBCNIJKDB);
|
|
this.EPEBCNIJKDB = null;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06016BE2 RID: 93154 RVA: 0x00659340 File Offset: 0x00657540
|
|
private IEnumerator PCMHEICDENN(float BJJLAPMOGHH)
|
|
{
|
|
this.IDIECAMPIIK = BJJLAPMOGHH;
|
|
num = 0f;
|
|
num2 = this.IDIECAMPIIK / this.returnToConstraintSpeed * 1.25f;
|
|
num3 = 0f;
|
|
while (num3 < num2)
|
|
{
|
|
yield return new WaitForFixedUpdate();
|
|
num3 += Time.fixedDeltaTime;
|
|
this.IDIECAMPIIK = Mathf.SmoothDamp(this.IDIECAMPIIK, 0f, ref num, 0.1f, this.returnToConstraintSpeed, Time.fixedDeltaTime);
|
|
}
|
|
this.EPEBCNIJKDB = null;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x06016BE3 RID: 93155 RVA: 0x00659364 File Offset: 0x00657564
|
|
private IEnumerator PDDCAHBJAIF(float BJJLAPMOGHH)
|
|
{
|
|
this.IDIECAMPIIK = BJJLAPMOGHH;
|
|
num = 0f;
|
|
num2 = this.IDIECAMPIIK / this.returnToConstraintSpeed * 1.25f;
|
|
num3 = 0f;
|
|
while (num3 < num2)
|
|
{
|
|
yield return new WaitForFixedUpdate();
|
|
num3 += Time.fixedDeltaTime;
|
|
this.IDIECAMPIIK = Mathf.SmoothDamp(this.IDIECAMPIIK, 0f, ref num, 0.1f, this.returnToConstraintSpeed, Time.fixedDeltaTime);
|
|
}
|
|
this.EPEBCNIJKDB = null;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x06016BE4 RID: 93156 RVA: 0x00659388 File Offset: 0x00657588
|
|
public virtual Quaternion GNNMOOBLNPJ()
|
|
{
|
|
if (this.ConstraintPickup == null)
|
|
{
|
|
return base.transform.rotation;
|
|
}
|
|
return this.GOICLAANICH;
|
|
}
|
|
|
|
// Token: 0x06016BE5 RID: 93157 RVA: 0x006593B0 File Offset: 0x006575B0
|
|
private Vector3 JMKHJJHEHKA()
|
|
{
|
|
return this.ConstraintLocalAxis.NPBELFEFJBA(Vector3.zero, this.GOICLAANICH);
|
|
}
|
|
|
|
// Token: 0x06016BE7 RID: 93159 RVA: 0x006593FC File Offset: 0x006575FC
|
|
private void FMDIACEHNFH(float BJJLAPMOGHH)
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.EPEBCNIJKDB = base.StartCoroutine(this.PCMHEICDENN(BJJLAPMOGHH));
|
|
}
|
|
|
|
// Token: 0x06016BE8 RID: 93160 RVA: 0x00659418 File Offset: 0x00657618
|
|
public virtual Vector3 CHBPDDBDFNA()
|
|
{
|
|
if (this.ConstraintPickup == null)
|
|
{
|
|
return base.transform.position;
|
|
}
|
|
Vector3 vector = this.EABNAILCAJK();
|
|
if (!this.MEMOPCOHPLE)
|
|
{
|
|
return vector;
|
|
}
|
|
Vector3 vector2 = this.GCMDFNHNOFA;
|
|
if (this.EPEBCNIJKDB != null)
|
|
{
|
|
this.CurrentDistance = this.IDIECAMPIIK;
|
|
}
|
|
else
|
|
{
|
|
Vector3 vector3 = base.HEPHHLLIDBC();
|
|
Vector3 vector4 = vector3 - vector;
|
|
this.CurrentDistance = Mathf.Clamp(Vector3.Dot(vector4, vector2), this.MinimumConstraintDistance, this.MaximumConstraintDistance);
|
|
}
|
|
return vector + vector2 * this.CurrentDistance;
|
|
}
|
|
|
|
// Token: 0x06016BE9 RID: 93161 RVA: 0x006594B8 File Offset: 0x006576B8
|
|
private Vector3 IBKDMDCJCOB()
|
|
{
|
|
return this.ConstraintLocalAxis.NPBELFEFJBA(Vector3.zero, this.GOICLAANICH);
|
|
}
|
|
|
|
// Token: 0x06016BEA RID: 93162 RVA: 0x006594D0 File Offset: 0x006576D0
|
|
private Vector3 EABNAILCAJK()
|
|
{
|
|
return this.ConstraintOffsetPosition.NPBELFEFJBA(this.ConstraintPickup.GCEBPCBHJJL(), this.ConstraintPickup.CAPJFECFOME());
|
|
}
|
|
|
|
// Token: 0x06016BEB RID: 93163 RVA: 0x006594F4 File Offset: 0x006576F4
|
|
private Vector3 PCOFFKACHDF()
|
|
{
|
|
return this.ConstraintOffsetPosition.NPBELFEFJBA(this.ConstraintPickup.DCOAIMPGDBF(), this.ConstraintPickup.FJHEHAJCKKG());
|
|
}
|
|
|
|
// Token: 0x06016BEC RID: 93164 RVA: 0x00659518 File Offset: 0x00657718
|
|
public virtual Vector3 KPOKEFOHKFI()
|
|
{
|
|
if (this.ConstraintPickup == null)
|
|
{
|
|
return base.transform.position;
|
|
}
|
|
Vector3 vector = this.JMPIIDLIDPO();
|
|
if (!this.MEOKHJEHNEP())
|
|
{
|
|
return vector;
|
|
}
|
|
Vector3 vector2 = this.BKKLDBJCOJN();
|
|
if (this.EPEBCNIJKDB != null)
|
|
{
|
|
this.CurrentDistance = this.IDIECAMPIIK;
|
|
}
|
|
else
|
|
{
|
|
Vector3 vector3 = base.MCACCOBNBML();
|
|
Vector3 vector4 = vector3 - vector;
|
|
this.CurrentDistance = Mathf.Clamp(Vector3.Dot(vector4, vector2), this.MinimumConstraintDistance, this.MaximumConstraintDistance);
|
|
}
|
|
return vector + vector2 * this.CurrentDistance;
|
|
}
|
|
|
|
// Token: 0x06016BED RID: 93165 RVA: 0x006595B8 File Offset: 0x006577B8
|
|
public void PFDBMMFJHAF()
|
|
{
|
|
this.ABDFFGECLIL();
|
|
this.CurrentDistance = 1862f;
|
|
}
|
|
|
|
// Token: 0x04003FC7 RID: 16327
|
|
[SerializeField]
|
|
private float returnToConstraintSpeed = 20f;
|
|
|
|
// Token: 0x04003FC8 RID: 16328
|
|
[NonSerialized]
|
|
public RigidbodyPickup ConstraintPickup;
|
|
|
|
// Token: 0x04003FC9 RID: 16329
|
|
[NonSerialized]
|
|
public Vector3 ConstraintOffsetPosition = Vector3.zero;
|
|
|
|
// Token: 0x04003FCA RID: 16330
|
|
[NonSerialized]
|
|
public Quaternion ConstraintOffsetRotation = Quaternion.identity;
|
|
|
|
// Token: 0x04003FCB RID: 16331
|
|
[NonSerialized]
|
|
public Vector3 ConstraintLocalAxis = Vector3.forward;
|
|
|
|
// Token: 0x04003FCC RID: 16332
|
|
[NonSerialized]
|
|
public float MinimumConstraintDistance;
|
|
|
|
// Token: 0x04003FCD RID: 16333
|
|
[NonSerialized]
|
|
public float MaximumConstraintDistance;
|
|
|
|
// Token: 0x04003FCE RID: 16334
|
|
[NonSerialized]
|
|
public float CurrentDistance;
|
|
|
|
// Token: 0x04003FCF RID: 16335
|
|
private Coroutine EPEBCNIJKDB;
|
|
|
|
// Token: 0x04003FD0 RID: 16336
|
|
private float IDIECAMPIIK;
|
|
}
|