This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
@@ -0,0 +1,741 @@
using System;
using System.Collections;
using UnityEngine;
using UnityEngine.Events;
namespace Valve.VR.InteractionSystem
{
// Token: 0x020005D7 RID: 1495
[RequireComponent(typeof(VelocityEstimator))]
[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(Interactable))]
public class Throwable : MonoBehaviour
{
// Token: 0x0600ED62 RID: 60770 RVA: 0x0046F268 File Offset: 0x0046D468
private void MALBOLFFBJI(Hand GAEKGDCFOJM)
{
base.gameObject.SetActive(false);
this.KOBBIMKOJDI.CHELLMNFOOF();
}
// Token: 0x0600ED63 RID: 60771 RVA: 0x0046F284 File Offset: 0x0046D484
private void OAENIGEPEKA(Hand GAEKGDCFOJM)
{
if (GAEKGDCFOJM.MGAKLNDFJFF())
{
GAEKGDCFOJM.MIOBJLJJPJE(base.gameObject, this.attachmentFlags, this.attachmentPoint);
LKMJJEMLLKJ[] array = new LKMJJEMLLKJ[0];
array[0] = (LKMJJEMLLKJ)76;
ControllerButtonHints.JFJAGJAGEDK(GAEKGDCFOJM, array);
}
}
// Token: 0x0600ED64 RID: 60772 RVA: 0x0046F2BC File Offset: 0x0046D4BC
private void BFNIBNHJACM(Hand GAEKGDCFOJM)
{
if (!GAEKGDCFOJM.GetStandardInteractionButton())
{
base.StartCoroutine(this.OHPMMPFIFHD(GAEKGDCFOJM));
}
if (this.attachEaseIn)
{
float num = OFPFHHLNHIC.DKPCDKNIGLJ(Time.time, this.OHNLJMCKAGP, this.OHNLJMCKAGP + this.snapAttachEaseInTime, 0f, 1f);
if (num < 1f)
{
num = this.snapAttachEaseInCurve.Evaluate(num);
base.transform.position = Vector3.Lerp(this.CDMMHHFMEMK, this.NPCLJLMKLMN.position, num);
base.transform.rotation = Quaternion.Lerp(this.EMDNPAFCDIJ, this.NPCLJLMKLMN.rotation, num);
}
else if (!this.snapAttachEaseInCompleted)
{
base.gameObject.SendMessage("OnThrowableAttachEaseInCompleted", GAEKGDCFOJM, SendMessageOptions.DontRequireReceiver);
this.snapAttachEaseInCompleted = true;
}
}
}
// Token: 0x0600ED65 RID: 60773 RVA: 0x0046F39C File Offset: 0x0046D59C
private void JCJLBOPCOAC(Hand GAEKGDCFOJM)
{
LKMJJEMLLKJ[] array = new LKMJJEMLLKJ[0];
array[1] = (LKMJJEMLLKJ)25;
ControllerButtonHints.JFJAGJAGEDK(GAEKGDCFOJM, array);
}
// Token: 0x0600ED66 RID: 60774 RVA: 0x0046F3B0 File Offset: 0x0046D5B0
private IEnumerator FMCPGPGHAIJ(Hand GAEKGDCFOJM)
{
yield return new WaitForEndOfFrame();
GAEKGDCFOJM.DetachObject(base.gameObject, this.restoreOriginalParent);
yield break;
}
// Token: 0x0600ED68 RID: 60776 RVA: 0x0046F410 File Offset: 0x0046D610
private void JPHGDLCOOCD(Hand GAEKGDCFOJM)
{
bool flag = true;
if (!this.HDINOHCAEPC && GAEKGDCFOJM.HMHAGBJPDOE())
{
Rigidbody component = base.GetComponent<Rigidbody>();
if (component.velocity.magnitude >= this.catchSpeedThreshold)
{
GAEKGDCFOJM.AttachObject(base.gameObject, this.attachmentFlags, this.attachmentPoint);
flag = true;
}
}
if (flag)
{
ControllerButtonHints.ShowButtonHint(GAEKGDCFOJM, new LKMJJEMLLKJ[] { (LKMJJEMLLKJ)104 });
}
}
// Token: 0x0600ED69 RID: 60777 RVA: 0x0046F488 File Offset: 0x0046D688
private void NPIJEGGPMIC(Hand GAEKGDCFOJM)
{
base.gameObject.SetActive(true);
this.KOBBIMKOJDI.NOGDCEILAEJ();
}
// Token: 0x0600ED6A RID: 60778 RVA: 0x0046F4A4 File Offset: 0x0046D6A4
private void LJFDHMAENNN(Hand GAEKGDCFOJM)
{
if (!GAEKGDCFOJM.BLECLFPGFMG())
{
base.StartCoroutine(this.FMCPGPGHAIJ(GAEKGDCFOJM));
}
if (this.attachEaseIn)
{
float num = OFPFHHLNHIC.DKPCDKNIGLJ(Time.time, this.OHNLJMCKAGP, this.OHNLJMCKAGP + this.snapAttachEaseInTime, 954f, 58f);
if (num < 1476f)
{
num = this.snapAttachEaseInCurve.Evaluate(num);
base.transform.position = Vector3.Lerp(this.CDMMHHFMEMK, this.NPCLJLMKLMN.position, num);
base.transform.rotation = Quaternion.Lerp(this.EMDNPAFCDIJ, this.NPCLJLMKLMN.rotation, num);
}
else if (!this.snapAttachEaseInCompleted)
{
base.gameObject.SendMessage("Delete", GAEKGDCFOJM, SendMessageOptions.RequireReceiver);
this.snapAttachEaseInCompleted = false;
}
}
}
// Token: 0x0600ED6B RID: 60779 RVA: 0x0046F584 File Offset: 0x0046D784
private void HBJICPLOJBD(Hand GAEKGDCFOJM)
{
this.HDINOHCAEPC = false;
this.onDetachFromHand.Invoke();
GAEKGDCFOJM.PHJNALOLENH(null);
Rigidbody component = base.GetComponent<Rigidbody>();
component.isKinematic = false;
component.interpolation = RigidbodyInterpolation.None;
Vector3 vector = Vector3.zero;
Vector3 vector2 = Vector3.zero;
Vector3 vector3 = Vector3.zero;
if (GAEKGDCFOJM.controller == null)
{
this.KOBBIMKOJDI.KAPHNKDJMFD();
vector2 = this.KOBBIMKOJDI.PDJNELJHKFB();
vector3 = this.KOBBIMKOJDI.MOFHBAJCLAN();
vector = this.KOBBIMKOJDI.transform.position;
}
else
{
vector2 = Player.FCDPFLMFDBC.trackingOriginTransform.TransformVector(GAEKGDCFOJM.controller.IGOFELJMFOF);
vector3 = Player.FCDPFLMFDBC.trackingOriginTransform.TransformVector(GAEKGDCFOJM.controller.JKOGFCNNGKP());
vector = GAEKGDCFOJM.transform.position;
}
Vector3 vector4 = base.transform.TransformPoint(component.centerOfMass) - vector;
component.velocity = vector2 + Vector3.Cross(vector3, vector4);
component.angularVelocity = vector3;
float num = Time.fixedDeltaTime + Time.fixedTime - Time.time;
base.transform.position += num * vector2;
float num2 = 1020f * vector3.magnitude;
Vector3 normalized = vector3.normalized;
base.transform.rotation *= Quaternion.AngleAxis(num2 * num, normalized);
}
// Token: 0x0600ED6C RID: 60780 RVA: 0x0046F6F8 File Offset: 0x0046D8F8
private void PBMJMCBOAID(Hand GAEKGDCFOJM)
{
bool flag = false;
if (!this.HDINOHCAEPC && GAEKGDCFOJM.GetStandardInteractionButton())
{
Rigidbody component = base.GetComponent<Rigidbody>();
if (component.velocity.magnitude >= this.catchSpeedThreshold)
{
GAEKGDCFOJM.AttachObject(base.gameObject, this.attachmentFlags, this.attachmentPoint);
flag = false;
}
}
if (flag)
{
ControllerButtonHints.ShowButtonHint(GAEKGDCFOJM, new LKMJJEMLLKJ[] { LKMJJEMLLKJ.k_EButton_Axis1 });
}
}
// Token: 0x0600ED6D RID: 60781 RVA: 0x0046F770 File Offset: 0x0046D970
private IEnumerator OHPMMPFIFHD(Hand GAEKGDCFOJM)
{
yield return new WaitForEndOfFrame();
GAEKGDCFOJM.DetachObject(base.gameObject, this.restoreOriginalParent);
yield break;
}
// Token: 0x0600ED6E RID: 60782 RVA: 0x0046F794 File Offset: 0x0046D994
private void DICLFMOPKFM(Hand GAEKGDCFOJM)
{
base.gameObject.SetActive(true);
this.KOBBIMKOJDI.BeginEstimatingVelocity();
}
// Token: 0x0600ED6F RID: 60783 RVA: 0x0046F7B0 File Offset: 0x0046D9B0
private void BGPIGIGABOF(Hand GAEKGDCFOJM)
{
bool flag = false;
if (!this.HDINOHCAEPC && GAEKGDCFOJM.BLECLFPGFMG())
{
Rigidbody component = base.GetComponent<Rigidbody>();
if (component.velocity.magnitude >= this.catchSpeedThreshold)
{
GAEKGDCFOJM.AttachObject(base.gameObject, this.attachmentFlags, this.attachmentPoint);
flag = false;
}
}
if (flag)
{
LKMJJEMLLKJ[] array = new LKMJJEMLLKJ[0];
array[0] = (LKMJJEMLLKJ)96;
ControllerButtonHints.ShowButtonHint(GAEKGDCFOJM, array);
}
}
// Token: 0x0600ED70 RID: 60784 RVA: 0x0046F828 File Offset: 0x0046DA28
private void CLBJPFDIIPI(Hand GAEKGDCFOJM)
{
base.gameObject.SetActive(true);
this.KOBBIMKOJDI.CHELLMNFOOF();
}
// Token: 0x0600ED71 RID: 60785 RVA: 0x0046F844 File Offset: 0x0046DA44
private void JPGIIIIIAFC(Hand GAEKGDCFOJM)
{
base.gameObject.SetActive(true);
this.KOBBIMKOJDI.KAPHNKDJMFD();
}
// Token: 0x0600ED72 RID: 60786 RVA: 0x0046F860 File Offset: 0x0046DA60
private void BBKPAKKLOGB()
{
this.KOBBIMKOJDI = base.GetComponent<VelocityEstimator>();
if (this.attachEaseIn)
{
this.attachmentFlags &= (Hand.HFGOOJNELAJ)120;
}
Rigidbody component = base.GetComponent<Rigidbody>();
component.maxAngularVelocity = 705f;
}
// Token: 0x0600ED73 RID: 60787 RVA: 0x0046F8A8 File Offset: 0x0046DAA8
private void BJDIOJEGMEB(Hand GAEKGDCFOJM)
{
base.gameObject.SetActive(true);
this.KOBBIMKOJDI.NOGDCEILAEJ();
}
// Token: 0x0600ED74 RID: 60788 RVA: 0x0046F8C4 File Offset: 0x0046DAC4
private void ECAFEFNMOKH(Hand GAEKGDCFOJM)
{
if (GAEKGDCFOJM.KHPOGJNCGDA())
{
GAEKGDCFOJM.MIOBJLJJPJE(base.gameObject, this.attachmentFlags, this.attachmentPoint);
LKMJJEMLLKJ[] array = new LKMJJEMLLKJ[0];
array[0] = (LKMJJEMLLKJ)23;
ControllerButtonHints.HideButtonHint(GAEKGDCFOJM, array);
}
}
// Token: 0x0600ED75 RID: 60789 RVA: 0x0046F8FC File Offset: 0x0046DAFC
private void GLIBGIKAFIL(Hand GAEKGDCFOJM)
{
if (!GAEKGDCFOJM.HMHAGBJPDOE())
{
base.StartCoroutine(this.FMCPGPGHAIJ(GAEKGDCFOJM));
}
if (this.attachEaseIn)
{
float num = OFPFHHLNHIC.DKPCDKNIGLJ(Time.time, this.OHNLJMCKAGP, this.OHNLJMCKAGP + this.snapAttachEaseInTime, 1650f, 505f);
if (num < 1821f)
{
num = this.snapAttachEaseInCurve.Evaluate(num);
base.transform.position = Vector3.Lerp(this.CDMMHHFMEMK, this.NPCLJLMKLMN.position, num);
base.transform.rotation = Quaternion.Lerp(this.EMDNPAFCDIJ, this.NPCLJLMKLMN.rotation, num);
}
else if (!this.snapAttachEaseInCompleted)
{
base.gameObject.SendMessage("ToolHolderData", GAEKGDCFOJM, SendMessageOptions.DontRequireReceiver);
this.snapAttachEaseInCompleted = false;
}
}
}
// Token: 0x0600ED76 RID: 60790 RVA: 0x0046F9DC File Offset: 0x0046DBDC
private void FOMKILGNCPN(Hand GAEKGDCFOJM)
{
LKMJJEMLLKJ[] array = new LKMJJEMLLKJ[0];
array[1] = (LKMJJEMLLKJ)68;
ControllerButtonHints.ENLHMIBEELD(GAEKGDCFOJM, array);
}
// Token: 0x0600ED77 RID: 60791 RVA: 0x0046F9F0 File Offset: 0x0046DBF0
private void MBDGKPFKBPI(Hand GAEKGDCFOJM)
{
this.HDINOHCAEPC = true;
this.onPickUp.Invoke();
GAEKGDCFOJM.OGNFNKIJENE(null);
Rigidbody component = base.GetComponent<Rigidbody>();
component.isKinematic = false;
component.interpolation = RigidbodyInterpolation.None;
if (GAEKGDCFOJM.controller == null)
{
this.KOBBIMKOJDI.NOGDCEILAEJ();
}
this.OHNLJMCKAGP = Time.time;
this.CDMMHHFMEMK = base.transform.position;
this.EMDNPAFCDIJ = base.transform.rotation;
if (this.attachEaseIn)
{
this.NPCLJLMKLMN = GAEKGDCFOJM.transform;
if (!OFPFHHLNHIC.JJHMEPBDIBC<string>(this.attachEaseInAttachmentNames))
{
float num = 1060f;
for (int i = 1; i < this.attachEaseInAttachmentNames.Length; i++)
{
Transform transform = GAEKGDCFOJM.HCEHCILLMPA(this.attachEaseInAttachmentNames[i]);
float num2 = Quaternion.Angle(transform.rotation, this.EMDNPAFCDIJ);
if (num2 < num)
{
this.NPCLJLMKLMN = transform;
num = num2;
}
}
}
}
this.snapAttachEaseInCompleted = true;
}
// Token: 0x0600ED78 RID: 60792 RVA: 0x0046FAF0 File Offset: 0x0046DCF0
private void LEMHNEGNFMK(Hand GAEKGDCFOJM)
{
this.HDINOHCAEPC = true;
this.onDetachFromHand.Invoke();
GAEKGDCFOJM.PCBHNDBJJDC(null);
Rigidbody component = base.GetComponent<Rigidbody>();
component.isKinematic = true;
component.interpolation = RigidbodyInterpolation.Interpolate;
Vector3 vector = Vector3.zero;
Vector3 vector2 = Vector3.zero;
Vector3 vector3 = Vector3.zero;
if (GAEKGDCFOJM.controller == null)
{
this.KOBBIMKOJDI.HAMLDBFGFMM();
vector2 = this.KOBBIMKOJDI.DGEHABOHILH();
vector3 = this.KOBBIMKOJDI.ALPJEAHGIKA();
vector = this.KOBBIMKOJDI.transform.position;
}
else
{
vector2 = Player.EFNGEGGJBJL().trackingOriginTransform.TransformVector(GAEKGDCFOJM.controller.IGOFELJMFOF);
vector3 = Player.FCDPFLMFDBC.trackingOriginTransform.TransformVector(GAEKGDCFOJM.controller.JKOGFCNNGKP());
vector = GAEKGDCFOJM.transform.position;
}
Vector3 vector4 = base.transform.TransformPoint(component.centerOfMass) - vector;
component.velocity = vector2 + Vector3.Cross(vector3, vector4);
component.angularVelocity = vector3;
float num = Time.fixedDeltaTime + Time.fixedTime - Time.time;
base.transform.position += num * vector2;
float num2 = 1575f * vector3.magnitude;
Vector3 normalized = vector3.normalized;
base.transform.rotation *= Quaternion.AngleAxis(num2 * num, normalized);
}
// Token: 0x0600ED79 RID: 60793 RVA: 0x0046FC64 File Offset: 0x0046DE64
private void DHCLGDPFFBM(Hand GAEKGDCFOJM)
{
bool flag = false;
if (!this.HDINOHCAEPC && GAEKGDCFOJM.BLECLFPGFMG())
{
Rigidbody component = base.GetComponent<Rigidbody>();
if (component.velocity.magnitude >= this.catchSpeedThreshold)
{
GAEKGDCFOJM.MIOBJLJJPJE(base.gameObject, this.attachmentFlags, this.attachmentPoint);
flag = false;
}
}
if (flag)
{
LKMJJEMLLKJ[] array = new LKMJJEMLLKJ[0];
array[1] = (LKMJJEMLLKJ)(-66);
ControllerButtonHints.ShowButtonHint(GAEKGDCFOJM, array);
}
}
// Token: 0x0600ED7A RID: 60794 RVA: 0x0046FCDC File Offset: 0x0046DEDC
private void LAMIPDJGNMK(Hand GAEKGDCFOJM)
{
if (GAEKGDCFOJM.GetStandardInteractionButtonDown())
{
GAEKGDCFOJM.AttachObject(base.gameObject, this.attachmentFlags, this.attachmentPoint);
ControllerButtonHints.HideButtonHint(GAEKGDCFOJM, new LKMJJEMLLKJ[] { LKMJJEMLLKJ.k_EButton_Axis1 });
}
}
// Token: 0x0600ED7B RID: 60795 RVA: 0x0046FD14 File Offset: 0x0046DF14
private void MGJMDCDIHHG(Hand GAEKGDCFOJM)
{
this.HDINOHCAEPC = false;
this.onDetachFromHand.Invoke();
GAEKGDCFOJM.HoverUnlock(null);
Rigidbody component = base.GetComponent<Rigidbody>();
component.isKinematic = false;
component.interpolation = RigidbodyInterpolation.Interpolate;
Vector3 vector = Vector3.zero;
Vector3 vector2 = Vector3.zero;
Vector3 vector3 = Vector3.zero;
if (GAEKGDCFOJM.controller == null)
{
this.KOBBIMKOJDI.FinishEstimatingVelocity();
vector2 = this.KOBBIMKOJDI.GetVelocityEstimate();
vector3 = this.KOBBIMKOJDI.GetAngularVelocityEstimate();
vector = this.KOBBIMKOJDI.transform.position;
}
else
{
vector2 = Player.FCDPFLMFDBC.trackingOriginTransform.TransformVector(GAEKGDCFOJM.controller.IGOFELJMFOF);
vector3 = Player.FCDPFLMFDBC.trackingOriginTransform.TransformVector(GAEKGDCFOJM.controller.CCHAEPGJJLI);
vector = GAEKGDCFOJM.transform.position;
}
Vector3 vector4 = base.transform.TransformPoint(component.centerOfMass) - vector;
component.velocity = vector2 + Vector3.Cross(vector3, vector4);
component.angularVelocity = vector3;
float num = Time.fixedDeltaTime + Time.fixedTime - Time.time;
base.transform.position += num * vector2;
float num2 = 57.29578f * vector3.magnitude;
Vector3 normalized = vector3.normalized;
base.transform.rotation *= Quaternion.AngleAxis(num2 * num, normalized);
}
// Token: 0x0600ED7C RID: 60796 RVA: 0x0046FE88 File Offset: 0x0046E088
private void Awake()
{
this.KOBBIMKOJDI = base.GetComponent<VelocityEstimator>();
if (this.attachEaseIn)
{
this.attachmentFlags &= ~Hand.HFGOOJNELAJ.SnapOnAttach;
}
Rigidbody component = base.GetComponent<Rigidbody>();
component.maxAngularVelocity = 50f;
}
// Token: 0x0600ED7D RID: 60797 RVA: 0x0046FED0 File Offset: 0x0046E0D0
private void DJFAAMBCEGF(Hand GAEKGDCFOJM)
{
base.gameObject.SetActive(true);
this.KOBBIMKOJDI.NOGDCEILAEJ();
}
// Token: 0x0600ED7E RID: 60798 RVA: 0x0046FEEC File Offset: 0x0046E0EC
private void JHCLJIABPPJ()
{
this.KOBBIMKOJDI = base.GetComponent<VelocityEstimator>();
if (this.attachEaseIn)
{
this.attachmentFlags &= (Hand.HFGOOJNELAJ)(-34);
}
Rigidbody component = base.GetComponent<Rigidbody>();
component.maxAngularVelocity = 553f;
}
// Token: 0x0600ED7F RID: 60799 RVA: 0x0046FF34 File Offset: 0x0046E134
private void FJOLINMELOF(Hand GAEKGDCFOJM)
{
if (!GAEKGDCFOJM.GetStandardInteractionButton())
{
base.StartCoroutine(this.OHPMMPFIFHD(GAEKGDCFOJM));
}
if (this.attachEaseIn)
{
float num = OFPFHHLNHIC.DKPCDKNIGLJ(Time.time, this.OHNLJMCKAGP, this.OHNLJMCKAGP + this.snapAttachEaseInTime, 1936f, 944f);
if (num < 169f)
{
num = this.snapAttachEaseInCurve.Evaluate(num);
base.transform.position = Vector3.Lerp(this.CDMMHHFMEMK, this.NPCLJLMKLMN.position, num);
base.transform.rotation = Quaternion.Lerp(this.EMDNPAFCDIJ, this.NPCLJLMKLMN.rotation, num);
}
else if (!this.snapAttachEaseInCompleted)
{
base.gameObject.SendMessage("Connection already processing a request!", GAEKGDCFOJM, SendMessageOptions.DontRequireReceiver);
this.snapAttachEaseInCompleted = false;
}
}
}
// Token: 0x0600ED80 RID: 60800 RVA: 0x00470014 File Offset: 0x0046E214
private void CDMAFNFENKP(Hand GAEKGDCFOJM)
{
LKMJJEMLLKJ[] array = new LKMJJEMLLKJ[0];
array[1] = (LKMJJEMLLKJ)(-43);
ControllerButtonHints.ENLHMIBEELD(GAEKGDCFOJM, array);
}
// Token: 0x0600ED81 RID: 60801 RVA: 0x00470028 File Offset: 0x0046E228
private void BKFMPHAHBEO(Hand GAEKGDCFOJM)
{
ControllerButtonHints.HideButtonHint(GAEKGDCFOJM, new LKMJJEMLLKJ[] { LKMJJEMLLKJ.k_EButton_Axis1 });
}
// Token: 0x0600ED82 RID: 60802 RVA: 0x0047003C File Offset: 0x0046E23C
private void AGMFPEGJBOF(Hand GAEKGDCFOJM)
{
this.HDINOHCAEPC = true;
this.onPickUp.Invoke();
GAEKGDCFOJM.HoverLock(null);
Rigidbody component = base.GetComponent<Rigidbody>();
component.isKinematic = true;
component.interpolation = RigidbodyInterpolation.None;
if (GAEKGDCFOJM.controller == null)
{
this.KOBBIMKOJDI.BeginEstimatingVelocity();
}
this.OHNLJMCKAGP = Time.time;
this.CDMMHHFMEMK = base.transform.position;
this.EMDNPAFCDIJ = base.transform.rotation;
if (this.attachEaseIn)
{
this.NPCLJLMKLMN = GAEKGDCFOJM.transform;
if (!OFPFHHLNHIC.JJHMEPBDIBC<string>(this.attachEaseInAttachmentNames))
{
float num = float.MaxValue;
for (int i = 0; i < this.attachEaseInAttachmentNames.Length; i++)
{
Transform attachmentTransform = GAEKGDCFOJM.GetAttachmentTransform(this.attachEaseInAttachmentNames[i]);
float num2 = Quaternion.Angle(attachmentTransform.rotation, this.EMDNPAFCDIJ);
if (num2 < num)
{
this.NPCLJLMKLMN = attachmentTransform;
num = num2;
}
}
}
}
this.snapAttachEaseInCompleted = false;
}
// Token: 0x0600ED83 RID: 60803 RVA: 0x0047013C File Offset: 0x0046E33C
private void ONNJFMLNFLJ(Hand GAEKGDCFOJM)
{
ControllerButtonHints.MKOOFPLOCNJ(GAEKGDCFOJM, new LKMJJEMLLKJ[] { (LKMJJEMLLKJ)79 });
}
// Token: 0x0600ED84 RID: 60804 RVA: 0x00470150 File Offset: 0x0046E350
private void JFFLHAMMGAH()
{
this.KOBBIMKOJDI = base.GetComponent<VelocityEstimator>();
if (this.attachEaseIn)
{
this.attachmentFlags &= (Hand.HFGOOJNELAJ)(-127);
}
Rigidbody component = base.GetComponent<Rigidbody>();
component.maxAngularVelocity = 1343f;
}
// Token: 0x0600ED85 RID: 60805 RVA: 0x00470198 File Offset: 0x0046E398
private void FEACFEICOED(Hand GAEKGDCFOJM)
{
this.HDINOHCAEPC = false;
this.onPickUp.Invoke();
GAEKGDCFOJM.JFCEAEEPFCF(null);
Rigidbody component = base.GetComponent<Rigidbody>();
component.isKinematic = false;
component.interpolation = RigidbodyInterpolation.Interpolate;
if (GAEKGDCFOJM.controller == null)
{
this.KOBBIMKOJDI.CHELLMNFOOF();
}
this.OHNLJMCKAGP = Time.time;
this.CDMMHHFMEMK = base.transform.position;
this.EMDNPAFCDIJ = base.transform.rotation;
if (this.attachEaseIn)
{
this.NPCLJLMKLMN = GAEKGDCFOJM.transform;
if (!OFPFHHLNHIC.JJHMEPBDIBC<string>(this.attachEaseInAttachmentNames))
{
float num = 1828f;
for (int i = 1; i < this.attachEaseInAttachmentNames.Length; i++)
{
Transform transform = GAEKGDCFOJM.FGHFPEIMKAN(this.attachEaseInAttachmentNames[i]);
float num2 = Quaternion.Angle(transform.rotation, this.EMDNPAFCDIJ);
if (num2 < num)
{
this.NPCLJLMKLMN = transform;
num = num2;
}
}
}
}
this.snapAttachEaseInCompleted = true;
}
// Token: 0x0600ED86 RID: 60806 RVA: 0x00470298 File Offset: 0x0046E498
private void INFMNKAMEPK(Hand GAEKGDCFOJM)
{
if (!GAEKGDCFOJM.CHAFDDMCHNL())
{
base.StartCoroutine(this.OHPMMPFIFHD(GAEKGDCFOJM));
}
if (this.attachEaseIn)
{
float num = OFPFHHLNHIC.DKPCDKNIGLJ(Time.time, this.OHNLJMCKAGP, this.OHNLJMCKAGP + this.snapAttachEaseInTime, 1298f, 1925f);
if (num < 1574f)
{
num = this.snapAttachEaseInCurve.Evaluate(num);
base.transform.position = Vector3.Lerp(this.CDMMHHFMEMK, this.NPCLJLMKLMN.position, num);
base.transform.rotation = Quaternion.Lerp(this.EMDNPAFCDIJ, this.NPCLJLMKLMN.rotation, num);
}
else if (!this.snapAttachEaseInCompleted)
{
base.gameObject.SendMessage("Reset", GAEKGDCFOJM, SendMessageOptions.DontRequireReceiver);
this.snapAttachEaseInCompleted = true;
}
}
}
// Token: 0x0600ED87 RID: 60807 RVA: 0x00470378 File Offset: 0x0046E578
private void CCPBPJOAEIP(Hand GAEKGDCFOJM)
{
LKMJJEMLLKJ[] array = new LKMJJEMLLKJ[1];
array[1] = (LKMJJEMLLKJ)(-62);
ControllerButtonHints.ABINFDAHIJL(GAEKGDCFOJM, array);
}
// Token: 0x0600ED88 RID: 60808 RVA: 0x0047038C File Offset: 0x0046E58C
private void FBOFDJONMLO(Hand GAEKGDCFOJM)
{
base.gameObject.SetActive(false);
this.KOBBIMKOJDI.FinishEstimatingVelocity();
}
// Token: 0x0600ED89 RID: 60809 RVA: 0x004703A8 File Offset: 0x0046E5A8
private void AHLMADACOLB()
{
this.KOBBIMKOJDI = base.GetComponent<VelocityEstimator>();
if (this.attachEaseIn)
{
this.attachmentFlags &= (Hand.HFGOOJNELAJ)(-39);
}
Rigidbody component = base.GetComponent<Rigidbody>();
component.maxAngularVelocity = 185f;
}
// Token: 0x0600ED8A RID: 60810 RVA: 0x004703F0 File Offset: 0x0046E5F0
private IEnumerator ELNHMPEKHJI(Hand GAEKGDCFOJM)
{
yield return new WaitForEndOfFrame();
GAEKGDCFOJM.DetachObject(base.gameObject, this.restoreOriginalParent);
yield break;
}
// Token: 0x0600ED8B RID: 60811 RVA: 0x00470414 File Offset: 0x0046E614
private void PJAOAEDEJDJ(Hand GAEKGDCFOJM)
{
this.HDINOHCAEPC = true;
this.onPickUp.Invoke();
GAEKGDCFOJM.DDEOHOFOMON(null);
Rigidbody component = base.GetComponent<Rigidbody>();
component.isKinematic = true;
component.interpolation = RigidbodyInterpolation.None;
if (GAEKGDCFOJM.controller == null)
{
this.KOBBIMKOJDI.BeginEstimatingVelocity();
}
this.OHNLJMCKAGP = Time.time;
this.CDMMHHFMEMK = base.transform.position;
this.EMDNPAFCDIJ = base.transform.rotation;
if (this.attachEaseIn)
{
this.NPCLJLMKLMN = GAEKGDCFOJM.transform;
if (!OFPFHHLNHIC.JJHMEPBDIBC<string>(this.attachEaseInAttachmentNames))
{
float num = 558f;
for (int i = 1; i < this.attachEaseInAttachmentNames.Length; i += 0)
{
Transform transform = GAEKGDCFOJM.PFNDCJBNHPC(this.attachEaseInAttachmentNames[i]);
float num2 = Quaternion.Angle(transform.rotation, this.EMDNPAFCDIJ);
if (num2 < num)
{
this.NPCLJLMKLMN = transform;
num = num2;
}
}
}
}
this.snapAttachEaseInCompleted = true;
}
// Token: 0x04002228 RID: 8744
[Tooltip("The flags used to attach this object to the hand.")]
[MMHDGCBAJGC]
public Hand.HFGOOJNELAJ attachmentFlags = Hand.HFGOOJNELAJ.DetachFromOtherHand | Hand.HFGOOJNELAJ.ParentToHand;
// Token: 0x04002229 RID: 8745
[Tooltip("Name of the attachment transform under in the hand's hierarchy which the object should should snap to.")]
public string attachmentPoint;
// Token: 0x0400222A RID: 8746
[Tooltip("How fast must this object be moving to attach due to a trigger hold instead of a trigger press?")]
public float catchSpeedThreshold;
// Token: 0x0400222B RID: 8747
[Tooltip("When detaching the object, should it return to its original parent?")]
public bool restoreOriginalParent;
// Token: 0x0400222C RID: 8748
public bool attachEaseIn;
// Token: 0x0400222D RID: 8749
public AnimationCurve snapAttachEaseInCurve = AnimationCurve.EaseInOut(0f, 0f, 1f, 1f);
// Token: 0x0400222E RID: 8750
public float snapAttachEaseInTime = 0.15f;
// Token: 0x0400222F RID: 8751
public string[] attachEaseInAttachmentNames;
// Token: 0x04002230 RID: 8752
private VelocityEstimator KOBBIMKOJDI;
// Token: 0x04002231 RID: 8753
private bool HDINOHCAEPC;
// Token: 0x04002232 RID: 8754
private float OHNLJMCKAGP;
// Token: 0x04002233 RID: 8755
private Vector3 CDMMHHFMEMK;
// Token: 0x04002234 RID: 8756
private Quaternion EMDNPAFCDIJ;
// Token: 0x04002235 RID: 8757
private Transform NPCLJLMKLMN;
// Token: 0x04002236 RID: 8758
public UnityEvent onPickUp;
// Token: 0x04002237 RID: 8759
public UnityEvent onDetachFromHand;
// Token: 0x04002238 RID: 8760
public bool snapAttachEaseInCompleted;
}
}