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

440 lines
16 KiB
C#

using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using Photon.Pun;
using Photon.Realtime;
using RecRoom.Core;
using RecRoom.Core.AI;
using RecRoom.Core.Combat;
using RecRoom.Networking.SynchronizedFields;
using UnityEngine;
namespace RecRoom
{
// Token: 0x02001D1F RID: 7455
[Token(Token = "0x2001D1F")]
[StructLayout(3)]
public class AutomaticHolsteringTool : MonoBehaviourPun
{
// Token: 0x17001F33 RID: 7987
// (get) Token: 0x0600C83F RID: 51263 RVA: 0x002F8510 File Offset: 0x002F6710
[Token(Token = "0x17001F33")]
public Tool PBBJCLJPFMI
{
[Token(Token = "0x600C83F")]
[Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0")]
get
{
return this._tool;
}
}
// Token: 0x17001F34 RID: 7988
// (get) Token: 0x0600C840 RID: 51264 RVA: 0x002F8524 File Offset: 0x002F6724
// (set) Token: 0x0600C841 RID: 51265 RVA: 0x002F8554 File Offset: 0x002F6754
[Token(Token = "0x17001F34")]
public Photon.Realtime.Player HLENGKNMKIM
{
[Token(Token = "0x600C840")]
[Address(RVA = "0x129C960", Offset = "0x129B360", VA = "0x18129C960")]
get
{
Photon.Realtime.Player localPlayer = PhotonNetwork.LocalPlayer;
int num = this.GKKFJOBILAH.Get();
return localPlayer.Get(num);
}
[Token(Token = "0x600C841")]
[Address(RVA = "0x129C9F0", Offset = "0x129B3F0", VA = "0x18129C9F0")]
set
{
SynchronizedField<int> gkkfjobilah = this.GKKFJOBILAH;
if (value != 0)
{
}
}
}
// Token: 0x0600C842 RID: 51266 RVA: 0x002F8574 File Offset: 0x002F6774
[Token(Token = "0x600C842")]
[Address(RVA = "0x129B8C0", Offset = "0x129A2C0", VA = "0x18129B8C0", Slot = "13")]
protected override void Awake()
{
base..ctor();
Action action = new Action(this.FNDBHCDBPHO);
int num;
SynchronizedField<int> synchronizedField = new SynchronizedField(this, "POID", -1, (SetterPermissionMode)num, action, num);
num = 0;
Tool tool = this._tool;
this.GKKFJOBILAH = synchronizedField;
ActionEvent<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action2 = new Action(this.MADAMADCJNN);
ActionEvent<Tool> actionEvent = postPickupEvent + action2;
tool.PostPickupEvent = actionEvent;
Tool tool2 = this._tool;
ActionEvent<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool2.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action3 = new Action(this.APBEFBBOMDJ);
ActionEvent<Tool> actionEvent2;
tool2.PostResetEvent = actionEvent2;
Tool tool3 = this._tool;
ActionEvent<Tool> postAttachEvent = tool3.PostAttachEvent;
Action<Tool> action4 = new Action(this.PBGOLBKNDOD);
ActionEvent<Tool> actionEvent3 = postAttachEvent + action4;
tool3.PostAttachEvent = actionEvent3;
ActionEvent<Photon.Realtime.Player> onPhotonPlayerDisconnected = PhotonNetwork.OnPhotonPlayerDisconnected;
Action<Photon.Realtime.Player> action5 = new Action(this.OnPhotonPlayerDisconnected);
PhotonNetwork.OnPhotonPlayerDisconnected = onPhotonPlayerDisconnected + action5;
Tool tool4 = this._tool;
tool4.AllowedToTransferOwnershipOnCollision = false;
int num2 = 0;
if (tool4 != num2)
{
GameCombatManager.ODCIMPCGPKE odcimpcgpke = new GameCombatManager.ODCIMPCGPKE(this.BFGBPFACPPB);
GameCombatManager.HOKOCNGFDAO hokocngfdao = new GameCombatManager.HOKOCNGFDAO(this.IAHEDALKPBI);
GameCombatManager.PKJNMGICNJK pkjnmgicnjk = new GameCombatManager.PKJNMGICNJK(this.IDFEEFAMOOI);
GameCombatManager.MGBBCMDIIIJ mgbbcmdiiij = new GameCombatManager.MGBBCMDIIIJ(this.JBAMACNACDB);
}
}
// Token: 0x0600C843 RID: 51267 RVA: 0x002F86B8 File Offset: 0x002F68B8
[Token(Token = "0x600C843")]
[Address(RVA = "0x129BD60", Offset = "0x129A760", VA = "0x18129BD60")]
private void Start()
{
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
Tool tool = this._tool;
bool flag = permanentOwnerPlayer != 0;
tool.BEKODHBDOFG = flag;
ToolPlayerAttractor toolPlayerAttractor = this.attractor;
int num = 0;
if (toolPlayerAttractor != num)
{
this.attractor.enabledOnReset = flag;
}
this._tool.<JGABDFBGDEB>k__BackingField.EnableCleanup("AutoHolsteringToolOwnerDown");
}
// Token: 0x0600C844 RID: 51268 RVA: 0x002F8720 File Offset: 0x002F6920
[Token(Token = "0x600C844")]
[Address(RVA = "0x129C410", Offset = "0x129AE10", VA = "0x18129C410", Slot = "14")]
protected override void OnDestroy()
{
Tool tool = this._tool;
ActionEvent<Tool> postPickupEvent = tool.PostPickupEvent;
Action<Tool> action = new Action(this.MADAMADCJNN);
ActionEvent<Tool> actionEvent = postPickupEvent - action;
tool.PostPickupEvent = actionEvent;
Tool tool2 = this._tool;
ActionEvent<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool2.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action2 = new Action(this.APBEFBBOMDJ);
ActionEvent<Tool> actionEvent2;
tool2.PostResetEvent = actionEvent2;
Tool tool3 = this._tool;
ActionEvent<Tool> postAttachEvent = tool3.PostAttachEvent;
Action<Tool> action3 = new Action(this.PBGOLBKNDOD);
ActionEvent<Tool> actionEvent3 = postAttachEvent - action3;
tool3.PostAttachEvent = actionEvent3;
ActionEvent<Photon.Realtime.Player> onPhotonPlayerDisconnected = PhotonNetwork.OnPhotonPlayerDisconnected;
Action<Photon.Realtime.Player> action4 = new Action(this.OnPhotonPlayerDisconnected);
PhotonNetwork.OnPhotonPlayerDisconnected = onPhotonPlayerDisconnected - action4;
bool flag;
if (flag)
{
GameCombatManager.ODCIMPCGPKE odcimpcgpke = new GameCombatManager.ODCIMPCGPKE(this.BFGBPFACPPB);
GameCombatManager.HOKOCNGFDAO hokocngfdao = new GameCombatManager.HOKOCNGFDAO(this.IAHEDALKPBI);
GameCombatManager.PKJNMGICNJK pkjnmgicnjk = new GameCombatManager.PKJNMGICNJK(this.IDFEEFAMOOI);
GameCombatManager.MGBBCMDIIIJ mgbbcmdiiij = new GameCombatManager.MGBBCMDIIIJ(this.JBAMACNACDB);
}
base.OnDestroy();
}
// Token: 0x0600C845 RID: 51269 RVA: 0x002F8820 File Offset: 0x002F6A20
[Token(Token = "0x600C845")]
[Address(RVA = "0x129C310", Offset = "0x129AD10", VA = "0x18129C310")]
private void MADAMADCJNN(Tool EGFEJGHDNAI)
{
global::Player <OKDFEPHLKCB>k__BackingField = EGFEJGHDNAI.<OKDFEPHLKCB>k__BackingField;
int num = 0;
if (<OKDFEPHLKCB>k__BackingField != num)
{
global::Player <OKDFEPHLKCB>k__BackingField2 = EGFEJGHDNAI.<OKDFEPHLKCB>k__BackingField;
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
if (base.hasAuthority)
{
if (permanentOwnerPlayer != 0)
{
Photon.Realtime.Player photonPlayer = EGFEJGHDNAI.<OKDFEPHLKCB>k__BackingField.DBAJDHGDPOL;
if (permanentOwnerPlayer == photonPlayer)
{
return;
}
}
Photon.Realtime.Player photonPlayer2 = EGFEJGHDNAI.<OKDFEPHLKCB>k__BackingField.DBAJDHGDPOL;
this.HLENGKNMKIM = photonPlayer2;
}
}
}
// Token: 0x0600C846 RID: 51270 RVA: 0x002F8888 File Offset: 0x002F6A88
[Token(Token = "0x600C846")]
[Address(RVA = "0x129B820", Offset = "0x129A220", VA = "0x18129B820")]
private void APBEFBBOMDJ(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
{
if (base.hasAuthority)
{
SynchronizedField<int> gkkfjobilah = this.GKKFJOBILAH;
return;
}
}
// Token: 0x0600C847 RID: 51271 RVA: 0x002F88D0 File Offset: 0x002F6AD0
[Token(Token = "0x600C847")]
[Address(RVA = "0x129C7C0", Offset = "0x129B1C0", VA = "0x18129C7C0")]
private void PBGOLBKNDOD(Tool EGFEJGHDNAI)
{
if (EGFEJGHDNAI.<CMPLOJHCLMG>k__BackingField)
{
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
global::Player <OKDFEPHLKCB>k__BackingField = EGFEJGHDNAI.<OKDFEPHLKCB>k__BackingField;
int num = 0;
if (<OKDFEPHLKCB>k__BackingField != 0)
{
Photon.Realtime.Player photonPlayer = <OKDFEPHLKCB>k__BackingField.DBAJDHGDPOL;
}
if (permanentOwnerPlayer == 0)
{
this.HLENGKNMKIM = num;
if (num == 0)
{
return;
}
}
global::Player player;
int length = player.toolEquipSlots.<HBBPIPDDLKN>k__BackingField.Length;
PlayerToolEquipSlot playerToolEquipSlot;
if (!(playerToolEquipSlot.EFEKNEEGDIP == EGFEJGHDNAI))
{
}
this.EDKECKOGGDD = playerToolEquipSlot;
throw new NullReferenceException();
}
}
// Token: 0x0600C848 RID: 51272 RVA: 0x002F8944 File Offset: 0x002F6B44
[Token(Token = "0x600C848")]
[Address(RVA = "0x129BEC0", Offset = "0x129A8C0", VA = "0x18129BEC0")]
private void IIJIFOMGKOI([Optional] PlayerHand IDPDJONLGAK)
{
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
if (permanentOwnerPlayer != 0 && this._tool.hasAuthority)
{
global::Player player = permanentOwnerPlayer.GPOMCJICJIH();
PlayerToolEquipSlot edkeckoggdd = this.EDKECKOGGDD;
int num = 0;
bool flag = edkeckoggdd == num;
int num2 = 0;
if (!flag)
{
PlayerToolEquipSlots toolEquipSlots = player.toolEquipSlots;
Tool tool = this._tool;
if (toolEquipSlots.CanEquipTool(tool, IDPDJONLGAK, edkeckoggdd))
{
goto IL_171;
}
}
bool flag4;
if (this.equipSlotType == FNCLOCJLFDG.LDHGJHOFPKC.Hip)
{
PlayerHand dnbipbnnkjh = player.DNBIPBNNKJH;
PlayerToolEquipSlots toolEquipSlots2 = player.toolEquipSlots;
PlayerToolEquipSlots toolEquipSlots3;
if (dnbipbnnkjh.type != (PlayerHand.PLLIKAOIPHP)num2)
{
PlayerToolEquipSlot rightHipSlot = toolEquipSlots2.rightHipSlot;
Tool tool2 = this._tool;
bool flag2 = toolEquipSlots2.CanEquipTool(tool2, IDPDJONLGAK, rightHipSlot);
toolEquipSlots3 = player.toolEquipSlots;
if (!flag2)
{
PlayerToolEquipSlot leftHipSlot = toolEquipSlots3.leftHipSlot;
Tool tool3 = this._tool;
if (!toolEquipSlots3.CanEquipTool(tool3, IDPDJONLGAK, leftHipSlot))
{
goto IL_171;
}
PlayerToolEquipSlots toolEquipSlots4 = player.toolEquipSlots;
}
}
PlayerToolEquipSlot leftHipSlot2 = toolEquipSlots3.leftHipSlot;
Tool tool4 = this._tool;
bool flag3 = toolEquipSlots3.CanEquipTool(tool4, IDPDJONLGAK, leftHipSlot2);
PlayerToolEquipSlots toolEquipSlots5 = player.toolEquipSlots;
if (!flag3)
{
PlayerToolEquipSlot rightHipSlot2 = toolEquipSlots5.rightHipSlot;
Tool tool5 = this._tool;
flag4 = toolEquipSlots5.CanEquipTool(tool5, IDPDJONLGAK, rightHipSlot2);
if (!flag4)
{
goto IL_171;
}
PlayerToolEquipSlots toolEquipSlots6 = player.toolEquipSlots;
}
}
PlayerToolEquipSlot shoulderSlot2;
if (flag4)
{
PlayerToolEquipSlots toolEquipSlots7 = player.toolEquipSlots;
PlayerToolEquipSlot shoulderSlot = toolEquipSlots7.shoulderSlot;
Tool tool6 = this._tool;
if (toolEquipSlots7.CanEquipTool(tool6, IDPDJONLGAK, shoulderSlot))
{
shoulderSlot2 = player.toolEquipSlots.shoulderSlot;
}
}
IL_171:
int num3 = 0;
if (shoulderSlot2 != num3)
{
throw new NullReferenceException();
}
if (base.hasAuthority)
{
SynchronizedField<int> gkkfjobilah = this.GKKFJOBILAH;
}
}
}
// Token: 0x0600C849 RID: 51273 RVA: 0x002F8AE8 File Offset: 0x002F6CE8
[Token(Token = "0x600C849")]
[Address(RVA = "0x129C7B0", Offset = "0x129B1B0", VA = "0x18129C7B0")]
private void OnPhotonPlayerDisconnected(Photon.Realtime.Player AIBMDIENGJA)
{
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
}
// Token: 0x0600C84A RID: 51274 RVA: 0x002F8AFC File Offset: 0x002F6CFC
[Token(Token = "0x600C84A")]
[Address(RVA = "0x129BD60", Offset = "0x129A760", VA = "0x18129BD60")]
private void FNDBHCDBPHO()
{
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
Tool tool = this._tool;
bool flag = permanentOwnerPlayer != 0;
tool.BEKODHBDOFG = flag;
ToolPlayerAttractor toolPlayerAttractor = this.attractor;
int num = 0;
if (toolPlayerAttractor != num)
{
this.attractor.enabledOnReset = flag;
}
this._tool.<JGABDFBGDEB>k__BackingField.EnableCleanup("AutoHolsteringToolOwnerDown");
}
// Token: 0x0600C84B RID: 51275 RVA: 0x002F8B64 File Offset: 0x002F6D64
[Token(Token = "0x600C84B")]
[Address(RVA = "0x129BCE0", Offset = "0x129A6E0", VA = "0x18129BCE0")]
private void BFGBPFACPPB(Photon.Realtime.Player LJGOHLFADDN, Photon.Realtime.Player HMEIODIHDCL, Weapon GDIGKHINJCG, global::Player.GAHEJKDCLLE OAEAKADENEB, Vector3 BEOPNIAIJOM, Vector3 OKDCENHKDIP, int JJHKPNCCEFB, GameCombatManager.IGHLGLDPACI LCJBLMKOCLB)
{
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
if (permanentOwnerPlayer != 0 && permanentOwnerPlayer == HMEIODIHDCL)
{
this._tool.<JGABDFBGDEB>k__BackingField.DisableCleanup("AutoHolsteringToolOwnerDown");
}
}
// Token: 0x0600C84C RID: 51276 RVA: 0x002F8B9C File Offset: 0x002F6D9C
[Token(Token = "0x600C84C")]
[Address(RVA = "0x129BCE0", Offset = "0x129A6E0", VA = "0x18129BCE0")]
private void IAHEDALKPBI(Enemy LJGOHLFADDN, Photon.Realtime.Player HMEIODIHDCL, global::Player.GAHEJKDCLLE OAEAKADENEB, Vector3 BEOPNIAIJOM, GameCombatManager.IGHLGLDPACI LCJBLMKOCLB)
{
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
if (permanentOwnerPlayer != 0 && permanentOwnerPlayer == HMEIODIHDCL)
{
this._tool.<JGABDFBGDEB>k__BackingField.DisableCleanup("AutoHolsteringToolOwnerDown");
}
}
// Token: 0x0600C84D RID: 51277 RVA: 0x002F8BD4 File Offset: 0x002F6DD4
[Token(Token = "0x600C84D")]
[Address(RVA = "0x129BE40", Offset = "0x129A840", VA = "0x18129BE40")]
private void IDFEEFAMOOI(Photon.Realtime.Player HMEIODIHDCL, global::Player.GAHEJKDCLLE OAEAKADENEB, Vector3 BEOPNIAIJOM, GameCombatManager.IGHLGLDPACI LCJBLMKOCLB)
{
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
if (permanentOwnerPlayer != 0 && permanentOwnerPlayer == HMEIODIHDCL)
{
this._tool.<JGABDFBGDEB>k__BackingField.DisableCleanup("AutoHolsteringToolOwnerDown");
}
}
// Token: 0x0600C84E RID: 51278 RVA: 0x002F8C0C File Offset: 0x002F6E0C
[Token(Token = "0x600C84E")]
[Address(RVA = "0x129C1D0", Offset = "0x129ABD0", VA = "0x18129C1D0")]
private void JBAMACNACDB(Photon.Realtime.Player LLFMHANMHIC, Photon.Realtime.Player NLEOIMBAFFL, Vector3 OMFJFJDAAEO)
{
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
if (permanentOwnerPlayer != 0 && permanentOwnerPlayer == LLFMHANMHIC)
{
this._tool.<JGABDFBGDEB>k__BackingField.EnableCleanup("AutoHolsteringToolOwnerDown");
}
}
// Token: 0x0600C84F RID: 51279 RVA: 0x002F8C44 File Offset: 0x002F6E44
[Token(Token = "0x600C84F")]
[Address(RVA = "0x129C250", Offset = "0x129AC50", VA = "0x18129C250")]
private void KNELBCFKALN(Photon.Realtime.Player IEKDDPPNFPF, bool CFICOGKHLAE)
{
Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM;
if (permanentOwnerPlayer != 0 && permanentOwnerPlayer == IEKDDPPNFPF)
{
Tool tool = this._tool;
if (CFICOGKHLAE)
{
return;
}
tool.<JGABDFBGDEB>k__BackingField.DisableCleanup("AutoHolsteringToolOwnerDown");
}
}
// Token: 0x0600C850 RID: 51280 RVA: 0x002F8C84 File Offset: 0x002F6E84
[Token(Token = "0x600C850")]
[Address(RVA = "0x6A4030", Offset = "0x6A2A30", VA = "0x1806A4030")]
public AutomaticHolsteringTool()
{
}
// Token: 0x040084F6 RID: 34038
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x40084F6")]
[SerializeField]
private FNCLOCJLFDG.LDHGJHOFPKC equipSlotType;
// Token: 0x040084F7 RID: 34039
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x40084F7")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
private Tool _tool;
// Token: 0x040084F8 RID: 34040
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x40084F8")]
[SerializeField]
[OCIDFHDICIP(JIBDPHMGEGO.Self, false, false)]
private ToolPlayerAttractor attractor;
// Token: 0x040084F9 RID: 34041
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x40084F9")]
private SynchronizedField<int> GKKFJOBILAH;
// Token: 0x040084FA RID: 34042
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x40084FA")]
private PlayerToolEquipSlot EDKECKOGGDD;
// Token: 0x040084FB RID: 34043
[Token(Token = "0x40084FB")]
private static string INIENPIPAEH = "AutoHolsteringToolOwnerDown";
}
}