248 lines
7.6 KiB
C#
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;
|
|
}
|
|
}
|