Files
2026-04-08 23:40:05 +02:00

248 lines
7.6 KiB
C#

using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.Networking.SynchronizedFields;
using UnityEngine;
namespace RecRoom
{
// Token: 0x02001CE9 RID: 7401
[Token(Token = "0x2001CE9")]
[StructLayout(3)]
public class EdibleItem : MonoBehaviourPun
{
// Token: 0x17001F06 RID: 7942
// (get) Token: 0x0600C70C RID: 50956 RVA: 0x002F2C1C File Offset: 0x002F0E1C
// (set) Token: 0x0600C70D RID: 50957 RVA: 0x002F2C3C File Offset: 0x002F0E3C
[Token(Token = "0x17001F06")]
private int ILAPGEKEPLN
{
[Token(Token = "0x600C70C")]
[Address(RVA = "0x121FA60", Offset = "0x121E460", VA = "0x18121FA60")]
get
{
return this.ANBIBLCGGLM.Get();
}
[Token(Token = "0x600C70D")]
[Address(RVA = "0x121FA00", Offset = "0x121E400", VA = "0x18121FA00")]
set
{
SynchronizedField<int> anbiblcgglm = this.ANBIBLCGGLM;
}
}
// Token: 0x0600C70E RID: 50958 RVA: 0x002F2C58 File Offset: 0x002F0E58
[Token(Token = "0x600C70E")]
[Address(RVA = "0x121F810", Offset = "0x121E210", VA = "0x18121F810")]
public void AuthorityTakeBite()
{
if (base.hasAuthority)
{
int num = this.ANBIBLCGGLM.Get();
SynchronizedField<int> anbiblcgglm = this.ANBIBLCGGLM;
}
}
// Token: 0x0600C70F RID: 50959 RVA: 0x002F2C88 File Offset: 0x002F0E88
[Token(Token = "0x600C70F")]
[Address(RVA = "0x121F8B0", Offset = "0x121E2B0", VA = "0x18121F8B0", Slot = "13")]
protected override void Awake()
{
base..ctor();
this.tool.HeldCollisionLayer = (DAJFOCGPHGP)((ulong)13L);
this.tool.DODDBBEOJNN = true;
Action action = new Action(this.PAGPIJOMOED);
int num;
int num2;
SynchronizedField<int> synchronizedField = new SynchronizedField(this, "BC", num, (SetterPermissionMode)num2, action, num2);
num2 = 0;
num = 0;
this.ANBIBLCGGLM = synchronizedField;
GameObject[] array = this.visualsAfterEachBite;
int length = array.Length;
if (num2 < length)
{
GameObject gameObject = array[num2];
int num3 = 0;
gameObject.SetActive(num3 != 0);
num2++;
}
this.PAGPIJOMOED();
}
// Token: 0x0600C710 RID: 50960 RVA: 0x002F2D1C File Offset: 0x002F0F1C
[Token(Token = "0x600C710")]
[Address(RVA = "0x121FAB0", Offset = "0x121E4B0", VA = "0x18121FAB0")]
private void OnTriggerStay(Collider EFGJEBIAONA)
{
if (this.SupportsAutomaticEating && Time.time > this.minBiteInterval)
{
Tool tool = this.tool;
if (tool.<BIPMAHKMNKF>k__BackingField)
{
PlayerHand <PBCNKLKCIHJ>k__BackingField = tool.<PBCNKLKCIHJ>k__BackingField;
int num = 0;
if (<PBCNKLKCIHJ>k__BackingField != num)
{
PlayerHand <PBCNKLKCIHJ>k__BackingField2 = this.tool.<PBCNKLKCIHJ>k__BackingField;
if (EFGJEBIAONA.gameObject.KHHDLOKCNHC((IIBIOPCKHGK)((uint)1053184)))
{
Transform transform = this.tool.<OKDFEPHLKCB>k__BackingField.head.transform;
Vector3 vector;
float z = vector.z;
Transform transform2 = base.transform;
Vector3 vector2;
float z2 = vector2.z;
Vector3 vector3;
float z3 = vector3.z;
float num2;
if (this.minDistanceFromHeadSq > num2 && base.hasAuthority)
{
int num3 = this.ANBIBLCGGLM.Get();
SynchronizedField<int> anbiblcgglm = this.ANBIBLCGGLM;
}
}
}
}
}
}
// Token: 0x0600C711 RID: 50961 RVA: 0x002F2DFC File Offset: 0x002F0FFC
[Token(Token = "0x600C711")]
[Address(RVA = "0x121FD80", Offset = "0x121E780", VA = "0x18121FD80")]
private void PAGPIJOMOED()
{
int num = 0;
int num2 = this.ANBIBLCGGLM.Get();
GameObject[] array = this.visualsAfterEachBite;
int num3 = this.ANBIBLCGGLM.Get();
GameObject gameObject = array[num3];
int num4 = 0;
gameObject.SetActive(num4 != 0);
float time = Time.time;
this.GOONNKACCKD = time;
if ((this.KJDHMJPNDCK ? 1 : 0) != num)
{
RecRoomAudioClip[] array2 = this.biteAudioClips;
int length = array2.Length;
if (length != 0)
{
int num5 = global::UnityEngine.Random.Range(0, length);
if (array2[num5] != 0)
{
Transform transform = base.transform;
}
}
ParticleSystem[] array3 = this.biteParticles;
int length2 = array3.Length;
if (length2 != 0)
{
int num6 = global::UnityEngine.Random.Range(0, length2);
ParticleSystem particleSystem = global::UnityEngine.Object.Instantiate<ParticleSystem>(array3[num6]);
Player <OKDFEPHLKCB>k__BackingField = this.tool.<OKDFEPHLKCB>k__BackingField;
int num7 = 0;
if (<OKDFEPHLKCB>k__BackingField != num7)
{
PlayerHead head = this.tool.<OKDFEPHLKCB>k__BackingField.head;
}
Transform transform2 = base.transform;
Transform transform3 = particleSystem.transform;
particleSystem.Play();
ParticleSystem.MainModule main = particleSystem.main;
float num8;
global::UnityEngine.Object.Destroy(particleSystem.gameObject, num8);
}
}
int num9 = this.ANBIBLCGGLM.Get();
GameObject[] array4 = this.visualsAfterEachBite;
this.tool.Disable();
}
// Token: 0x0600C712 RID: 50962 RVA: 0x002F2F54 File Offset: 0x002F1154
[Token(Token = "0x600C712")]
[Address(RVA = "0x12202F0", Offset = "0x121ECF0", VA = "0x1812202F0")]
public EdibleItem()
{
RecRoomAudioClip[] array = new RecRoomAudioClip[0];
this.biteAudioClips = array;
AudioRolloff audioRolloff = new AudioRolloff();
audioRolloff.minDistance = 0f;
int num = 0;
audioRolloff.maxDistance = 12f;
this.audioRolloff = audioRolloff;
ParticleSystem[] array2 = new ParticleSystem[num];
this.biteParticles = array2;
this.SupportsAutomaticEating = true;
this.minDistanceFromHeadSq = 0.04f;
base..ctor();
}
// Token: 0x040083D4 RID: 33748
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x40083D4")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
private Tool tool;
// Token: 0x040083D5 RID: 33749
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x40083D5")]
[SerializeField]
private float minBiteInterval = 1f;
// Token: 0x040083D6 RID: 33750
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x40083D6")]
[SerializeField]
[Tooltip("Array index represents number of bites, i.e. [0] is the uneaten item")]
private GameObject[] visualsAfterEachBite;
// Token: 0x040083D7 RID: 33751
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x40083D7")]
[SerializeField]
[Header("Effects")]
private RecRoomAudioClip[] biteAudioClips;
// Token: 0x040083D8 RID: 33752
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x40083D8")]
[SerializeField]
private AudioRolloff audioRolloff;
// Token: 0x040083D9 RID: 33753
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x40083D9")]
[SerializeField]
private ParticleSystem[] biteParticles;
// Token: 0x040083DA RID: 33754
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x40083DA")]
[NonSerialized]
public bool SupportsAutomaticEating;
// Token: 0x040083DB RID: 33755
[global::Cpp2IlInjected.FieldOffset(Offset = "0x74")]
[Token(Token = "0x40083DB")]
[SerializeField]
private float minDistanceFromHeadSq;
// Token: 0x040083DC RID: 33756
[global::Cpp2IlInjected.FieldOffset(Offset = "0x78")]
[Token(Token = "0x40083DC")]
private float GOONNKACCKD;
// Token: 0x040083DD RID: 33757
[global::Cpp2IlInjected.FieldOffset(Offset = "0x7C")]
[Token(Token = "0x40083DD")]
private bool KJDHMJPNDCK;
// Token: 0x040083DE RID: 33758
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
[Token(Token = "0x40083DE")]
private SynchronizedField<int> ANBIBLCGGLM;
}
}