251 lines
11 KiB
C#
251 lines
11 KiB
C#
using System;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Activities.Bowling
|
|
{
|
|
// Token: 0x02002D48 RID: 11592
|
|
[Token(Token = "0x2002D48")]
|
|
public class BowlingBall : Ball
|
|
{
|
|
// Token: 0x060137E1 RID: 79841 RVA: 0x0047FBD0 File Offset: 0x0047DDD0
|
|
[Token(Token = "0x60137E1")]
|
|
[Address(RVA = "0x161A290", Offset = "0x1619290", VA = "0x18161A290", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
SphereCollider componentInChildren = base.GetComponentInChildren<SphereCollider>();
|
|
this.GLPOLGOBLAA = componentInChildren;
|
|
float dynamicFriction = componentInChildren.material.dynamicFriction;
|
|
Tool <MBFGOCOFHHM>k__BackingField = this.<MBFGOCOFHHM>k__BackingField;
|
|
this.MGOCCEJMMNF = dynamicFriction;
|
|
RigidbodyEx rigidbodyEx = <MBFGOCOFHHM>k__BackingField.rigidbodyEx;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
Rigidbody unityRigidbody = this.<MBFGOCOFHHM>k__BackingField.rigidbodyEx.unityRigidbody;
|
|
float maxDepenetrationVelocity = this.MaxDepenetrationVelocity;
|
|
unityRigidbody.maxDepenetrationVelocity = maxDepenetrationVelocity;
|
|
Tool <MBFGOCOFHHM>k__BackingField2 = this.<MBFGOCOFHHM>k__BackingField;
|
|
Tool.OGLAJAFKBMN oglajafkbmn = new Tool.OGLAJAFKBMN(this.LPLIIBBAAOI);
|
|
<MBFGOCOFHHM>k__BackingField2.AddCustomPickupCondition(oglajafkbmn);
|
|
Tool <MBFGOCOFHHM>k__BackingField3 = this.<MBFGOCOFHHM>k__BackingField;
|
|
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = <MBFGOCOFHHM>k__BackingField3.PostResetEvent;
|
|
Action<Tool, Vector3, Quaternion, Vector3, bool> action = new Action(this.APBEFBBOMDJ);
|
|
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> eahpnacbldd = EAHPNACBLDD.BPJDFPACLMK(postResetEvent, action);
|
|
<MBFGOCOFHHM>k__BackingField3.PostResetEvent = eahpnacbldd;
|
|
BGLEMLAJOAN bglemlajoan = new BGLEMLAJOAN(this.<MBFGOCOFHHM>k__BackingField);
|
|
this.PMCDIJOGEIM = bglemlajoan;
|
|
}
|
|
|
|
// Token: 0x060137E2 RID: 79842 RVA: 0x0047FCB4 File Offset: 0x0047DEB4
|
|
[Token(Token = "0x60137E2")]
|
|
[Address(RVA = "0x161A260", Offset = "0x1619260", VA = "0x18161A260")]
|
|
private void APBEFBBOMDJ(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
|
|
{
|
|
NBHJPDBHDHB.rigidbodyEx.WakeUp();
|
|
}
|
|
|
|
// Token: 0x060137E3 RID: 79843 RVA: 0x0047FCD4 File Offset: 0x0047DED4
|
|
[Token(Token = "0x60137E3")]
|
|
[Address(RVA = "0x161A5C0", Offset = "0x16195C0", VA = "0x18161A5C0")]
|
|
private bool LPLIIBBAAOI(Tool NBHJPDBHDHB, Player NHCEBNBEEBE, Vector3 JEDLNAEEMEN, bool GEJJBENPHJG)
|
|
{
|
|
Player owner = NBHJPDBHDHB.BHNPNHMILIF;
|
|
if (NHCEBNBEEBE == owner)
|
|
{
|
|
return true;
|
|
}
|
|
BGLEMLAJOAN pmcdijogeim = this.PMCDIJOGEIM;
|
|
if (pmcdijogeim == 0)
|
|
{
|
|
}
|
|
return !pmcdijogeim.LFGCFEBCOEP;
|
|
}
|
|
|
|
// Token: 0x060137E4 RID: 79844 RVA: 0x0047FD10 File Offset: 0x0047DF10
|
|
[Token(Token = "0x60137E4")]
|
|
[Address(RVA = "0x161AAC0", Offset = "0x1619AC0", VA = "0x18161AAC0")]
|
|
public void Start()
|
|
{
|
|
Tool <MBFGOCOFHHM>k__BackingField = this.<MBFGOCOFHHM>k__BackingField;
|
|
int num = 0;
|
|
if (<MBFGOCOFHHM>k__BackingField != num)
|
|
{
|
|
Tool <MBFGOCOFHHM>k__BackingField2 = this.<MBFGOCOFHHM>k__BackingField;
|
|
MFBGLIHGCGO<Tool> postReleaseEvent = <MBFGOCOFHHM>k__BackingField2.PostReleaseEvent;
|
|
Action<Tool> action = new Action(this.OGHAJAIGNJC);
|
|
MFBGLIHGCGO<Tool> mfbglihgcgo = MFBGLIHGCGO.BPJDFPACLMK(postReleaseEvent, action);
|
|
<MBFGOCOFHHM>k__BackingField2.PostReleaseEvent = mfbglihgcgo;
|
|
}
|
|
RecRoomAudioClip recRoomAudioClip = this.rumble;
|
|
Transform transform = base.transform;
|
|
int num2 = 0;
|
|
int num3 = 0;
|
|
SFXAudioSource sfxaudioSource = AudioManager.StartLooping3DSFX(recRoomAudioClip, transform, num3, num2);
|
|
this.HIIIDBLPEAL = sfxaudioSource;
|
|
AudioSource audioSource = sfxaudioSource._audioSource;
|
|
int num4 = 0;
|
|
audioSource.volume = (float)num4;
|
|
Action<float> action2 = new Action(this.GAJIJLPDHNI);
|
|
IDisposable disposable = ADIFCODGAML.FOFJADGKNJF(this, action2);
|
|
}
|
|
|
|
// Token: 0x060137E5 RID: 79845 RVA: 0x0047FDC0 File Offset: 0x0047DFC0
|
|
[Token(Token = "0x60137E5")]
|
|
[Address(RVA = "0x161A690", Offset = "0x1619690", VA = "0x18161A690")]
|
|
private void OGHAJAIGNJC(Tool NBHJPDBHDHB)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (060137E5)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RecRoom.Activities.Bowling.BowlingBall::OGHAJAIGNJC(Tool)
|
|
|
|
---> System.ArgumentOutOfRangeException: length ('-1') must be a non-negative value. (Parameter 'length')
|
|
Actual value was -1.
|
|
at System.ArgumentOutOfRangeException.ThrowNegative[T](T value, String paramName)
|
|
at System.Array.CopyImpl(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
|
|
at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length)
|
|
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 403
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 117
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x060137E6 RID: 79846 RVA: 0x0047FE38 File Offset: 0x0047E038
|
|
[Token(Token = "0x60137E6")]
|
|
[Address(RVA = "0x161A4D0", Offset = "0x16194D0", VA = "0x18161A4D0")]
|
|
private void GAJIJLPDHNI(float POGAEJIEPIM)
|
|
{
|
|
SFXAudioSource hiiidblpeal = this.HIIIDBLPEAL;
|
|
if (!this.NMKBFJBJFAP)
|
|
{
|
|
AudioSource audioSource = hiiidblpeal._audioSource;
|
|
int num = 0;
|
|
audioSource.volume = (float)num;
|
|
return;
|
|
}
|
|
AudioSource audioSource2 = hiiidblpeal._audioSource;
|
|
Tool <MBFGOCOFHHM>k__BackingField = this.<MBFGOCOFHHM>k__BackingField;
|
|
AnimationCurve animationCurve = this.rumbleVolumeBySpeedSquared;
|
|
RigidbodyEx rigidbodyEx = <MBFGOCOFHHM>k__BackingField.rigidbodyEx;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
float num2 = animationCurve.Evaluate(POGAEJIEPIM);
|
|
audioSource2.volume = POGAEJIEPIM;
|
|
this.NMKBFJBJFAP = false;
|
|
}
|
|
|
|
// Token: 0x060137E7 RID: 79847 RVA: 0x0047FEB4 File Offset: 0x0047E0B4
|
|
[Token(Token = "0x60137E7")]
|
|
[Address(RVA = "0x161A850", Offset = "0x1619850", VA = "0x18161A850")]
|
|
private void OnCollisionStay(Collision GBJHLKOJGPB)
|
|
{
|
|
SphereCollider glpolgoblaa = this.GLPOLGOBLAA;
|
|
this.NMKBFJBJFAP = true;
|
|
PhysicMaterial material = glpolgoblaa.material;
|
|
float dynamicFriction = this.GLPOLGOBLAA.material.dynamicFriction;
|
|
float num = this.MGOCCEJMMNF;
|
|
float num2 = Time.deltaTime;
|
|
float lerpFrictionSpeed = this.LerpFrictionSpeed;
|
|
num2 = dynamicFriction;
|
|
num = Mathf.Lerp(num2, num, lerpFrictionSpeed);
|
|
material.dynamicFriction = num;
|
|
}
|
|
|
|
// Token: 0x060137E8 RID: 79848 RVA: 0x0047FF1C File Offset: 0x0047E11C
|
|
[Token(Token = "0x60137E8")]
|
|
[Address(RVA = "0x161A960", Offset = "0x1619960", VA = "0x18161A960", Slot = "14")]
|
|
protected override void OnDestroy()
|
|
{
|
|
base.OnDestroy();
|
|
if (this.HIIIDBLPEAL)
|
|
{
|
|
AudioManager.StopLoopingSFX(this.HIIIDBLPEAL);
|
|
}
|
|
Tool <MBFGOCOFHHM>k__BackingField = this.<MBFGOCOFHHM>k__BackingField;
|
|
Tool.OGLAJAFKBMN oglajafkbmn = new Tool.OGLAJAFKBMN(this.LPLIIBBAAOI);
|
|
<MBFGOCOFHHM>k__BackingField.RemoveCustomPickupCondition(oglajafkbmn);
|
|
Tool <MBFGOCOFHHM>k__BackingField2 = this.<MBFGOCOFHHM>k__BackingField;
|
|
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = <MBFGOCOFHHM>k__BackingField2.PostResetEvent;
|
|
Action<Tool, Vector3, Quaternion, Vector3, bool> action = new Action(this.APBEFBBOMDJ);
|
|
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> eahpnacbldd = EAHPNACBLDD.GMNMHGMFGOL(postResetEvent, action);
|
|
<MBFGOCOFHHM>k__BackingField2.PostResetEvent = eahpnacbldd;
|
|
this.PMCDIJOGEIM.Dispose();
|
|
}
|
|
|
|
// Token: 0x060137E9 RID: 79849 RVA: 0x0047FFA4 File Offset: 0x0047E1A4
|
|
[Token(Token = "0x60137E9")]
|
|
[Address(RVA = "0x161AC30", Offset = "0x1619C30", VA = "0x18161AC30")]
|
|
public BowlingBall()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400CA44 RID: 51780
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400CA44")]
|
|
public float AngularVelocityThrowMultiplier;
|
|
|
|
// Token: 0x0400CA45 RID: 51781
|
|
[FieldOffset(Offset = "0x4C")]
|
|
[Token(Token = "0x400CA45")]
|
|
public float LerpFrictionSpeed;
|
|
|
|
// Token: 0x0400CA46 RID: 51782
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400CA46")]
|
|
public float InertiaMultiplier = 1.5f;
|
|
|
|
// Token: 0x0400CA47 RID: 51783
|
|
[FieldOffset(Offset = "0x54")]
|
|
[Token(Token = "0x400CA47")]
|
|
public float YUpVelocityScalar = 0.5f;
|
|
|
|
// Token: 0x0400CA48 RID: 51784
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x400CA48")]
|
|
public float MaxDepenetrationVelocity = 1f;
|
|
|
|
// Token: 0x0400CA49 RID: 51785
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400CA49")]
|
|
[SerializeField]
|
|
private AnimationCurve rumbleVolumeBySpeedSquared;
|
|
|
|
// Token: 0x0400CA4A RID: 51786
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400CA4A")]
|
|
[SerializeField]
|
|
private RecRoomAudioClip rumble;
|
|
|
|
// Token: 0x0400CA4B RID: 51787
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x400CA4B")]
|
|
private SFXAudioSource HIIIDBLPEAL;
|
|
|
|
// Token: 0x0400CA4C RID: 51788
|
|
[FieldOffset(Offset = "0x78")]
|
|
[Token(Token = "0x400CA4C")]
|
|
private float MGOCCEJMMNF;
|
|
|
|
// Token: 0x0400CA4D RID: 51789
|
|
[FieldOffset(Offset = "0x7C")]
|
|
[Token(Token = "0x400CA4D")]
|
|
private bool NMKBFJBJFAP;
|
|
|
|
// Token: 0x0400CA4E RID: 51790
|
|
[FieldOffset(Offset = "0x80")]
|
|
[Token(Token = "0x400CA4E")]
|
|
private SphereCollider GLPOLGOBLAA;
|
|
|
|
// Token: 0x0400CA4F RID: 51791
|
|
[FieldOffset(Offset = "0x88")]
|
|
[Token(Token = "0x400CA4F")]
|
|
private BGLEMLAJOAN PMCDIJOGEIM;
|
|
}
|
|
}
|