Files
2026-06-04 11:42:34 +02:00

526 lines
15 KiB
C#

using System;
using Photon;
using RecRoom;
using UnityEngine;
// Token: 0x02000FA9 RID: 4009
[RequireComponent(typeof(Tool))]
public abstract class ToolGroupElement : global::Photon.MonoBehaviour
{
// Token: 0x17000FB2 RID: 4018
// (get) Token: 0x06021829 RID: 137257 RVA: 0x00926BF8 File Offset: 0x00924DF8
// (set) Token: 0x0602182A RID: 137258 RVA: 0x00926C30 File Offset: 0x00924E30
public ToolGroup BNEGCEJGOOP
{
get
{
PhotonView photonView = PhotonView.Find(this.PJOJMJIAAAD.CPIBGJLHLBL());
return (!(photonView != null)) ? null : photonView.GetComponent<ToolGroup>();
}
set
{
int num = ((!(value != null)) ? (-1) : value.OMNGGJICBBI.ADMBCINHJOG);
this.PJOJMJIAAAD.MEAINJPIECA(num);
}
}
// Token: 0x17000FB3 RID: 4019
// (get) Token: 0x0602182B RID: 137259 RVA: 0x00926C68 File Offset: 0x00924E68
// (set) Token: 0x0602182C RID: 137260 RVA: 0x00926C70 File Offset: 0x00924E70
public Vector3 HDMFDDFPKCC { get; protected set; }
// Token: 0x17000FB4 RID: 4020
// (get) Token: 0x0602182D RID: 137261 RVA: 0x00926C7C File Offset: 0x00924E7C
// (set) Token: 0x0602182E RID: 137262 RVA: 0x00926C84 File Offset: 0x00924E84
public Quaternion CELIIHLNDJL { get; protected set; }
// Token: 0x17000FB5 RID: 4021
// (get) Token: 0x0602182F RID: 137263 RVA: 0x00926C90 File Offset: 0x00924E90
// (set) Token: 0x06021830 RID: 137264 RVA: 0x00926C98 File Offset: 0x00924E98
public Vector3 GAEJAKHAGMO { get; protected set; }
// Token: 0x17000FB6 RID: 4022
// (get) Token: 0x06021831 RID: 137265 RVA: 0x00926CA4 File Offset: 0x00924EA4
// (set) Token: 0x06021832 RID: 137266 RVA: 0x00926CAC File Offset: 0x00924EAC
public Quaternion APGDOOPELOC { get; protected set; }
// Token: 0x17000FB7 RID: 4023
// (get) Token: 0x06021833 RID: 137267 RVA: 0x00926CB8 File Offset: 0x00924EB8
// (set) Token: 0x06021834 RID: 137268 RVA: 0x00926CC0 File Offset: 0x00924EC0
public Bounds AFPFMHEAKCO { get; private set; }
// Token: 0x17000FB8 RID: 4024
// (get) Token: 0x06021835 RID: 137269 RVA: 0x00926CCC File Offset: 0x00924ECC
public Tool BKDFLNGCINH
{
get
{
return this.tool;
}
}
// Token: 0x17000FB9 RID: 4025
// (get) Token: 0x06021836 RID: 137270 RVA: 0x00926CD4 File Offset: 0x00924ED4
public VisibleInCamera BNHLFGMBNPM
{
get
{
return this.visibleInCamera;
}
}
// Token: 0x17000FBA RID: 4026
// (get) Token: 0x06021837 RID: 137271 RVA: 0x00926CDC File Offset: 0x00924EDC
public bool GLJLDFKHFHI
{
get
{
return this.Group != null;
}
}
// Token: 0x17000FBB RID: 4027
// (get) Token: 0x06021838 RID: 137272 RVA: 0x00926CEC File Offset: 0x00924EEC
// (set) Token: 0x06021839 RID: 137273 RVA: 0x00926CF4 File Offset: 0x00924EF4
protected ToolGroupElement PJHHKFFJHPI
{
get
{
return this.MFKBHPBEHME;
}
set
{
if (this.MFKBHPBEHME == value)
{
return;
}
if (this.MFKBHPBEHME != null)
{
this.MFKBHPBEHME.DisplayAddToolHighlight(null);
}
this.MFKBHPBEHME = value;
if (this.MFKBHPBEHME != null)
{
this.MFKBHPBEHME.DisplayAddToolHighlight(this);
}
}
}
// Token: 0x17000FBC RID: 4028
// (get) Token: 0x0602183A RID: 137274 RVA: 0x00926D54 File Offset: 0x00924F54
// (set) Token: 0x0602183B RID: 137275 RVA: 0x00926D5C File Offset: 0x00924F5C
protected ToolGroup IGADOMNHFAH
{
get
{
return this.HFPFHJKMLLL;
}
set
{
if (this.HFPFHJKMLLL == value)
{
return;
}
if (this.HFPFHJKMLLL != null)
{
this.HFPFHJKMLLL.DisplayAddToolHighlight(null);
}
this.HFPFHJKMLLL = value;
if (this.HFPFHJKMLLL != null)
{
this.HFPFHJKMLLL.DisplayAddToolHighlight(this);
}
}
}
// Token: 0x17000FBD RID: 4029
// (get) Token: 0x0602183C RID: 137276 RVA: 0x00926DBC File Offset: 0x00924FBC
// (set) Token: 0x0602183D RID: 137277 RVA: 0x00926DE0 File Offset: 0x00924FE0
public bool DIAHDNICKAI
{
get
{
return this.frontGroupAddHighlightVisual != null && this.frontGroupAddHighlightVisual.activeSelf;
}
set
{
if (this.frontGroupAddHighlightVisual != null)
{
this.frontGroupAddHighlightVisual.SetActive(value);
}
}
}
// Token: 0x17000FBE RID: 4030
// (get) Token: 0x0602183E RID: 137278 RVA: 0x00926E00 File Offset: 0x00925000
// (set) Token: 0x0602183F RID: 137279 RVA: 0x00926E24 File Offset: 0x00925024
public bool MJGKJLJJMJP
{
get
{
return this.backGroupAddHighlightVisual != null && this.backGroupAddHighlightVisual.activeSelf;
}
set
{
if (this.backGroupAddHighlightVisual != null)
{
this.backGroupAddHighlightVisual.SetActive(value);
}
}
}
// Token: 0x17000FBF RID: 4031
// (get) Token: 0x06021840 RID: 137280 RVA: 0x00926E44 File Offset: 0x00925044
protected GroupSearch FJEBNIMKBAA
{
get
{
return (!this.BKDFLNGCINH.OHGPCMJMFGC || !(this.heldSearchCollider != null)) ? this.defaultSearchCollider : this.heldSearchCollider;
}
}
// Token: 0x17000FC0 RID: 4032
// (get) Token: 0x06021841 RID: 137281
protected abstract string PKPIMDKNHFD { get; }
// Token: 0x06021842 RID: 137282 RVA: 0x00926E78 File Offset: 0x00925078
protected override void Awake()
{
base.Awake();
this.HDMFDDFPKCC = Vector3.zero;
this.CELIIHLNDJL = Quaternion.identity;
this.DisplayAddToolHighlight(null);
this.BKDFLNGCINH.NIIJCJLOFLI += this.EELLGMIIMDA;
this.BKDFLNGCINH.PLPIAOHJBOB += this.NIPCADLOCJP;
this.BKDFLNGCINH.HIOGNMNKOEA += this.BLGAKDEIDJD;
this.BKDFLNGCINH.NEBMINOMJIB += this.POMFKCNJHJD;
this.BKDFLNGCINH.CustomSelectionForwarding = new Tool.FLFLGPHIMIM(this.ILOMLBKEIAL);
}
// Token: 0x06021843 RID: 137283 RVA: 0x00926F1C File Offset: 0x0092511C
protected virtual void Start()
{
Quaternion rotation = base.transform.rotation;
base.transform.rotation = Quaternion.identity;
Bounds colliderBounds = this.BKDFLNGCINH.OIFMPLDILLP;
this.AFPFMHEAKCO = new Bounds(base.transform.InverseTransformPoint(colliderBounds.center), colliderBounds.size);
base.transform.rotation = rotation;
this.BKDFLNGCINH.CADPGMLHFGH.DFCABCNHHOD += this.AHOHOOLFGNE;
if (this.frontGroupAddHighlightVisual != null)
{
Renderer[] array = this.frontGroupAddHighlightVisual.GetComponentsInChildren<Renderer>();
for (int i = 0; i < array.Length; i++)
{
this.BKDFLNGCINH.TryRemoveRenderer(array[i]);
}
}
if (this.backGroupAddHighlightVisual != null)
{
Renderer[] array = this.backGroupAddHighlightVisual.GetComponentsInChildren<Renderer>();
for (int j = 0; j < array.Length; j++)
{
this.BKDFLNGCINH.TryRemoveRenderer(array[j]);
}
}
}
// Token: 0x06021844 RID: 137284 RVA: 0x00927024 File Offset: 0x00925224
protected override void OnDestroy()
{
if (this.GLJLDFKHFHI && this.Group.BHCCHBHNHCG)
{
this.Group.AuthorityRemoveChild(this);
}
this.BKDFLNGCINH.NIIJCJLOFLI -= this.EELLGMIIMDA;
this.BKDFLNGCINH.PLPIAOHJBOB -= this.NIPCADLOCJP;
this.BKDFLNGCINH.HIOGNMNKOEA -= this.BLGAKDEIDJD;
this.BKDFLNGCINH.NEBMINOMJIB -= this.POMFKCNJHJD;
this.BKDFLNGCINH.CADPGMLHFGH.DFCABCNHHOD -= this.AHOHOOLFGNE;
base.OnDestroy();
}
// Token: 0x06021845 RID: 137285 RVA: 0x009270D8 File Offset: 0x009252D8
public virtual bool CanAddTool(ToolGroupElement ENBMEDIFBLM)
{
return true;
}
// Token: 0x06021846 RID: 137286 RVA: 0x009270DC File Offset: 0x009252DC
protected virtual void Update()
{
this.CLMEBOLMGMO();
if (!this.BKDFLNGCINH.OHGPCMJMFGC && (this.DIAHDNICKAI || this.MJGKJLJJMJP))
{
this.DIAHDNICKAI = false;
this.MJGKJLJJMJP = false;
}
}
// Token: 0x06021847 RID: 137287 RVA: 0x00927118 File Offset: 0x00925318
public void UpdateGroupLayout(Vector3 MFKJLFAOPOL, Quaternion OFANELJBNKP, Vector3 JDLNMKNOIEA, Quaternion AJFJFJGOIPN)
{
if (this.GLJLDFKHFHI)
{
this.HDMFDDFPKCC = MFKJLFAOPOL;
this.CELIIHLNDJL = OFANELJBNKP;
this.GAEJAKHAGMO = JDLNMKNOIEA;
this.APGDOOPELOC = AJFJFJGOIPN;
this.BKDFLNGCINH.CADPGMLHFGH.Pickup(this.Group.BKDFLNGCINH.transform, this.HDMFDDFPKCC, this.CELIIHLNDJL);
}
}
// Token: 0x06021848 RID: 137288 RVA: 0x0092717C File Offset: 0x0092537C
private void EELLGMIIMDA(Tool ENBMEDIFBLM)
{
if (this.GLJLDFKHFHI)
{
if (!this.Group.BHCCHBHNHCG && ENBMEDIFBLM.CAAOEAAJAIL.NHDDPGADJPJ)
{
this.Group.OMNGGJICBBI.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI);
}
ToolGroup group = this.Group;
this.Group.AuthorityRemoveChild(this);
if (group.LMMPDKCAKHN == 0)
{
group.AuthorityDestroy();
}
}
}
// Token: 0x06021849 RID: 137289 RVA: 0x009271F0 File Offset: 0x009253F0
private void AHOHOOLFGNE()
{
}
// Token: 0x0602184A RID: 137290 RVA: 0x009271F4 File Offset: 0x009253F4
private void NIPCADLOCJP(Tool ENBMEDIFBLM)
{
bool flag = this.GLJLDFKHFHI && !ENBMEDIFBLM.CAAOEAAJAIL.NHDDPGADJPJ;
if (flag)
{
this.UpdateGroupLayout(this.HDMFDDFPKCC, this.CELIIHLNDJL, this.GAEJAKHAGMO, this.APGDOOPELOC);
}
this.JHBMICMJHCL();
}
// Token: 0x0602184B RID: 137291 RVA: 0x00927248 File Offset: 0x00925448
private void CLMEBOLMGMO()
{
if (this.GLJLDFKHFHI || !base.BHCCHBHNHCG)
{
this.PJHHKFFJHPI = null;
this.IGADOMNHFAH = null;
return;
}
this.PJHHKFFJHPI = this.FJEBNIMKBAA.FindGroupableTool(this);
if (this.PJHHKFFJHPI != null)
{
this.IGADOMNHFAH = null;
return;
}
this.IGADOMNHFAH = this.FJEBNIMKBAA.FindGroup(this, null);
}
// Token: 0x0602184C RID: 137292 RVA: 0x009272B8 File Offset: 0x009254B8
protected void JHBMICMJHCL()
{
if (base.BHCCHBHNHCG)
{
if (this.IGADOMNHFAH != null)
{
if (!this.IGADOMNHFAH.BHCCHBHNHCG)
{
this.IGADOMNHFAH.OMNGGJICBBI.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI);
}
this.IGADOMNHFAH.AuthorityAddChild(this);
this.IGADOMNHFAH = null;
}
else if (this.PJHHKFFJHPI != null)
{
ToolGroup toolGroup = this.PJHHKFFJHPI.CreateNewGroup();
if (this.PJHHKFFJHPI.PJHHKFFJHPI == this)
{
this.PJHHKFFJHPI.PJHHKFFJHPI = null;
}
toolGroup.AuthorityAddChild(this.PJHHKFFJHPI);
toolGroup.AuthorityAddChild(this);
this.PJHHKFFJHPI = null;
}
}
}
// Token: 0x0602184D RID: 137293 RVA: 0x00927378 File Offset: 0x00925578
private void KDECKNEIAHC(ToolGroup NHBCFGHNDIM)
{
if (this.ADBKDGFNBFB != null && this.ADBKDGFNBFB.Length > 0)
{
for (int i = 0; i < this.ADBKDGFNBFB.Length; i++)
{
this.ADBKDGFNBFB[i].PJHHKFFJHPI = null;
}
NHBCFGHNDIM.AuthorityAddChildren(this.ADBKDGFNBFB);
}
}
// Token: 0x0602184E RID: 137294 RVA: 0x009273D4 File Offset: 0x009255D4
public ToolGroup CreateNewGroup()
{
if (IHFKMIAHBFP.HCHIDMOLLAD)
{
return this.NLIEDNDBINL();
}
this.IMANDPEFCHI();
return this.KPPLNKGIEEH();
}
// Token: 0x0602184F RID: 137295 RVA: 0x009273F4 File Offset: 0x009255F4
private void IMANDPEFCHI()
{
base.OMNGGJICBBI.RPC("RpcMasterCreateNewGroup", IHCPDNLJMMD.MasterClient, new object[] { IHFKMIAHBFP.JEFGMHBLLKI.BADMPMDONAH });
}
// Token: 0x06021850 RID: 137296 RVA: 0x00927420 File Offset: 0x00925620
private ToolGroup NLIEDNDBINL()
{
ToolGroup toolGroup = null;
if (IHFKMIAHBFP.HCHIDMOLLAD)
{
toolGroup = IHFKMIAHBFP.MBPEECMHBBK(this.PKPIMDKNHFD, base.transform.position, base.transform.rotation, 0, null).GetComponent<ToolGroup>();
}
return toolGroup;
}
// Token: 0x06021851 RID: 137297 RVA: 0x00927464 File Offset: 0x00925664
private ToolGroup KPPLNKGIEEH()
{
return IHFKMIAHBFP.ICHFNPOCOEJ(this.PKPIMDKNHFD, base.transform.position, base.transform.rotation, 0, null).GetComponent<ToolGroup>();
}
// Token: 0x06021852 RID: 137298 RVA: 0x00927490 File Offset: 0x00925690
private void ILBKGAIIBIA(ToolGroup NHBCFGHNDIM)
{
if (!NHBCFGHNDIM.BHCCHBHNHCG)
{
NHBCFGHNDIM.OMNGGJICBBI.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI);
}
if (!this.GLJLDFKHFHI || (this.Group.BKDFLNGCINH.OHGPCMJMFGC && !this.Group.BKDFLNGCINH.FICBNMJECCH.NHDDPGADJPJ))
{
NHBCFGHNDIM.AuthorityDestroy();
return;
}
ToolGroup group = this.Group;
NHBCFGHNDIM.AuthorityClone(group);
group.AuthorityDestroy();
}
// Token: 0x06021853 RID: 137299 RVA: 0x00927510 File Offset: 0x00925710
public virtual void DisplayAddToolHighlight(ToolGroupElement BNDJKGAIKDI)
{
this.DIAHDNICKAI = BNDJKGAIKDI != null;
this.MJGKJLJJMJP = false;
}
// Token: 0x06021854 RID: 137300 RVA: 0x00927528 File Offset: 0x00925728
private void BLGAKDEIDJD(Tool COMHEONOMBA)
{
if (this.GLJLDFKHFHI)
{
this.Group.OnChildInGroupHoverStart(this);
}
}
// Token: 0x06021855 RID: 137301 RVA: 0x00927544 File Offset: 0x00925744
private void POMFKCNJHJD(Tool COMHEONOMBA)
{
if (this.GLJLDFKHFHI)
{
this.Group.OnChildInGroupHoverEnd(this);
}
}
// Token: 0x06021856 RID: 137302 RVA: 0x00927560 File Offset: 0x00925760
private Tool ILOMLBKEIAL(Player OAKJPHFELHD, bool MFHKIFDBNOM)
{
if (!this.GLJLDFKHFHI)
{
return this.BKDFLNGCINH;
}
ToolGroupElement highlightedChildInGroup = this.Group.GetHighlightedChildInGroup(this, OAKJPHFELHD, MFHKIFDBNOM);
if (highlightedChildInGroup != null)
{
return highlightedChildInGroup.BKDFLNGCINH;
}
return this.Group.BKDFLNGCINH;
}
// Token: 0x06021857 RID: 137303 RVA: 0x009275AC File Offset: 0x009257AC
[BCENPNOIAOM]
protected void RpcMasterCreateNewGroup(int HADECPMDOEK)
{
LNJFBGIBLHA lnjfbgiblha = LNJFBGIBLHA.FDOBBLFBBBK(HADECPMDOEK);
if (IHFKMIAHBFP.HCHIDMOLLAD && lnjfbgiblha != null)
{
ToolGroup toolGroup = this.NLIEDNDBINL();
if (toolGroup != null)
{
base.OMNGGJICBBI.RPC("RpcOnMasterGroupCreation", lnjfbgiblha, new object[] { toolGroup.OMNGGJICBBI.ADMBCINHJOG });
}
}
}
// Token: 0x06021858 RID: 137304 RVA: 0x00927610 File Offset: 0x00925810
[BCENPNOIAOM]
protected void RpcOnMasterGroupCreation(int DFCDHLLDDIG)
{
PhotonView photonView = PhotonView.Find(DFCDHLLDDIG);
ToolGroup toolGroup = ((!(photonView != null)) ? null : photonView.GetComponent<ToolGroup>());
if (toolGroup != null)
{
this.ILBKGAIIBIA(toolGroup);
}
}
// Token: 0x04005718 RID: 22296
[SerializeField]
[Header("Groupable Tool")]
private GameObject frontGroupAddHighlightVisual;
// Token: 0x04005719 RID: 22297
[SerializeField]
private GameObject backGroupAddHighlightVisual;
// Token: 0x0400571A RID: 22298
[SerializeField]
protected GroupSearch defaultSearchCollider;
// Token: 0x0400571B RID: 22299
[SerializeField]
protected GroupSearch heldSearchCollider;
// Token: 0x0400571C RID: 22300
[ENMFCLPAKBJ(FOGKDGELKHN.Self, false)]
[SerializeField]
private Tool tool;
// Token: 0x0400571D RID: 22301
[ENMFCLPAKBJ(FOGKDGELKHN.Self, false)]
[SerializeField]
private VisibleInCamera visibleInCamera;
// Token: 0x0400571E RID: 22302
private LHLLJPPCDKA<int> PJOJMJIAAAD;
// Token: 0x0400571F RID: 22303
[NonSerialized]
public ToolGroup Group;
// Token: 0x04005725 RID: 22309
private ToolGroupElement[] ADBKDGFNBFB;
// Token: 0x04005726 RID: 22310
private ToolGroupElement MFKBHPBEHME;
// Token: 0x04005727 RID: 22311
private ToolGroup HFPFHJKMLLL;
}