Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/RecRoom/Activities/StuntRunner/PlayerLauncher.cs
T
2026-04-08 23:40:05 +02:00

358 lines
12 KiB
C#

using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.Core.DataStructures.Tokens;
using RecRoom.Core.Locomotion;
using RecRoom.Utils.OverridableFields;
using UnityEngine;
namespace RecRoom.Activities.StuntRunner
{
// Token: 0x0200269D RID: 9885
[Token(Token = "0x200269D")]
[StructLayout(3)]
public class PlayerLauncher : MonoBehaviour
{
// Token: 0x17002E8D RID: 11917
// (get) Token: 0x0601128C RID: 70284 RVA: 0x0040E0C8 File Offset: 0x0040C2C8
[Token(Token = "0x17002E8D")]
private bool AGMPOBIHFNF
{
[Token(Token = "0x601128C")]
[Address(RVA = "0x12F4540", Offset = "0x12F2F40", VA = "0x1812F4540")]
get
{
return this.IDOPKGFECHD.HasTokens;
}
}
// Token: 0x0601128D RID: 70285 RVA: 0x0040E0E8 File Offset: 0x0040C2E8
[Token(Token = "0x601128D")]
[Address(RVA = "0x1832D90", Offset = "0x1831790", VA = "0x181832D90")]
private void Awake()
{
float z = this.impulseDirectionOverride.value.z;
LocomotionCollisionTrigger locomotionCollisionTrigger = this.locomotionCollider;
int num = 0;
if (locomotionCollisionTrigger != num)
{
LocomotionCollisionTrigger locomotionCollisionTrigger2 = this.locomotionCollider;
LocomotionCollisionTrigger.AGJIHAOBCON agjihaobcon = new LocomotionCollisionTrigger.AGJIHAOBCON(this.APCAIAADDIM);
locomotionCollisionTrigger2.NCMJJBMBDHK += agjihaobcon;
LocomotionCollisionTrigger locomotionCollisionTrigger3 = this.locomotionCollider;
LocomotionCollisionTrigger.AGJIHAOBCON agjihaobcon2 = new LocomotionCollisionTrigger.AGJIHAOBCON(this.CNJIDGPMCKA);
locomotionCollisionTrigger3.FFNEANOFKKI += agjihaobcon2;
}
}
// Token: 0x0601128E RID: 70286 RVA: 0x0040E15C File Offset: 0x0040C35C
[Token(Token = "0x601128E")]
[Address(RVA = "0x18330D0", Offset = "0x1831AD0", VA = "0x1818330D0")]
private void OnDestroy()
{
LocomotionCollisionTrigger locomotionCollisionTrigger = this.locomotionCollider;
int num = 0;
if (locomotionCollisionTrigger != num)
{
LocomotionCollisionTrigger locomotionCollisionTrigger2 = this.locomotionCollider;
LocomotionCollisionTrigger.AGJIHAOBCON agjihaobcon = new LocomotionCollisionTrigger.AGJIHAOBCON(this.APCAIAADDIM);
locomotionCollisionTrigger2.NCMJJBMBDHK -= agjihaobcon;
LocomotionCollisionTrigger locomotionCollisionTrigger3 = this.locomotionCollider;
LocomotionCollisionTrigger.AGJIHAOBCON agjihaobcon2 = new LocomotionCollisionTrigger.AGJIHAOBCON(this.CNJIDGPMCKA);
locomotionCollisionTrigger3.FFNEANOFKKI -= agjihaobcon2;
}
}
// Token: 0x0601128F RID: 70287 RVA: 0x0040E1BC File Offset: 0x0040C3BC
[Token(Token = "0x601128F")]
[Address(RVA = "0x1833820", Offset = "0x1832220", VA = "0x181833820")]
public void SetSandboxSettings(float IFGIPHAMCIC, float ANOABJEBEKK, float PMCAKBEJBFN, int MBDJHACAELM, bool OGNEEOLFMHI, bool EOCOIKINDII)
{
this.restitutionFactor = IFGIPHAMCIC;
this.impulseForce = ANOABJEBEKK;
float num;
this.impulseAirControlPercentageOverride = num;
this.maxVelocity = PMCAKBEJBFN;
this.impulseApplicationType = (PlayerLauncher.JABBBBDPJOM)((uint)2);
}
// Token: 0x06011290 RID: 70288 RVA: 0x0040E1FC File Offset: 0x0040C3FC
[Token(Token = "0x6011290")]
[Address(RVA = "0x18334C0", Offset = "0x1831EC0", VA = "0x1818334C0")]
private void OnTriggerEnter(Collider GLPOLGOBLAA)
{
LocomotionCollisionTrigger locomotionCollisionTrigger = this.locomotionCollider;
int num = 0;
if (locomotionCollisionTrigger == num)
{
Player <EGKJPJKLEAI>k__BackingField = Player.<EGKJPJKLEAI>k__BackingField;
Player player;
if (player == <EGKJPJKLEAI>k__BackingField && this.DKPEJMEGPFG(player))
{
TokenFlag idopkgfechd = this.IDOPKGFECHD;
GameObject gameObject = GLPOLGOBLAA.gameObject;
idopkgfechd.Add(gameObject);
}
}
}
// Token: 0x06011291 RID: 70289 RVA: 0x0040E258 File Offset: 0x0040C458
[Token(Token = "0x6011291")]
[Address(RVA = "0x1833650", Offset = "0x1832050", VA = "0x181833650")]
private void OnTriggerExit(Collider GLPOLGOBLAA)
{
TokenFlag idopkgfechd = this.IDOPKGFECHD;
GameObject gameObject = GLPOLGOBLAA.gameObject;
idopkgfechd.Remove(gameObject);
}
// Token: 0x06011292 RID: 70290 RVA: 0x0040E280 File Offset: 0x0040C480
[Token(Token = "0x6011292")]
[Address(RVA = "0x1832C90", Offset = "0x1831690", VA = "0x181832C90")]
private void APCAIAADDIM(Player IEKDDPPNFPF, LEGLBECFPMF.GMACMDOKCGL OBHNEJDADJP)
{
if (this.launchFromForwardFaceOnly)
{
Transform transform = base.transform;
Vector3 vector;
float z = vector.z;
LEGLBECFPMF.GMACMDOKCGL gmacmdokcgl;
if (gmacmdokcgl != OBHNEJDADJP)
{
return;
}
}
if (this.DKPEJMEGPFG(IEKDDPPNFPF))
{
string text;
this.IDOPKGFECHD.Add(text);
}
}
// Token: 0x06011293 RID: 70291 RVA: 0x0040E2C8 File Offset: 0x0040C4C8
[Token(Token = "0x6011293")]
[Address(RVA = "0x1832EA0", Offset = "0x18318A0", VA = "0x181832EA0")]
private void CNJIDGPMCKA(Player IEKDDPPNFPF, LEGLBECFPMF.GMACMDOKCGL OBHNEJDADJP)
{
string text;
this.IDOPKGFECHD.Remove(text);
}
// Token: 0x06011294 RID: 70292 RVA: 0x0040E2E8 File Offset: 0x0040C4E8
[Token(Token = "0x6011294")]
[Address(RVA = "0x1833760", Offset = "0x1832160", VA = "0x181833760")]
private bool PODHDPEPDPM(LEGLBECFPMF.GMACMDOKCGL OBHNEJDADJP)
{
if (!this.launchFromForwardFaceOnly)
{
return true;
}
Transform transform = base.transform;
Vector3 vector;
float z = vector.z;
LEGLBECFPMF.GMACMDOKCGL gmacmdokcgl;
return gmacmdokcgl == OBHNEJDADJP;
}
// Token: 0x06011295 RID: 70293 RVA: 0x0040E31C File Offset: 0x0040C51C
[Token(Token = "0x6011295")]
[Address(RVA = "0x1833690", Offset = "0x1832090", VA = "0x181833690")]
private string PEAPKPOAMKK(LEGLBECFPMF.GMACMDOKCGL OBHNEJDADJP)
{
if (OBHNEJDADJP == LEGLBECFPMF.GMACMDOKCGL.FLOOR)
{
return PlayerLauncher.LALNMGEBPKG;
}
if (OBHNEJDADJP != LEGLBECFPMF.GMACMDOKCGL.CEILING)
{
return PlayerLauncher.KGFAHMFMIDM;
}
return PlayerLauncher.ICGFKDKCBCE;
}
// Token: 0x06011296 RID: 70294 RVA: 0x0040E344 File Offset: 0x0040C544
[Token(Token = "0x6011296")]
[Address(RVA = "0x1832EE0", Offset = "0x18318E0", VA = "0x181832EE0")]
private bool DKPEJMEGPFG(Player IKPJFNLNPHM)
{
float unscaledTime = Time.unscaledTime;
if (!this.IDOPKGFECHD.HasTokens)
{
float unscaledTime2 = Time.unscaledTime;
this.GAIFAAMANCE = unscaledTime2;
if (this.impulseDirectionOverride != (ulong)0L)
{
}
Transform transform = base.transform;
Vector3 vector;
float z = vector.z;
PlayerLauncher.JABBBBDPJOM jabbbbdpjom = this.impulseApplicationType;
PlayerMovement playerMovement = IKPJFNLNPHM.playerMovement;
if (jabbbbdpjom != PlayerLauncher.JABBBBDPJOM.OVERRIDE_INBOUND_VELOCITY)
{
if (jabbbbdpjom != PlayerLauncher.JABBBBDPJOM.ADDITIVE_PLUS_REFLECT_INBOUND_VELOCITY)
{
float num = this.impulseAirControlPercentageOverride;
}
float num2 = this.maxVelocity;
float num3 = this.impulseAirControlPercentageOverride;
}
RecRoomAudioClip recRoomAudioClip = this.impulseApplicationSfx;
Transform transform2 = base.transform;
int num4 = 0;
int num5 = 0;
SFXAudioSource sfxaudioSource = AudioManager.Play3DSFX(recRoomAudioClip, transform2, num5, num4);
return true;
}
throw new NullReferenceException();
}
// Token: 0x06011297 RID: 70295 RVA: 0x0040E400 File Offset: 0x0040C600
[Token(Token = "0x6011297")]
[Address(RVA = "0x18331C0", Offset = "0x1831BC0", VA = "0x1818331C0")]
private void OnDrawGizmos()
{
BoxCollider boxCollider = this.triggerCollider;
int num = 0;
if (boxCollider != num && this.triggerCollider.isTrigger)
{
Color green = Color.green;
BoxCollider boxCollider2 = this.triggerCollider;
Transform transform = boxCollider2.transform;
BoxCollider boxCollider3 = this.triggerCollider;
Vector3 center = boxCollider2.center;
BoxCollider boxCollider4 = this.triggerCollider;
Vector3 size = boxCollider2.size;
Color blue = Color.blue;
Transform transform2 = base.transform;
Color red = Color.red;
Transform transform3 = base.transform;
}
}
// Token: 0x06011298 RID: 70296 RVA: 0x0040E488 File Offset: 0x0040C688
[Token(Token = "0x6011298")]
[Address(RVA = "0x18338E0", Offset = "0x18322E0", VA = "0x1818338E0")]
public PlayerLauncher()
{
float z = Vector3.up.z;
this.restitutionFactor = 2f;
this.impulseForce = 3f;
this.maxVelocity = 15f;
TokenFlag tokenFlag = new TokenFlag();
this.IDOPKGFECHD = tokenFlag;
base..ctor();
}
// Token: 0x0400B6C5 RID: 46789
[Token(Token = "0x400B6C5")]
private static string KGFAHMFMIDM = "WALL_COLL";
// Token: 0x0400B6C6 RID: 46790
[Token(Token = "0x400B6C6")]
private static string ICGFKDKCBCE = "CEILING_COLL";
// Token: 0x0400B6C7 RID: 46791
[Token(Token = "0x400B6C7")]
private static string LALNMGEBPKG = "FLOOR_COLL";
// Token: 0x0400B6C8 RID: 46792
[Token(Token = "0x400B6C8")]
private const float IFAEMACKFJO = 0.6f;
// Token: 0x0400B6C9 RID: 46793
[Token(Token = "0x400B6C9")]
private const float PHKFKLJFLFI = 0.05f;
// Token: 0x0400B6CA RID: 46794
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400B6CA")]
[SerializeField]
[Header("Locomotion Collision")]
private bool launchFromForwardFaceOnly = true;
// Token: 0x0400B6CB RID: 46795
[global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")]
[Token(Token = "0x400B6CB")]
[SerializeField]
[Header("Impulse")]
private float impulseAirControlPercentageOverride = 0.25f;
// Token: 0x0400B6CC RID: 46796
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400B6CC")]
[SerializeField]
private PlayerLauncher.JABBBBDPJOM impulseApplicationType = (PlayerLauncher.JABBBBDPJOM)((ulong)1L);
// Token: 0x0400B6CD RID: 46797
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
[Token(Token = "0x400B6CD")]
[SerializeField]
private OverridableVector3 impulseDirectionOverride;
// Token: 0x0400B6CE RID: 46798
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
[Token(Token = "0x400B6CE")]
[SerializeField]
private float restitutionFactor;
// Token: 0x0400B6CF RID: 46799
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400B6CF")]
[SerializeField]
private float impulseForce;
// Token: 0x0400B6D0 RID: 46800
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
[Token(Token = "0x400B6D0")]
[SerializeField]
private float maxVelocity;
// Token: 0x0400B6D1 RID: 46801
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400B6D1")]
[SerializeField]
[Header("Feedback")]
private RecRoomAudioClip impulseApplicationSfx;
// Token: 0x0400B6D2 RID: 46802
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x400B6D2")]
[SerializeField]
[OCIDFHDICIP(JIBDPHMGEGO.Self, false, false)]
private BoxCollider triggerCollider;
// Token: 0x0400B6D3 RID: 46803
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x400B6D3")]
[SerializeField]
[OCIDFHDICIP(JIBDPHMGEGO.Self, false, false)]
private LocomotionCollisionTrigger locomotionCollider;
// Token: 0x0400B6D4 RID: 46804
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x400B6D4")]
private TokenFlag IDOPKGFECHD;
// Token: 0x0400B6D5 RID: 46805
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x400B6D5")]
private float GAIFAAMANCE;
// Token: 0x0200269E RID: 9886
[Token(Token = "0x200269E")]
public enum JABBBBDPJOM
{
// Token: 0x0400B6D7 RID: 46807
[Token(Token = "0x400B6D7")]
ADDITIVE,
// Token: 0x0400B6D8 RID: 46808
[Token(Token = "0x400B6D8")]
ADDITIVE_PLUS_REFLECT_INBOUND_VELOCITY,
// Token: 0x0400B6D9 RID: 46809
[Token(Token = "0x400B6D9")]
OVERRIDE_INBOUND_VELOCITY
}
}
}