280 lines
9.1 KiB
C#
280 lines
9.1 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun;
|
|
using RecRoom.Core;
|
|
using RecRoom.Networking.SynchronizedFields;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools
|
|
{
|
|
// Token: 0x0200253E RID: 9534
|
|
[Token(Token = "0x200253E")]
|
|
[StructLayout(3)]
|
|
public class ToolSpawner : MonoBehaviourPun
|
|
{
|
|
// Token: 0x17002CB1 RID: 11441
|
|
// (get) Token: 0x06010704 RID: 67332 RVA: 0x003DB874 File Offset: 0x003D9A74
|
|
// (set) Token: 0x06010705 RID: 67333 RVA: 0x003DB894 File Offset: 0x003D9A94
|
|
[Token(Token = "0x17002CB1")]
|
|
private float FJMKBGBLNFP
|
|
{
|
|
[Token(Token = "0x6010704")]
|
|
[Address(RVA = "0x15B7990", Offset = "0x15B6390", VA = "0x1815B7990")]
|
|
get
|
|
{
|
|
return this.AMJMCODMFFL.Get();
|
|
}
|
|
[Token(Token = "0x6010705")]
|
|
[Address(RVA = "0x15B76B0", Offset = "0x15B60B0", VA = "0x1815B76B0")]
|
|
set
|
|
{
|
|
SynchronizedField<float> amjmcodmffl = this.AMJMCODMFFL;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17002CB2 RID: 11442
|
|
// (get) Token: 0x06010706 RID: 67334 RVA: 0x003DB8B0 File Offset: 0x003D9AB0
|
|
// (set) Token: 0x06010707 RID: 67335 RVA: 0x003DB8D0 File Offset: 0x003D9AD0
|
|
[Token(Token = "0x17002CB2")]
|
|
private int ECCODNJGILI
|
|
{
|
|
[Token(Token = "0x6010706")]
|
|
[Address(RVA = "0x15B7940", Offset = "0x15B6340", VA = "0x1815B7940")]
|
|
get
|
|
{
|
|
return this.IBBMFEJJAKD.Get();
|
|
}
|
|
[Token(Token = "0x6010707")]
|
|
[Address(RVA = "0x15B7CC0", Offset = "0x15B66C0", VA = "0x1815B7CC0")]
|
|
set
|
|
{
|
|
SynchronizedField<int> ibbmfejjakd = this.IBBMFEJJAKD;
|
|
}
|
|
}
|
|
|
|
// Token: 0x17002CB3 RID: 11443
|
|
// (get) Token: 0x06010708 RID: 67336 RVA: 0x003DB8EC File Offset: 0x003D9AEC
|
|
// (set) Token: 0x06010709 RID: 67337 RVA: 0x003DB910 File Offset: 0x003D9B10
|
|
[Token(Token = "0x17002CB3")]
|
|
private Tool KHDECHMILOA
|
|
{
|
|
[Token(Token = "0x6010708")]
|
|
[Address(RVA = "0x15B7C70", Offset = "0x15B6670", VA = "0x1815B7C70")]
|
|
get
|
|
{
|
|
KCMNCAFFHJG<Tool> kmflaimpjih = this.KMFLAIMPJIH;
|
|
int num = 0;
|
|
return kmflaimpjih.IAHDANBDAAM(num != 0);
|
|
}
|
|
[Token(Token = "0x6010709")]
|
|
[Address(RVA = "0x15B7C10", Offset = "0x15B6610", VA = "0x1815B7C10")]
|
|
set
|
|
{
|
|
this.KMFLAIMPJIH.BDJFGEJFPPO(value);
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601070A RID: 67338 RVA: 0x003DB930 File Offset: 0x003D9B30
|
|
[Token(Token = "0x601070A")]
|
|
[Address(RVA = "0x15B7560", Offset = "0x15B5F60", VA = "0x1815B7560", Slot = "13")]
|
|
protected override void Awake()
|
|
{
|
|
this.NJGKEJCHADK();
|
|
int num = 0;
|
|
SynchronizedField<float> synchronizedField;
|
|
this.AMJMCODMFFL = synchronizedField;
|
|
SynchronizedField<int> synchronizedField2;
|
|
this.IBBMFEJJAKD = synchronizedField2;
|
|
KCMNCAFFHJG<Tool> kcmncaffhjg = new KCMNCAFFHJG(this, "CT", SetterPermissionMode.MASTER, num);
|
|
this.KMFLAIMPJIH = kcmncaffhjg;
|
|
Action<float> action = new Action(this.GHKKGHPLGGB);
|
|
IDisposable disposable = ScheduledUpdateMonoBehaviourExtensions.Update10hz(this, action);
|
|
this.MOKAMJILCIE = disposable;
|
|
}
|
|
|
|
// Token: 0x0601070B RID: 67339 RVA: 0x003DB98C File Offset: 0x003D9B8C
|
|
[Token(Token = "0x601070B")]
|
|
[Address(RVA = "0x15B7D80", Offset = "0x15B6780", VA = "0x1815B7D80")]
|
|
private void Start()
|
|
{
|
|
Tool[] pool = this.toolPool.pool;
|
|
int num = 0;
|
|
int length = pool.Length;
|
|
if (num < length)
|
|
{
|
|
Tool tool = pool[num];
|
|
ActionEvent<Tool> postPickupEvent = tool.PostPickupEvent;
|
|
Action<Tool> action = new Action(this.FJDLBKOJEEI);
|
|
ActionEvent<Tool> actionEvent = postPickupEvent + action;
|
|
tool.PostPickupEvent = actionEvent;
|
|
ActionEvent<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool.PostResetEvent;
|
|
Action<Tool, Vector3, Quaternion, Vector3, bool> action2 = new Action(this.AEEANJMMGIK);
|
|
ActionEvent<Tool> actionEvent2;
|
|
tool.PostResetEvent = actionEvent2;
|
|
ToolCleanup <JGABDFBGDEB>k__BackingField = tool.<JGABDFBGDEB>k__BackingField;
|
|
int num2 = 0;
|
|
if (!(<JGABDFBGDEB>k__BackingField == num2))
|
|
{
|
|
tool.<JGABDFBGDEB>k__BackingField.PauseAutomaticCleanup(this);
|
|
num++;
|
|
}
|
|
Debug.LogError(string.Format("Tool {0} in ToolSpawner's toolPool doesn't have a ToolCleanup component. Add one manually for correct cleanup behavior in ToolSpawner.", tool));
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601070C RID: 67340 RVA: 0x003DBA48 File Offset: 0x003D9C48
|
|
[Token(Token = "0x601070C")]
|
|
[Address(RVA = "0x15B7D20", Offset = "0x15B6720", VA = "0x1815B7D20", Slot = "14")]
|
|
protected override void OnDestroy()
|
|
{
|
|
if (this.MOKAMJILCIE != 0)
|
|
{
|
|
}
|
|
this.MOKAMJILCIE = (ulong)0L;
|
|
base.OnDestroy();
|
|
}
|
|
|
|
// Token: 0x0601070D RID: 67341 RVA: 0x003DBA70 File Offset: 0x003D9C70
|
|
[Token(Token = "0x601070D")]
|
|
[Address(RVA = "0x15B79E0", Offset = "0x15B63E0", VA = "0x1815B79E0")]
|
|
private void GHKKGHPLGGB(float POGAEJIEPIM)
|
|
{
|
|
if (PhotonNetwork.IsMasterClient)
|
|
{
|
|
float unscaledTime = Time.unscaledTime;
|
|
float num = this.AMJMCODMFFL.Get();
|
|
if (this.spawnCooldown < unscaledTime)
|
|
{
|
|
int num2 = this.IBBMFEJJAKD.Get();
|
|
Tool[] pool = this.toolPool.pool;
|
|
if (num2 < pool.Length)
|
|
{
|
|
KCMNCAFFHJG<Tool> kmflaimpjih = this.KMFLAIMPJIH;
|
|
int num3 = 0;
|
|
Tool tool = kmflaimpjih.IAHDANBDAAM(num3 != 0);
|
|
int num4 = 0;
|
|
if (!(tool != num4))
|
|
{
|
|
ToolPool toolPool = this.toolPool;
|
|
Transform transform = base.transform;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Transform transform2 = base.transform;
|
|
Tool tool2;
|
|
this.KHDECHMILOA = tool2;
|
|
int num5 = this.ECCODNJGILI + 1;
|
|
this.ECCODNJGILI = num5;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601070E RID: 67342 RVA: 0x003DBB38 File Offset: 0x003D9D38
|
|
[Token(Token = "0x601070E")]
|
|
[Address(RVA = "0x15B7710", Offset = "0x15B6110", VA = "0x1815B7710")]
|
|
private void FJDLBKOJEEI(Tool EGFEJGHDNAI)
|
|
{
|
|
KCMNCAFFHJG<Tool> kmflaimpjih = this.KMFLAIMPJIH;
|
|
int num = 0;
|
|
Tool tool = kmflaimpjih.IAHDANBDAAM(num != 0);
|
|
if (EGFEJGHDNAI == tool)
|
|
{
|
|
if (PhotonNetwork.IsMasterClient)
|
|
{
|
|
KCMNCAFFHJG<Tool> kmflaimpjih2 = this.KMFLAIMPJIH;
|
|
int num2 = 0;
|
|
kmflaimpjih2.BDJFGEJFPPO(num2);
|
|
float unscaledTime = Time.unscaledTime;
|
|
this.AMJMCODMFFL.Set(num2);
|
|
}
|
|
EGFEJGHDNAI.<JGABDFBGDEB>k__BackingField.ResumeAutomaticCleanup(this);
|
|
int frameCount = Time.frameCount;
|
|
float num3 = this.AMJMCODMFFL.Get();
|
|
Debug.Log(string.Format("F {0}: Picked up spawned tool. Set pickup time to: {1}.", frameCount, frameCount));
|
|
}
|
|
}
|
|
|
|
// Token: 0x0601070F RID: 67343 RVA: 0x003DBBD4 File Offset: 0x003D9DD4
|
|
[Token(Token = "0x601070F")]
|
|
[Address(RVA = "0x15B7350", Offset = "0x15B5D50", VA = "0x1815B7350")]
|
|
private void AEEANJMMGIK(Tool HIODGDILDBM, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
|
|
{
|
|
KCMNCAFFHJG<Tool> kmflaimpjih = this.KMFLAIMPJIH;
|
|
int num = 0;
|
|
Tool tool = kmflaimpjih.IAHDANBDAAM(num != 0);
|
|
if (!(HIODGDILDBM == tool))
|
|
{
|
|
if (PhotonNetwork.IsMasterClient)
|
|
{
|
|
this.toolPool.Release(HIODGDILDBM);
|
|
int num2 = this.IBBMFEJJAKD.Get();
|
|
SynchronizedField<int> ibbmfejjakd = this.IBBMFEJJAKD;
|
|
}
|
|
int frameCount = Time.frameCount;
|
|
int photonViewId = HIODGDILDBM.KHDKHLFAMOK;
|
|
Debug.Log(string.Format("F {0}: Tool {1} reset", frameCount, photonViewId));
|
|
HIODGDILDBM.<JGABDFBGDEB>k__BackingField.PauseAutomaticCleanup(this);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06010710 RID: 67344 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6010710")]
|
|
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60")]
|
|
private void NJGKEJCHADK()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06010711 RID: 67345 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6010711")]
|
|
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60")]
|
|
public void ResetSpawner()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06010712 RID: 67346 RVA: 0x003DBC60 File Offset: 0x003D9E60
|
|
[Token(Token = "0x6010712")]
|
|
[Address(RVA = "0x15B7F70", Offset = "0x15B6970", VA = "0x1815B7F70")]
|
|
public ToolSpawner()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400AF14 RID: 44820
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x400AF14")]
|
|
[SerializeField]
|
|
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
|
|
private ToolPool toolPool;
|
|
|
|
// Token: 0x0400AF15 RID: 44821
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400AF15")]
|
|
[SerializeField]
|
|
private float spawnCooldown = 15f;
|
|
|
|
// Token: 0x0400AF16 RID: 44822
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400AF16")]
|
|
private IDisposable MOKAMJILCIE;
|
|
|
|
// Token: 0x0400AF17 RID: 44823
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x400AF17")]
|
|
private SynchronizedField<float> AMJMCODMFFL;
|
|
|
|
// Token: 0x0400AF18 RID: 44824
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400AF18")]
|
|
private SynchronizedField<int> IBBMFEJJAKD;
|
|
|
|
// Token: 0x0400AF19 RID: 44825
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400AF19")]
|
|
private KCMNCAFFHJG<Tool> KMFLAIMPJIH;
|
|
}
|
|
}
|