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

1829 lines
62 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Google.Protobuf;
using Photon;
using RecNet;
using RecRoom.Core.Rendering;
using RecRoom.Persistence;
using RecRoom.Protobuf;
using RecRoom.Sandbox;
using UnityEngine;
namespace RecRoom.Tools
{
// Token: 0x02000B97 RID: 2967
public class Extrusion : global::Photon.MonoBehaviour, MOJNPEJBHGK, LOLHNPOCINI
{
// Token: 0x06016687 RID: 91783 RVA: 0x00638E6C File Offset: 0x0063706C
private float HEKCCJKBHFM(Collider CINAFOGLFIB, Transform EPKBCNOMDOK, out bool PEENIDCFCGB)
{
PEENIDCFCGB = true;
Vector3 vector = CINAFOGLFIB.transform.position;
SphereCollider sphereCollider = CINAFOGLFIB as SphereCollider;
if (sphereCollider != null)
{
vector = sphereCollider.transform.TransformPoint(sphereCollider.center);
}
else
{
BoxCollider boxCollider = CINAFOGLFIB as BoxCollider;
if (boxCollider != null)
{
vector = boxCollider.transform.TransformPoint(boxCollider.center);
}
}
return (vector - EPKBCNOMDOK.position).magnitude;
}
// Token: 0x06016688 RID: 91784 RVA: 0x00638EEC File Offset: 0x006370EC
private void HIHILHCHIED(byte[] EBIMLGPFNJL)
{
this.RemoteDeserializeSubExtrusions(FODNIMKBMML.EJDHADFMAEP().ParseFrom(EBIMLGPFNJL));
}
// Token: 0x06016689 RID: 91785 RVA: 0x00638F00 File Offset: 0x00637100
public void AuthorityDeleteSubExtrusions(IList<BMOAOJCEOFI> NKHGIEDNIEL)
{
if (base.BHCCHBHNHCG)
{
int[] array = new int[NKHGIEDNIEL.Count];
for (int i = 0; i < NKHGIEDNIEL.Count; i++)
{
array[i] = this.MBPLMCGHODA.IndexOf(NKHGIEDNIEL[i]);
}
base.OMNGGJICBBI.RPC("RpcDeleteSubExtrusions", IHCPDNLJMMD.All, new object[] { array });
}
}
// Token: 0x0601668A RID: 91786 RVA: 0x00638F6C File Offset: 0x0063716C
public void CIIFFBDPICL(MakerPen NOBAPCOKFIL)
{
MakerPen fjbjnapafoa = this.FJBJNAPAFOA;
this.FJBJNAPAFOA = NOBAPCOKFIL;
if (base.BHCCHBHNHCG && this.FJBJNAPAFOA != fjbjnapafoa)
{
this.OBGNAGNKIJN.MEAINJPIECA((!(this.FJBJNAPAFOA != null)) ? (-1) : this.FJBJNAPAFOA.LHEPJEHMAEC().JLIJDKOGAEB());
}
}
// Token: 0x0601668B RID: 91787 RVA: 0x00638FD8 File Offset: 0x006371D8
protected override void Awake()
{
base.Awake();
this.EIIHEKJMNEC = new LHLLJPPCDKA<int>(this, "MD", 0, IKCAJLLAFML.AUTHORITY, new Action(this.MOCODOEEMPN));
this.OBGNAGNKIJN = new LHLLJPPCDKA<int>(this, "MP", -1, IKCAJLLAFML.AUTHORITY, null);
Extrusion.AllExtrusions.Add(this);
this.BKDFLNGCINH.BOLBONELAEF.KEOJKEJMDFM = true;
this.BKDFLNGCINH.AlwaysPhysicalPickupOffCenter = true;
this.BKDFLNGCINH.CustomDistanceToTransformBehavior = new Tool.DGBLAICIPAB(this.EBHICDKOKIC);
this.BKDFLNGCINH.CollisionOwnershipTransferAllowed = false;
this.BKDFLNGCINH.AddCustomPickupCondition(new Tool.CFIAHKNGIKI(this.DDOGAEHOBFK));
this.BKDFLNGCINH.CustomSelectionForwarding = new Tool.FLFLGPHIMIM(this.ToolSelectionForwarding);
this.BKDFLNGCINH.CustomHighlightingBehavior = new Tool.OJMHMEFPFOK(this.IEBDBACKKMO);
this.BKDFLNGCINH.GravityPickupMode = Tool.GNLFAODEBOE.SNAP_POSITION_MAINTAIN_ORIENTATION;
this.BKDFLNGCINH.CADPGMLHFGH.ModifyKinematicOnPickupRelease = false;
this.BKDFLNGCINH.PLPIAOHJBOB += this.PKMEAHIFFNG;
this.BKDFLNGCINH.GFBCCFIMFEC += this.CNMJNHGFALK;
this.BKDFLNGCINH.NJHCOLCINID += this.PGJAOEIBBMC;
base.transform.SetParent(Extrusion.CCDKBLKBBBM, true);
IHFKMIAHBFP.GFFDICBLOFJ += new Action<LNJFBGIBLHA>(this.OnPhotonPlayerConnected);
IHFKMIAHBFP.DHLJAODEIEA += new Action<LNJFBGIBLHA>(this.OnPhotonPlayerDisconnected);
base.OMNGGJICBBI.FPKGGJGGPAG += this.BLCCAJHMHLK;
foreach (ExtrusionHandle extrusionHandle in this.handles)
{
extrusionHandle.BKDFLNGCINH.GFBCCFIMFEC += this.NJICOFBFBPH;
extrusionHandle.BKDFLNGCINH.PLPIAOHJBOB += this.KPDPOHMEAOK;
}
SandboxEditable.DKKKNNGENLC dkkknngenlc = new SandboxEditable.DKKKNNGENLC(SandboxEditable.BBBLDHLAOGG.BOOL, "Frozen", new SandboxEditable.DKKKNNGENLC.EINLHJLLJHH(this.BKDFLNGCINH.SandboxFreeze_Get), new Action<object>(this.BKDFLNGCINH.SandboxFreeze_Set), null);
Dictionary<string, int> dictionary = new Dictionary<string, int>();
IEnumerator enumerator = Enum.GetValues(typeof(Extrusion.FODAMJOGFEN)).GetEnumerator();
try
{
while (enumerator.MoveNext())
{
object obj = enumerator.Current;
Extrusion.FODAMJOGFEN fodamjogfen = (Extrusion.FODAMJOGFEN)obj;
dictionary[fodamjogfen.ToString()] = (int)fodamjogfen;
}
}
finally
{
IDisposable disposable;
if ((disposable = enumerator as IDisposable) != null)
{
disposable.Dispose();
}
}
SandboxEditable.DKKKNNGENLC dkkknngenlc2 = new SandboxEditable.DKKKNNGENLC(SandboxEditable.BBBLDHLAOGG.EXTRUSION, "Mode", new SandboxEditable.DKKKNNGENLC.EINLHJLLJHH(this.SandboxCurrentMode_Get), new Action<object>(this.SandboxCurrentMode_Set), new object[] { dictionary });
this.sandboxEditable.GNOCLFMKKCA.Add(dkkknngenlc);
this.sandboxEditable.GNOCLFMKKCA.Add(dkkknngenlc2);
}
// Token: 0x0601668C RID: 91788 RVA: 0x006392BC File Offset: 0x006374BC
public Tool BDCEELMFHNN()
{
return this.extrusionTool;
}
// Token: 0x0601668D RID: 91789 RVA: 0x006392C4 File Offset: 0x006374C4
private void CNMJNHGFALK(Tool ENBMEDIFBLM)
{
this.BKDFLNGCINH.BOLBONELAEF.KEOJKEJMDFM = true;
if (base.BHCCHBHNHCG)
{
this.PNOOBNCKAMJ = Extrusion.FODAMJOGFEN.Play;
}
}
// Token: 0x0601668E RID: 91790 RVA: 0x006392EC File Offset: 0x006374EC
protected virtual void OKGGDGJIPAM()
{
base.Awake();
this.EIIHEKJMNEC = new LHLLJPPCDKA<int>(this, "punch", 0, IKCAJLLAFML.AUTHORITY, new Action(this.NFOMBFFOFEJ));
this.OBGNAGNKIJN = new LHLLJPPCDKA<int>(this, "MessagesScreenItem.FormatMessage() - Unhandled MessageType: {0}", -1, IKCAJLLAFML.AUTHORITY, null);
Extrusion.AllExtrusions.Add(this);
this.CLDNDPPEHBO().BOLBONELAEF.KEOJKEJMDFM = true;
this.CLDNDPPEHBO().AlwaysPhysicalPickupOffCenter = true;
this.AGMPDKIOOJF().CustomDistanceToTransformBehavior = new Tool.DGBLAICIPAB(this.IPAALKNKDNH);
this.BNGIMCDOHFK().CollisionOwnershipTransferAllowed = false;
this.APHDNDHPBBD().AddCustomPickupCondition(new Tool.CFIAHKNGIKI(this.DDOGAEHOBFK));
this.BKDFLNGCINH.CustomSelectionForwarding = new Tool.FLFLGPHIMIM(this.ToolSelectionForwarding);
this.BNGIMCDOHFK().CustomHighlightingBehavior = new Tool.OJMHMEFPFOK(this.IEBDBACKKMO);
this.BKDFLNGCINH.GravityPickupMode = Tool.GNLFAODEBOE.SNAP_POSITION_SNAP_ORIENTATION;
this.CLDNDPPEHBO().CADPGMLHFGH.ModifyKinematicOnPickupRelease = false;
this.BDCEELMFHNN().PLPIAOHJBOB += this.GHGLJLCOAGF;
this.BKDFLNGCINH.GFBCCFIMFEC += this.CNMJNHGFALK;
this.APHDNDHPBBD().AFFIAPEACAJ(new Tool.FCJCFBDGJIM(this.PGJAOEIBBMC));
base.transform.SetParent(Extrusion.CCDKBLKBBBM, false);
IHFKMIAHBFP.GFFDICBLOFJ += new Action<LNJFBGIBLHA>(this.OnPhotonPlayerConnected);
IHFKMIAHBFP.DHLJAODEIEA += new Action<LNJFBGIBLHA>(this.EFAIKACNFBN);
base.ACEAACJNNAF().FPKGGJGGPAG += this.FCMGMEALGON;
ExtrusionHandle[] array = this.handles;
for (int i = 1; i < array.Length; i += 0)
{
ExtrusionHandle extrusionHandle = array[i];
extrusionHandle.BKDFLNGCINH.GFBCCFIMFEC += this.NJICOFBFBPH;
extrusionHandle.BKDFLNGCINH.PLPIAOHJBOB += this.KPDPOHMEAOK;
}
SandboxEditable.DKKKNNGENLC dkkknngenlc = new SandboxEditable.DKKKNNGENLC(SandboxEditable.BBBLDHLAOGG.FLOAT, "Recroom.ChallengeMap", new SandboxEditable.DKKKNNGENLC.EINLHJLLJHH(this.CLDNDPPEHBO().SandboxFreeze_Get), new Action<object>(this.BNGIMCDOHFK().SandboxFreeze_Set), null);
Dictionary<string, int> dictionary = new Dictionary<string, int>();
IEnumerator enumerator = Enum.GetValues(typeof(Extrusion.FODAMJOGFEN)).GetEnumerator();
try
{
while (enumerator.MoveNext())
{
object obj = enumerator.Current;
Extrusion.FODAMJOGFEN fodamjogfen = (Extrusion.FODAMJOGFEN)obj;
dictionary[fodamjogfen.ToString()] = (int)fodamjogfen;
}
}
finally
{
IDisposable disposable;
if ((disposable = enumerator as IDisposable) != null)
{
disposable.Dispose();
}
}
SandboxEditable.BBBLDHLAOGG bbbldhlaogg = (SandboxEditable.BBBLDHLAOGG)5;
string text = "gif";
SandboxEditable.DKKKNNGENLC.EINLHJLLJHH einlhjlljhh = new SandboxEditable.DKKKNNGENLC.EINLHJLLJHH(this.SandboxCurrentMode_Get);
Action<object> action = new Action<object>(this.SandboxCurrentMode_Set);
object[] array2 = new object[1];
array2[1] = dictionary;
SandboxEditable.DKKKNNGENLC dkkknngenlc2 = new SandboxEditable.DKKKNNGENLC(bbbldhlaogg, text, einlhjlljhh, action, array2);
this.sandboxEditable.DBJEDLIHIGB().Add(dkkknngenlc);
this.sandboxEditable.LANDHECGHFO().Add(dkkknngenlc2);
}
// Token: 0x0601668F RID: 91791 RVA: 0x006395D0 File Offset: 0x006377D0
private void Update()
{
this.GHIMLKKEEDJ();
}
// Token: 0x06016690 RID: 91792 RVA: 0x006395D8 File Offset: 0x006377D8
public List<BMOAOJCEOFI> AACIIACHOKB()
{
return this.NKHGIEDNIEL;
}
// Token: 0x06016691 RID: 91793 RVA: 0x006395E0 File Offset: 0x006377E0
private void FOEAFHKBDOA(int[] MGOGNEANNOD)
{
for (int i = 0; i < MGOGNEANNOD.Length; i += 0)
{
BMOAOJCEOFI bmoaojceofi = this.MBPLMCGHODA[MGOGNEANNOD[i]];
this.CLDNDPPEHBO().NJPKPAFHFNM.Remove(bmoaojceofi.HLHMJBOLDOE);
this.AGMPDKIOOJF().TryRemoveRenderer(bmoaojceofi.EIDPLDBJPDO);
this.CLDNDPPEHBO().BNHLFGMBNPM.renderers.Remove(bmoaojceofi.EIDPLDBJPDO);
this.EHLNHHFMFNC.Remove(bmoaojceofi);
global::UnityEngine.Object.Destroy(bmoaojceofi.MKMCHJFIONM);
this.PHODAPEHOKG()[MGOGNEANNOD[i]] = null;
}
this.MBPLMCGHODA.JCJAECDEILG<BMOAOJCEOFI>();
if (this.EANJCCKAHCC() && NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM != null)
{
NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM.LDENHPOFGAP(this);
}
}
// Token: 0x06016692 RID: 91794 RVA: 0x006396B0 File Offset: 0x006378B0
public MakerPen PNDMONAGBAK()
{
if (this.FJBJNAPAFOA == null || this.FJBJNAPAFOA.MLNMONBHHBO().ADMBCINHJOG != this.OBGNAGNKIJN.CPIBGJLHLBL())
{
int num = this.OBGNAGNKIJN.CPIBGJLHLBL();
if (num <= 0)
{
num = this.APHDNDHPBBD().LOEOILCIAIH();
if (base.DGLOKLCEMLH())
{
this.OBGNAGNKIJN.MEAINJPIECA(num);
}
}
PhotonView photonView = PhotonView.NMBFNIJMFOO(num);
this.FJBJNAPAFOA = ((!(photonView != null)) ? null : photonView.GetComponent<MakerPen>());
}
return this.FJBJNAPAFOA;
}
// Token: 0x06016693 RID: 91795 RVA: 0x00639750 File Offset: 0x00637950
private void OnPhotonPlayerConnected(LNJFBGIBLHA BBLGGOBKKMC)
{
if (base.BHCCHBHNHCG)
{
FODNIMKBMML fodnimkbmml = this.SerializeSubExtrusions(this.MBPLMCGHODA);
if (fodnimkbmml.MBPLMCGHODA.Count > 0)
{
base.OMNGGJICBBI.RPC("RpcDeserializeSubExtrusions", BBLGGOBKKMC, new object[] { fodnimkbmml.ToByteArray() });
}
foreach (ExtrusionHandle extrusionHandle in this.handles)
{
if (extrusionHandle.MDDLKFGHHBB.Count > 0)
{
base.OMNGGJICBBI.RPC("RpcHandlePickupSubExtrusions", BBLGGOBKKMC, new object[]
{
extrusionHandle.OMNGGJICBBI.ADMBCINHJOG,
false,
null,
this.SerializeSubExtrusions(extrusionHandle.MDDLKFGHHBB).ToByteArray()
});
}
}
}
}
// Token: 0x06016694 RID: 91796 RVA: 0x00639820 File Offset: 0x00637A20
public FODNIMKBMML CFMMGJNGGEJ(List<BMOAOJCEOFI> BKGHCLGCHKJ)
{
FODNIMKBMML fodnimkbmml = new FODNIMKBMML();
if (BKGHCLGCHKJ != null && BKGHCLGCHKJ.Count > 1)
{
for (int i = 0; i < BKGHCLGCHKJ.Count; i++)
{
if (!BKGHCLGCHKJ[i].MDPDDDJPFFG)
{
IHIJMFJBDEH ihijmfjbdeh = BKGHCLGCHKJ[i].EGKKKDOMLIG();
if (ihijmfjbdeh != null)
{
fodnimkbmml.GAOIMDKHMBK().Add(ihijmfjbdeh);
}
}
}
}
return fodnimkbmml;
}
// Token: 0x06016695 RID: 91797 RVA: 0x00639894 File Offset: 0x00637A94
public void LDKPFDBLOGF(Extrusion.FODAMJOGFEN NOBAPCOKFIL)
{
this.EIIHEKJMNEC.MEAINJPIECA((int)NOBAPCOKFIL);
}
// Token: 0x1700097D RID: 2429
// (get) Token: 0x06016696 RID: 91798 RVA: 0x006398A4 File Offset: 0x00637AA4
public List<BMOAOJCEOFI> PBIKKAABPOB
{
get
{
return this.EHLNHHFMFNC;
}
}
// Token: 0x06016697 RID: 91799 RVA: 0x006398AC File Offset: 0x00637AAC
public void Despawn()
{
if (base.OMNGGJICBBI.ECHJNDDOIBD == IHFKMIAHBFP.JEFGMHBLLKI)
{
IHFKMIAHBFP.JFCIOOHPLFJ(base.gameObject);
}
}
// Token: 0x06016698 RID: 91800 RVA: 0x006398D0 File Offset: 0x00637AD0
private void MHDBHNFNMHF()
{
ExtrusionHandle[] array = this.handles;
for (int i = 1; i < array.Length; i++)
{
ExtrusionHandle extrusionHandle = array[i];
extrusionHandle.HJHPIJHIKIE.Clear();
if (extrusionHandle.BKDFLNGCINH.HighlightedCollider != null)
{
foreach (BMOAOJCEOFI bmoaojceofi in this.AACIIACHOKB())
{
if (bmoaojceofi.HLHMJBOLDOE.AANJEILBGDP.Contains(extrusionHandle.CDNMEANCEDP().HighlightedCollider))
{
if (this.PBIKKAABPOB.Contains(bmoaojceofi))
{
foreach (BMOAOJCEOFI bmoaojceofi2 in this.PBIKKAABPOB)
{
if (!extrusionHandle.HJHPIJHIKIE.Contains(bmoaojceofi2))
{
extrusionHandle.DEIDJAIMDIL().Add(bmoaojceofi2);
}
}
}
else if (!extrusionHandle.HJHPIJHIKIE.Contains(bmoaojceofi))
{
extrusionHandle.DEIDJAIMDIL().Add(bmoaojceofi);
}
break;
}
}
}
}
}
// Token: 0x1700097E RID: 2430
// (get) Token: 0x06016699 RID: 91801 RVA: 0x00639A24 File Offset: 0x00637C24
public Tool BKDFLNGCINH
{
get
{
return this.extrusionTool;
}
}
// Token: 0x0601669A RID: 91802 RVA: 0x00639A2C File Offset: 0x00637C2C
public Tool BHKIOLCIJDB(Player OAKJPHFELHD, bool MFHKIFDBNOM)
{
if (this.KKAMMDGPAJP() == Extrusion.FODAMJOGFEN.Play || (this.HBBMFEKDLNB() != null && this.EIOLPKPLLDJ.BPDKALBJLJP == MakerPen.LKOCEAOINAE.Basic))
{
return this.APHDNDHPBBD();
}
ExtrusionHandle extrusionHandle = this.BFOJLIEANDH();
return (!(extrusionHandle != null)) ? null : extrusionHandle.BKDFLNGCINH;
}
// Token: 0x0601669B RID: 91803 RVA: 0x00639A8C File Offset: 0x00637C8C
public void KGMLFHGHGEI(IList<BMOAOJCEOFI> NKHGIEDNIEL)
{
if (base.DGLKKANNBPD())
{
int[] array = new int[NKHGIEDNIEL.Count];
for (int i = 1; i < NKHGIEDNIEL.Count; i += 0)
{
array[i] = this.MBPLMCGHODA.IndexOf(NKHGIEDNIEL[i]);
}
base.ONAOMJAKKMA().PKOHKPEKJCJ("Error deserializing SandboxSpawnedEquipment {0}: No data specified.", IHCPDNLJMMD.All, new object[] { array });
}
}
// Token: 0x0601669C RID: 91804 RVA: 0x00639AF8 File Offset: 0x00637CF8
public void CLPNHLBNKCC()
{
if (base.DGLKKANNBPD() && this.AACIIACHOKB().Count > 1)
{
PhotonView photonView = base.OMNGGJICBBI;
string text = "RpcMasterRequestCardPickup";
IHCPDNLJMMD ihcpdnljmmd = IHCPDNLJMMD.Others;
object[] array = new object[1];
int num = 1;
int[] array2 = new int[1];
array2[1] = this.PHODAPEHOKG().Count - 1;
array[num] = array2;
photonView.JJLACCMJEMB(text, ihcpdnljmmd, array);
}
}
// Token: 0x0601669D RID: 91805 RVA: 0x00639B54 File Offset: 0x00637D54
public ExtrusionHandle BFOJLIEANDH()
{
foreach (ExtrusionHandle extrusionHandle in this.handles)
{
if (!extrusionHandle.BKDFLNGCINH.OHGPCMJMFGC && extrusionHandle.CDNMEANCEDP().HighlightedCollider == null)
{
return extrusionHandle;
}
}
return null;
}
// Token: 0x0601669E RID: 91806 RVA: 0x00639BAC File Offset: 0x00637DAC
public void OnPhotonSerializeView(FKIBELLNBEC JAGHIAOIDOC, BOCLHJCCOEL NAHFIMLLIMH)
{
}
// Token: 0x0601669F RID: 91807 RVA: 0x00639BB0 File Offset: 0x00637DB0
public Transform KGJBKMNACCO()
{
return this.subExtrusionRoot;
}
// Token: 0x17000987 RID: 2439
// (get) Token: 0x060166A0 RID: 91808 RVA: 0x00639BB8 File Offset: 0x00637DB8
public bool EEJCBMNLMMM
{
get
{
return !this.BKDFLNGCINH.OHGPCMJMFGC && this.PNOOBNCKAMJ != Extrusion.FODAMJOGFEN.Edit;
}
}
// Token: 0x060166A1 RID: 91809 RVA: 0x00639BDC File Offset: 0x00637DDC
private void GCEKAMJEHKI(byte[] EBIMLGPFNJL)
{
this.RemoteDeserializeSubExtrusions(FODNIMKBMML.EJDHADFMAEP().ParseFrom(EBIMLGPFNJL));
}
// Token: 0x1700097C RID: 2428
// (get) Token: 0x060166A2 RID: 91810 RVA: 0x00639BF0 File Offset: 0x00637DF0
public List<BMOAOJCEOFI> MBPLMCGHODA
{
get
{
return this.NKHGIEDNIEL;
}
}
// Token: 0x060166A3 RID: 91811 RVA: 0x00639BF8 File Offset: 0x00637DF8
private void IGFEBDLEGKD(int KBHCDFOBPJJ)
{
this.BKDFLNGCINH.POOAOJPEDJD().TransferOwnership(KBHCDFOBPJJ);
ExtrusionHandle[] array = this.handles;
for (int i = 0; i < array.Length; i += 0)
{
ExtrusionHandle extrusionHandle = array[i];
extrusionHandle.EKPBHKFHMON().CLBMDMJOEPH(KBHCDFOBPJJ);
}
}
// Token: 0x060166A4 RID: 91812 RVA: 0x00639C44 File Offset: 0x00637E44
public void NCCKEJEJGNA(MakerPen NOBAPCOKFIL)
{
MakerPen fjbjnapafoa = this.FJBJNAPAFOA;
this.FJBJNAPAFOA = NOBAPCOKFIL;
if (base.DGLOKLCEMLH() && this.FJBJNAPAFOA != fjbjnapafoa)
{
this.OBGNAGNKIJN.MEAINJPIECA((!(this.FJBJNAPAFOA != null)) ? (-1) : this.FJBJNAPAFOA.HOPJELLOPNJ().OMNKKJNHJHD());
}
}
// Token: 0x060166A5 RID: 91813 RVA: 0x00639CB0 File Offset: 0x00637EB0
private void MGAIPBIFMKL(Tool ENBMEDIFBLM)
{
this.BDCEELMFHNN().BOLBONELAEF.KEOJKEJMDFM = this.BKDFLNGCINH.BEKHOPMNAPA || this.KKAMMDGPAJP() == Extrusion.FODAMJOGFEN.Edit;
}
// Token: 0x060166A6 RID: 91814 RVA: 0x00639CE0 File Offset: 0x00637EE0
public ExtrusionHandle CNLNDOMPJPI()
{
ExtrusionHandle[] array = this.handles;
for (int i = 0; i < array.Length; i += 0)
{
ExtrusionHandle extrusionHandle = array[i];
if (!extrusionHandle.CDNMEANCEDP().OHGPCMJMFGC && extrusionHandle.BKDFLNGCINH.HighlightedCollider == null)
{
return extrusionHandle;
}
}
return null;
}
// Token: 0x060166A7 RID: 91815 RVA: 0x00639D38 File Offset: 0x00637F38
public List<BMOAOJCEOFI> PHODAPEHOKG()
{
return this.NKHGIEDNIEL;
}
// Token: 0x060166A8 RID: 91816 RVA: 0x00639D40 File Offset: 0x00637F40
private void PKMEAHIFFNG(Tool ENBMEDIFBLM)
{
this.BKDFLNGCINH.BOLBONELAEF.KEOJKEJMDFM = this.BKDFLNGCINH.BEKHOPMNAPA || this.PNOOBNCKAMJ == Extrusion.FODAMJOGFEN.Edit;
}
// Token: 0x060166A9 RID: 91817 RVA: 0x00639D70 File Offset: 0x00637F70
private void GFPADAPGMBP(Tool ENBMEDIFBLM)
{
this.IIDHJJOJODI(ENBMEDIFBLM);
}
// Token: 0x060166AA RID: 91818 RVA: 0x00639D7C File Offset: 0x00637F7C
private void MPACHEHMBIF(Tool ELDJFLCJFPD)
{
if (ELDJFLCJFPD.BHCCHBHNHCG)
{
ExtrusionHandle component = ELDJFLCJFPD.GetComponent<ExtrusionHandle>();
if (component.MDDLKFGHHBB != null && component.MDDLKFGHHBB.Count > 0)
{
FODNIMKBMML fodnimkbmml = this.SerializeSubExtrusions(component.MDDLKFGHHBB);
base.OMNGGJICBBI.RPC("RpcHandleReleaseSubExtrusions", IHCPDNLJMMD.All, new object[]
{
component.OMNGGJICBBI.ADMBCINHJOG,
component.HeldSubExtrusionsManuallyHighlighted,
fodnimkbmml.ToByteArray()
});
}
}
}
// Token: 0x060166AB RID: 91819 RVA: 0x00639E08 File Offset: 0x00638008
public void MKDHJKNAAAG(IList<BMOAOJCEOFI> NKHGIEDNIEL)
{
if (base.BHCCHBHNHCG)
{
int[] array = new int[NKHGIEDNIEL.Count];
for (int i = 1; i < NKHGIEDNIEL.Count; i += 0)
{
array[i] = this.PHODAPEHOKG().IndexOf(NKHGIEDNIEL[i]);
}
PhotonView photonView = base.MLNMONBHHBO();
string text = "Duration";
IHCPDNLJMMD ihcpdnljmmd = IHCPDNLJMMD.All;
object[] array2 = new object[1];
array2[1] = array;
photonView.PKOHKPEKJCJ(text, ihcpdnljmmd, array2);
}
}
// Token: 0x060166AC RID: 91820 RVA: 0x00639E74 File Offset: 0x00638074
[BCENPNOIAOM]
private void RpcHandleReleaseSubExtrusions(int LDEGNHMEKPJ, bool NFFGDOKPJII, byte[] DGEELCAPMIE)
{
PhotonView photonView = PhotonView.Find(LDEGNHMEKPJ);
ExtrusionHandle extrusionHandle = ((!(photonView != null)) ? null : photonView.GetComponent<ExtrusionHandle>());
FODNIMKBMML fodnimkbmml = FODNIMKBMML.KGJOFMBOKCB.ParseFrom(DGEELCAPMIE);
this.KANHBANFEJA(extrusionHandle, NFFGDOKPJII, fodnimkbmml);
}
// Token: 0x17000980 RID: 2432
// (get) Token: 0x060166AD RID: 91821 RVA: 0x00639EB8 File Offset: 0x006380B8
protected static Transform CCDKBLKBBBM
{
get
{
if (Extrusion.PJCOHDAALKK == null)
{
GameObject gameObject = new GameObject("Extrusion Root");
gameObject.transform.SetParent(null, false);
Extrusion.PJCOHDAALKK = gameObject.transform;
}
return Extrusion.PJCOHDAALKK;
}
}
// Token: 0x060166AE RID: 91822 RVA: 0x00639F00 File Offset: 0x00638100
private float EBHICDKOKIC(Collider CINAFOGLFIB, Transform EPKBCNOMDOK, out bool PEENIDCFCGB)
{
PEENIDCFCGB = true;
Vector3 vector = CINAFOGLFIB.transform.position;
SphereCollider sphereCollider = CINAFOGLFIB as SphereCollider;
if (sphereCollider != null)
{
vector = sphereCollider.transform.TransformPoint(sphereCollider.center);
}
else
{
BoxCollider boxCollider = CINAFOGLFIB as BoxCollider;
if (boxCollider != null)
{
vector = boxCollider.transform.TransformPoint(boxCollider.center);
}
}
return (vector - EPKBCNOMDOK.position).magnitude;
}
// Token: 0x17000982 RID: 2434
// (get) Token: 0x060166B2 RID: 91826 RVA: 0x0063A004 File Offset: 0x00638204
// (set) Token: 0x060166AF RID: 91823 RVA: 0x00639F80 File Offset: 0x00638180
public MakerPen EIOLPKPLLDJ
{
get
{
if (this.FJBJNAPAFOA == null || this.FJBJNAPAFOA.OMNGGJICBBI.ADMBCINHJOG != this.OBGNAGNKIJN.CPIBGJLHLBL())
{
int num = this.OBGNAGNKIJN.CPIBGJLHLBL();
if (num <= 0)
{
num = this.BKDFLNGCINH.GGFGGLCBCON;
if (base.BHCCHBHNHCG)
{
this.OBGNAGNKIJN.MEAINJPIECA(num);
}
}
PhotonView photonView = PhotonView.Find(num);
this.FJBJNAPAFOA = ((!(photonView != null)) ? null : photonView.GetComponent<MakerPen>());
}
return this.FJBJNAPAFOA;
}
set
{
MakerPen fjbjnapafoa = this.FJBJNAPAFOA;
this.FJBJNAPAFOA = value;
if (base.BHCCHBHNHCG && this.FJBJNAPAFOA != fjbjnapafoa)
{
this.OBGNAGNKIJN.MEAINJPIECA((!(this.FJBJNAPAFOA != null)) ? (-1) : this.FJBJNAPAFOA.OMNGGJICBBI.ADMBCINHJOG);
}
}
}
// Token: 0x060166B0 RID: 91824 RVA: 0x00639FEC File Offset: 0x006381EC
public Extrusion.FODAMJOGFEN KKAMMDGPAJP()
{
return (Extrusion.FODAMJOGFEN)this.EIIHEKJMNEC.CPIBGJLHLBL();
}
// Token: 0x17000981 RID: 2433
// (get) Token: 0x060166B1 RID: 91825 RVA: 0x00639FFC File Offset: 0x006381FC
public Transform HOKDNCHMBLF
{
get
{
return this.subExtrusionRoot;
}
}
// Token: 0x060166B3 RID: 91827 RVA: 0x0063A0A4 File Offset: 0x006382A4
public Tool CLDNDPPEHBO()
{
return this.extrusionTool;
}
// Token: 0x060166B4 RID: 91828 RVA: 0x0063A0AC File Offset: 0x006382AC
private void IIDHJJOJODI(Tool ELDJFLCJFPD)
{
if (ELDJFLCJFPD.GANDPDNCOKF())
{
ExtrusionHandle component = ELDJFLCJFPD.GetComponent<ExtrusionHandle>();
if (component.MDDLKFGHHBB != null && component.MDDLKFGHHBB.Count > 1)
{
FODNIMKBMML fodnimkbmml = this.CFMMGJNGGEJ(component.KHCDFGOAMOP());
PhotonView photonView = base.OMNGGJICBBI;
string text = "{0}:{1}";
IHCPDNLJMMD ihcpdnljmmd = IHCPDNLJMMD.All;
object[] array = new object[3];
array[1] = component.LJILHDMCKME().NBAIABPNLNK();
array[1] = component.HeldSubExtrusionsManuallyHighlighted;
array[3] = fodnimkbmml.ToByteArray();
photonView.RPC(text, ihcpdnljmmd, array);
}
}
}
// Token: 0x060166B5 RID: 91829 RVA: 0x0063A138 File Offset: 0x00638338
private void CAMGAFPKAMM()
{
this.NFOMBFFOFEJ();
}
// Token: 0x17000986 RID: 2438
// (get) Token: 0x060166B6 RID: 91830 RVA: 0x0063A140 File Offset: 0x00638340
public int JNPBKNNDBDK
{
get
{
return this.MBPLMCGHODA.Count - 1;
}
}
// Token: 0x060166B7 RID: 91831 RVA: 0x0063A150 File Offset: 0x00638350
public Tool BNGIMCDOHFK()
{
return this.extrusionTool;
}
// Token: 0x060166B8 RID: 91832 RVA: 0x0063A158 File Offset: 0x00638358
private void GHIMLKKEEDJ()
{
foreach (ExtrusionHandle extrusionHandle in this.handles)
{
extrusionHandle.HJHPIJHIKIE.Clear();
if (extrusionHandle.BKDFLNGCINH.HighlightedCollider != null)
{
foreach (BMOAOJCEOFI bmoaojceofi in this.MBPLMCGHODA)
{
if (bmoaojceofi.HLHMJBOLDOE.AANJEILBGDP.Contains(extrusionHandle.BKDFLNGCINH.HighlightedCollider))
{
if (this.PBIKKAABPOB.Contains(bmoaojceofi))
{
foreach (BMOAOJCEOFI bmoaojceofi2 in this.PBIKKAABPOB)
{
if (!extrusionHandle.HJHPIJHIKIE.Contains(bmoaojceofi2))
{
extrusionHandle.HJHPIJHIKIE.Add(bmoaojceofi2);
}
}
}
else if (!extrusionHandle.HJHPIJHIKIE.Contains(bmoaojceofi))
{
extrusionHandle.HJHPIJHIKIE.Add(bmoaojceofi);
}
break;
}
}
}
}
}
// Token: 0x060166B9 RID: 91833 RVA: 0x0063A2AC File Offset: 0x006384AC
private void OnPhotonPlayerDisconnected(LNJFBGIBLHA JEHJKFMBELH)
{
if (base.BHCCHBHNHCG && this.BKDFLNGCINH.FICBNMJECCH.LNJFBGIBLHA == JEHJKFMBELH && this.PNOOBNCKAMJ == Extrusion.FODAMJOGFEN.Edit)
{
this.PNOOBNCKAMJ = Extrusion.FODAMJOGFEN.Play;
}
}
// Token: 0x060166BA RID: 91834 RVA: 0x0063A2E4 File Offset: 0x006384E4
public void GLCEBIMDGAL(MakerPen NOBAPCOKFIL)
{
MakerPen fjbjnapafoa = this.FJBJNAPAFOA;
this.FJBJNAPAFOA = NOBAPCOKFIL;
if (base.DGLKKANNBPD() && this.FJBJNAPAFOA != fjbjnapafoa)
{
this.OBGNAGNKIJN.MEAINJPIECA((!(this.FJBJNAPAFOA != null)) ? (-1) : this.FJBJNAPAFOA.POOAOJPEDJD().OMNKKJNHJHD());
}
}
// Token: 0x060166BB RID: 91835 RVA: 0x0063A350 File Offset: 0x00638550
public void HODNEAOMJPL()
{
if (base.POOAOJPEDJD().PCHBDFKGJJA() == IHFKMIAHBFP.JEFGMHBLLKI)
{
IHFKMIAHBFP.JFCIOOHPLFJ(base.gameObject);
}
}
// Token: 0x060166BC RID: 91836 RVA: 0x0063A374 File Offset: 0x00638574
private void KPDPOHMEAOK(Tool ENBMEDIFBLM)
{
this.MPACHEHMBIF(ENBMEDIFBLM);
}
// Token: 0x060166BD RID: 91837 RVA: 0x0063A380 File Offset: 0x00638580
public Tool AGPMDGPMBIN(Player OAKJPHFELHD, bool MFHKIFDBNOM)
{
if (this.PNOOBNCKAMJ == Extrusion.FODAMJOGFEN.Edit || (this.EIOLPKPLLDJ != null && this.EIOLPKPLLDJ.BPDKALBJLJP == MakerPen.LKOCEAOINAE.Basic))
{
return this.AGMPDKIOOJF();
}
ExtrusionHandle extrusionHandle = this.BFOJLIEANDH();
return (!(extrusionHandle != null)) ? null : extrusionHandle.CDNMEANCEDP();
}
// Token: 0x060166BE RID: 91838 RVA: 0x0063A3E0 File Offset: 0x006385E0
public Tool APHDNDHPBBD()
{
return this.extrusionTool;
}
// Token: 0x060166BF RID: 91839 RVA: 0x0063A3E8 File Offset: 0x006385E8
public void MOPGALEGAAC(MakerPen NOBAPCOKFIL)
{
MakerPen fjbjnapafoa = this.FJBJNAPAFOA;
this.FJBJNAPAFOA = NOBAPCOKFIL;
if (base.IGIPCHFCFNN() && this.FJBJNAPAFOA != fjbjnapafoa)
{
this.OBGNAGNKIJN.MEAINJPIECA((!(this.FJBJNAPAFOA != null)) ? (-1) : this.FJBJNAPAFOA.EKPBHKFHMON().NBAIABPNLNK());
}
}
// Token: 0x060166C0 RID: 91840 RVA: 0x0063A454 File Offset: 0x00638654
private void ODIMACEGIPG(Tool ENBMEDIFBLM)
{
this.BNGIMCDOHFK().BOLBONELAEF.KEOJKEJMDFM = true;
if (base.IGIPCHFCFNN())
{
this.HHFKFJGDKFE(Extrusion.FODAMJOGFEN.Edit);
}
}
// Token: 0x060166C1 RID: 91841 RVA: 0x0063A47C File Offset: 0x0063867C
private void GPFGKKFDIED()
{
this.IEOMCMHJMPK();
}
// Token: 0x060166C2 RID: 91842 RVA: 0x0063A484 File Offset: 0x00638684
private void AIGNIFGNLGH()
{
this.IEOMCMHJMPK();
}
// Token: 0x060166C3 RID: 91843 RVA: 0x0063A48C File Offset: 0x0063868C
public void AuthorityDeleteLatestSubExtrusion()
{
if (base.BHCCHBHNHCG && this.MBPLMCGHODA.Count > 0)
{
base.OMNGGJICBBI.RPC("RpcDeleteSubExtrusions", IHCPDNLJMMD.All, new object[] { new int[] { this.MBPLMCGHODA.Count - 1 } });
}
}
// Token: 0x060166C4 RID: 91844 RVA: 0x0063A4E8 File Offset: 0x006386E8
public BMOAOJCEOFI KBANAHBNMKP(Transform PBDBGOHPAGD, IHIJMFJBDEH AOAILGGFDHJ)
{
BMOAOJCEOFI.CLHPCLFGDEO clhpclfgdeo = (BMOAOJCEOFI.CLHPCLFGDEO)AOAILGGFDHJ.IDKDIJOJBCL;
BMOAOJCEOFI bmoaojceofi;
if (clhpclfgdeo < BMOAOJCEOFI.CLHPCLFGDEO.Cylinder)
{
bmoaojceofi = MFJCJNMPOOC.MCDJABCCLKN(PBDBGOHPAGD, AOAILGGFDHJ);
if (bmoaojceofi.MDPDDDJPFFG && this.PNDMONAGBAK() != null)
{
TubeExtruder tubeExtruder = this.FMOICGAMEBK().DGBKBDOGMBP(clhpclfgdeo) as TubeExtruder;
tubeExtruder.GKDLDLFNLAE = bmoaojceofi as MFJCJNMPOOC;
}
}
else
{
bmoaojceofi = MJDGGJAALHI.PHEHMAIKJLD(PBDBGOHPAGD, AOAILGGFDHJ);
if (bmoaojceofi.MDPDDDJPFFG && this.HBBMFEKDLNB() != null)
{
MeshShapeExtruder meshShapeExtruder = this.EIOLPKPLLDJ.DGBKBDOGMBP(clhpclfgdeo) as MeshShapeExtruder;
meshShapeExtruder.GKDLDLFNLAE = bmoaojceofi as MJDGGJAALHI;
}
}
return bmoaojceofi;
}
// Token: 0x060166C5 RID: 91845 RVA: 0x0063A590 File Offset: 0x00638790
private void MKGLEPMNBCP(int[] MGOGNEANNOD)
{
this.BFCMLJEMPAA(MGOGNEANNOD);
}
// Token: 0x060166C6 RID: 91846 RVA: 0x0063A59C File Offset: 0x0063879C
private void FCMGMEALGON(int KBHCDFOBPJJ)
{
this.BNGIMCDOHFK().LHEPJEHMAEC().TransferOwnership(KBHCDFOBPJJ);
ExtrusionHandle[] array = this.handles;
for (int i = 0; i < array.Length; i += 0)
{
ExtrusionHandle extrusionHandle = array[i];
extrusionHandle.HOPJELLOPNJ().EPPIGICCDBM(KBHCDFOBPJJ);
}
}
// Token: 0x060166C7 RID: 91847 RVA: 0x0063A5E8 File Offset: 0x006387E8
public object SandboxCurrentMode_Get()
{
return this.PNOOBNCKAMJ;
}
// Token: 0x060166C8 RID: 91848 RVA: 0x0063A5F8 File Offset: 0x006387F8
private void BFCMLJEMPAA(int[] MGOGNEANNOD)
{
this.ADBNPBDHLOB(MGOGNEANNOD);
NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM.RaiseResourceCostsUpdatedEvent();
}
// Token: 0x060166C9 RID: 91849 RVA: 0x0063A60C File Offset: 0x0063880C
public void HHFKFJGDKFE(Extrusion.FODAMJOGFEN NOBAPCOKFIL)
{
this.EIIHEKJMNEC.MEAINJPIECA((int)NOBAPCOKFIL);
}
// Token: 0x060166CA RID: 91850 RVA: 0x0063A61C File Offset: 0x0063881C
private void MOCODOEEMPN()
{
if (this.PNOOBNCKAMJ == Extrusion.FODAMJOGFEN.Play)
{
if (this.JNPBKNNDBDK < 0)
{
this.BKDFLNGCINH.FIBLAKECGGK = true;
if (base.BHCCHBHNHCG)
{
IHFKMIAHBFP.JFCIOOHPLFJ(base.OMNGGJICBBI);
}
}
else
{
this.BKDFLNGCINH.BOLBONELAEF.KEOJKEJMDFM = false;
this.BKDFLNGCINH.BOLBONELAEF.POEDHHBIGLD.ResetCenterOfMass();
this.BKDFLNGCINH.BOLBONELAEF.POEDHHBIGLD.ResetInertiaTensor();
if (this.BKDFLNGCINH.OHGPCMJMFGC || this.BKDFLNGCINH.BEKHOPMNAPA)
{
this.BKDFLNGCINH.BOLBONELAEF.KEOJKEJMDFM = true;
}
base.gameObject.OCMFPLEAONC("TeleportRegion");
}
if (this.EIOLPKPLLDJ != null && this.EIOLPKPLLDJ.BHCCHBHNHCG)
{
this.EIOLPKPLLDJ.AuthorityRequestNewExtrusion(true, null);
}
}
else
{
if (this.BKDFLNGCINH.OHGPCMJMFGC && this.BKDFLNGCINH.BHCCHBHNHCG)
{
this.BKDFLNGCINH.BBGHKANFCHC = DDOFAPFDGNL.JPCIKFHMMED;
}
this.BKDFLNGCINH.BOLBONELAEF.KEOJKEJMDFM = true;
}
}
// Token: 0x1700097F RID: 2431
// (get) Token: 0x060166DA RID: 91866 RVA: 0x0063AE74 File Offset: 0x00639074
// (set) Token: 0x060166CB RID: 91851 RVA: 0x0063A758 File Offset: 0x00638958
public Extrusion.FODAMJOGFEN PNOOBNCKAMJ
{
get
{
return (Extrusion.FODAMJOGFEN)this.EIIHEKJMNEC.CPIBGJLHLBL();
}
set
{
this.EIIHEKJMNEC.MEAINJPIECA((int)value);
}
}
// Token: 0x060166CD RID: 91853 RVA: 0x0063A77C File Offset: 0x0063897C
public void ToggleManuallyHighlightedSubExtrusion(BMOAOJCEOFI FPJCIOLDMCH)
{
if (this.EHLNHHFMFNC.Contains(FPJCIOLDMCH))
{
this.EHLNHHFMFNC.Remove(FPJCIOLDMCH);
}
else if (this.MBPLMCGHODA.Contains(FPJCIOLDMCH))
{
this.EHLNHHFMFNC.Add(FPJCIOLDMCH);
}
}
// Token: 0x060166CE RID: 91854 RVA: 0x0063A7CC File Offset: 0x006389CC
private void EKLLEPKHJAP(ExtrusionHandle IEPIMIDPDFF, bool NFFGDOKPJII, int[] IECMEFFMNFE, FODNIMKBMML PCFLGLIGDML)
{
if (IEPIMIDPDFF == null)
{
return;
}
bool flag = IECMEFFMNFE != null && IECMEFFMNFE.Length > 0;
IEPIMIDPDFF.HeldSubExtrusionsManuallyHighlighted = NFFGDOKPJII;
List<BMOAOJCEOFI> list = new List<BMOAOJCEOFI>();
foreach (IHIJMFJBDEH ihijmfjbdeh in PCFLGLIGDML.MBPLMCGHODA)
{
list.Add(this.DeserializeSubExtrusion(IEPIMIDPDFF.transform, ihijmfjbdeh));
}
Vector3 position = list[0].DKCNBKFJCLK.position;
for (int i = 0; i < list.Count; i++)
{
BMOAOJCEOFI bmoaojceofi = list[i];
Vector3 vector = IEPIMIDPDFF.transform.InverseTransformPoint(this.HOKDNCHMBLF.TransformPoint(bmoaojceofi.DKCNBKFJCLK.localPosition));
Quaternion quaternion = IEPIMIDPDFF.transform.MCKNNGGGBDG(this.HOKDNCHMBLF.PAFJLHMDIMO(bmoaojceofi.DKCNBKFJCLK.localRotation));
bmoaojceofi.DKCNBKFJCLK.localPosition = vector;
bmoaojceofi.DKCNBKFJCLK.localRotation = quaternion;
IEPIMIDPDFF.AddSubExtrusion(bmoaojceofi);
}
if (flag)
{
this.ICALEGLALKD(IECMEFFMNFE);
}
}
// Token: 0x060166CF RID: 91855 RVA: 0x0063A910 File Offset: 0x00638B10
private void KANHBANFEJA(ExtrusionHandle IEPIMIDPDFF, bool NFFGDOKPJII, FODNIMKBMML JDOHGLGFDEO)
{
List<BMOAOJCEOFI> list = new List<BMOAOJCEOFI>();
foreach (IHIJMFJBDEH ihijmfjbdeh in JDOHGLGFDEO.MBPLMCGHODA)
{
list.Add(this.DeserializeSubExtrusion(this.HOKDNCHMBLF, ihijmfjbdeh));
}
for (int i = 0; i < list.Count; i++)
{
BMOAOJCEOFI bmoaojceofi = list[i];
Vector3 vector = this.HOKDNCHMBLF.InverseTransformPoint(IEPIMIDPDFF.transform.TransformPoint(bmoaojceofi.DKCNBKFJCLK.localPosition));
Quaternion quaternion = this.HOKDNCHMBLF.MCKNNGGGBDG(IEPIMIDPDFF.transform.PAFJLHMDIMO(bmoaojceofi.DKCNBKFJCLK.localRotation));
bmoaojceofi.DKCNBKFJCLK.localPosition = vector;
bmoaojceofi.DKCNBKFJCLK.localRotation = quaternion;
this.AddSubExtrusion(list[i]);
if (NFFGDOKPJII)
{
this.EHLNHHFMFNC.Add(bmoaojceofi);
}
}
IEPIMIDPDFF.RemoveAllSubExtrusions();
}
// Token: 0x060166D0 RID: 91856 RVA: 0x0063AA28 File Offset: 0x00638C28
public void CLKCHOPPDBB(IList<BMOAOJCEOFI> NKHGIEDNIEL)
{
if (base.DGLKKANNBPD())
{
int[] array = new int[NKHGIEDNIEL.Count];
for (int i = 0; i < NKHGIEDNIEL.Count; i += 0)
{
array[i] = this.MBPLMCGHODA.IndexOf(NKHGIEDNIEL[i]);
}
PhotonView photonView = base.LHEPJEHMAEC();
string text = "{0}v1/kickFromEvent";
IHCPDNLJMMD ihcpdnljmmd = IHCPDNLJMMD.Others;
object[] array2 = new object[0];
array2[0] = array;
photonView.PKOHKPEKJCJ(text, ihcpdnljmmd, array2);
}
}
// Token: 0x060166D1 RID: 91857 RVA: 0x0063AA94 File Offset: 0x00638C94
private void ICALEGLALKD(int[] MGOGNEANNOD)
{
for (int i = 0; i < MGOGNEANNOD.Length; i++)
{
BMOAOJCEOFI bmoaojceofi = this.MBPLMCGHODA[MGOGNEANNOD[i]];
this.BKDFLNGCINH.NJPKPAFHFNM.Remove(bmoaojceofi.HLHMJBOLDOE);
this.BKDFLNGCINH.TryRemoveRenderer(bmoaojceofi.EIDPLDBJPDO);
this.BKDFLNGCINH.BNHLFGMBNPM.renderers.Remove(bmoaojceofi.EIDPLDBJPDO);
this.EHLNHHFMFNC.Remove(bmoaojceofi);
global::UnityEngine.Object.Destroy(bmoaojceofi.MKMCHJFIONM);
this.MBPLMCGHODA[MGOGNEANNOD[i]] = null;
}
this.MBPLMCGHODA.JCJAECDEILG<BMOAOJCEOFI>();
if (this.JAPJHGGOFPM && NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM != null)
{
NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM.RemoveSandboxSpawnable(this);
}
}
// Token: 0x060166D2 RID: 91858 RVA: 0x0063AB64 File Offset: 0x00638D64
protected virtual void FHNCHPMIBJP()
{
Extrusion.AllExtrusions.Remove(this);
MakerPen makerPen = this.FMOICGAMEBK();
if (makerPen != null && makerPen.NHNCPLPDONI(true) == this && base.DGLKKANNBPD())
{
makerPen.AuthorityRequestNewExtrusion(false, null);
}
this.APHDNDHPBBD().PLPIAOHJBOB -= this.PKMEAHIFFNG;
this.AGMPDKIOOJF().GFBCCFIMFEC -= this.CNMJNHGFALK;
IHFKMIAHBFP.GFFDICBLOFJ -= new Action<LNJFBGIBLHA>(this.OnPhotonPlayerConnected);
IHFKMIAHBFP.DHLJAODEIEA -= new Action<LNJFBGIBLHA>(this.OnPhotonPlayerDisconnected);
base.BIPEBCPEPKL().LKNBOGANIND(new Action<int>(this.BLCCAJHMHLK));
foreach (ExtrusionHandle extrusionHandle in this.handles)
{
extrusionHandle.BKDFLNGCINH.GFBCCFIMFEC -= this.NJICOFBFBPH;
extrusionHandle.BKDFLNGCINH.PLPIAOHJBOB -= this.KPDPOHMEAOK;
}
if (NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM != null)
{
NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM.NLCBOGCLCOL(this);
}
base.NDHBFLHIAHM();
}
// Token: 0x17000984 RID: 2436
// (get) Token: 0x060166D3 RID: 91859 RVA: 0x0063ACA0 File Offset: 0x00638EA0
public bool MDPDDDJPFFG
{
get
{
return this.JNPBKNNDBDK >= 0 && this.NKHGIEDNIEL[this.JNPBKNNDBDK].MDPDDDJPFFG;
}
}
// Token: 0x060166D4 RID: 91860 RVA: 0x0063ACCC File Offset: 0x00638ECC
private void CPGMJGIJMDA(int KBHCDFOBPJJ)
{
this.APHDNDHPBBD().HOPJELLOPNJ().TransferOwnership(KBHCDFOBPJJ);
ExtrusionHandle[] array = this.handles;
for (int i = 1; i < array.Length; i += 0)
{
ExtrusionHandle extrusionHandle = array[i];
extrusionHandle.POOAOJPEDJD().TransferOwnership(KBHCDFOBPJJ);
}
}
// Token: 0x060166D5 RID: 91861 RVA: 0x0063AD18 File Offset: 0x00638F18
public Tool AGMPDKIOOJF()
{
return this.extrusionTool;
}
// Token: 0x060166D6 RID: 91862 RVA: 0x0063AD20 File Offset: 0x00638F20
private float IPAALKNKDNH(Collider CINAFOGLFIB, Transform EPKBCNOMDOK, out bool PEENIDCFCGB)
{
PEENIDCFCGB = false;
Vector3 vector = CINAFOGLFIB.transform.position;
SphereCollider sphereCollider = CINAFOGLFIB as SphereCollider;
if (sphereCollider != null)
{
vector = sphereCollider.transform.TransformPoint(sphereCollider.center);
}
else
{
BoxCollider boxCollider = CINAFOGLFIB as BoxCollider;
if (boxCollider != null)
{
vector = boxCollider.transform.TransformPoint(boxCollider.center);
}
}
return (vector - EPKBCNOMDOK.position).magnitude;
}
// Token: 0x060166D7 RID: 91863 RVA: 0x0063ADA0 File Offset: 0x00638FA0
private bool DDOGAEHOBFK(Tool COMHEONOMBA, Player OAKJPHFELHD, bool AABHBODJBNP)
{
return !this.MDPDDDJPFFG && (this.PNOOBNCKAMJ == Extrusion.FODAMJOGFEN.Play || (this.EIOLPKPLLDJ != null && this.EIOLPKPLLDJ.BPDKALBJLJP == MakerPen.LKOCEAOINAE.Basic)) && !FKJHLNJDEKK.LECFBEBMLIC.BCBJFKEFMMI();
}
// Token: 0x060166D8 RID: 91864 RVA: 0x0063ADF8 File Offset: 0x00638FF8
private void PONDPPDHJOM()
{
this.GHIMLKKEEDJ();
}
// Token: 0x060166D9 RID: 91865 RVA: 0x0063AE00 File Offset: 0x00639000
public void AddSubExtrusion(BMOAOJCEOFI FPJCIOLDMCH)
{
if (!this.MBPLMCGHODA.Contains(FPJCIOLDMCH))
{
this.MBPLMCGHODA.Add(FPJCIOLDMCH);
this.BKDFLNGCINH.AddToolCollider(FPJCIOLDMCH.HLHMJBOLDOE);
this.BKDFLNGCINH.AddRenderer(FPJCIOLDMCH.EIDPLDBJPDO);
this.BKDFLNGCINH.BNHLFGMBNPM.renderers.Add(FPJCIOLDMCH.EIDPLDBJPDO);
}
NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM.AddSandboxSpawnable(this);
}
// Token: 0x060166DB RID: 91867 RVA: 0x0063AE84 File Offset: 0x00639084
private void BLCCAJHMHLK(int KBHCDFOBPJJ)
{
this.BKDFLNGCINH.OMNGGJICBBI.TransferOwnership(KBHCDFOBPJJ);
foreach (ExtrusionHandle extrusionHandle in this.handles)
{
extrusionHandle.OMNGGJICBBI.TransferOwnership(KBHCDFOBPJJ);
}
}
// Token: 0x060166DC RID: 91868 RVA: 0x0063AED0 File Offset: 0x006390D0
private void GADFLIGNIBN(ExtrusionHandle IEPIMIDPDFF, bool NFFGDOKPJII, int[] IECMEFFMNFE, FODNIMKBMML PCFLGLIGDML)
{
if (IEPIMIDPDFF == null)
{
return;
}
bool flag = IECMEFFMNFE == null || IECMEFFMNFE.Length > 1;
IEPIMIDPDFF.HeldSubExtrusionsManuallyHighlighted = NFFGDOKPJII;
List<BMOAOJCEOFI> list = new List<BMOAOJCEOFI>();
foreach (IHIJMFJBDEH ihijmfjbdeh in PCFLGLIGDML.DKFDDLKDNAE())
{
list.Add(this.DeserializeSubExtrusion(IEPIMIDPDFF.transform, ihijmfjbdeh));
}
Vector3 position = list[1].DKCNBKFJCLK.position;
for (int i = 0; i < list.Count; i++)
{
BMOAOJCEOFI bmoaojceofi = list[i];
Vector3 vector = IEPIMIDPDFF.transform.InverseTransformPoint(this.HOKDNCHMBLF.TransformPoint(bmoaojceofi.DKCNBKFJCLK.localPosition));
Quaternion quaternion = IEPIMIDPDFF.transform.MCKNNGGGBDG(this.KGJBKMNACCO().PAFJLHMDIMO(bmoaojceofi.DKCNBKFJCLK.localRotation));
bmoaojceofi.DKCNBKFJCLK.localPosition = vector;
bmoaojceofi.DKCNBKFJCLK.localRotation = quaternion;
IEPIMIDPDFF.MHHJJMJMMLJ(bmoaojceofi);
}
if (flag)
{
this.ICALEGLALKD(IECMEFFMNFE);
}
}
// Token: 0x060166DD RID: 91869 RVA: 0x0063B014 File Offset: 0x00639214
private bool OHMAAGJIDIM(Tool COMHEONOMBA, Player OAKJPHFELHD, bool AABHBODJBNP)
{
return !this.MDPDDDJPFFG && (this.KKAMMDGPAJP() == Extrusion.FODAMJOGFEN.Play || (this.PNDMONAGBAK() != null && this.PNDMONAGBAK().BPDKALBJLJP == MakerPen.LKOCEAOINAE.Basic)) && !FKJHLNJDEKK.LECFBEBMLIC.BCBJFKEFMMI();
}
// Token: 0x060166DE RID: 91870 RVA: 0x0063B06C File Offset: 0x0063926C
public void JOLMLMBDIEJ()
{
if (base.DGLOKLCEMLH() && this.PHODAPEHOKG().Count > 0)
{
PhotonView photonView = base.BIPEBCPEPKL();
string text = "Transaction ID";
IHCPDNLJMMD ihcpdnljmmd = IHCPDNLJMMD.Others;
object[] array = new object[1];
int num = 0;
int[] array2 = new int[0];
array2[1] = this.MBPLMCGHODA.Count - 0;
array[num] = array2;
photonView.RPC(text, ihcpdnljmmd, array);
}
}
// Token: 0x060166DF RID: 91871 RVA: 0x0063B0C8 File Offset: 0x006392C8
public List<BMOAOJCEOFI> CFHKOPAOLJI()
{
return this.EHLNHHFMFNC;
}
// Token: 0x060166E0 RID: 91872 RVA: 0x0063B0D0 File Offset: 0x006392D0
private void NJICOFBFBPH(Tool ENBMEDIFBLM)
{
this.AuthorityPickupSubExtrusions(ENBMEDIFBLM, null);
}
// Token: 0x060166E1 RID: 91873 RVA: 0x0063B0DC File Offset: 0x006392DC
public Tool JAHFCMHNIIJ(Player OAKJPHFELHD, bool MFHKIFDBNOM)
{
if (this.KKAMMDGPAJP() == Extrusion.FODAMJOGFEN.Play || (this.PNDMONAGBAK() != null && this.PNDMONAGBAK().BPDKALBJLJP == MakerPen.LKOCEAOINAE.Basic))
{
return this.BKDFLNGCINH;
}
ExtrusionHandle extrusionHandle = this.CNLNDOMPJPI();
return (!(extrusionHandle != null)) ? null : extrusionHandle.CDNMEANCEDP();
}
// Token: 0x060166E2 RID: 91874 RVA: 0x0063B13C File Offset: 0x0063933C
public void AuthorityPickupSubExtrusions(Tool ELDJFLCJFPD, FODNIMKBMML CIKBOKLBFIL = null)
{
if (ELDJFLCJFPD.BHCCHBHNHCG)
{
ExtrusionHandle component = ELDJFLCJFPD.GetComponent<ExtrusionHandle>();
if (component.MDDLKFGHHBB.Count == 0)
{
if (CIKBOKLBFIL != null)
{
base.OMNGGJICBBI.RPC("RpcHandlePickupSubExtrusions", IHCPDNLJMMD.All, new object[]
{
ELDJFLCJFPD.OMNGGJICBBI.ADMBCINHJOG,
false,
null,
CIKBOKLBFIL.ToByteArray()
});
}
else if (component.HJHPIJHIKIE.Count > 0)
{
int[] array = new int[component.HJHPIJHIKIE.Count];
for (int i = 0; i < component.HJHPIJHIKIE.Count; i++)
{
array[i] = this.MBPLMCGHODA.IndexOf(component.HJHPIJHIKIE[i]);
}
FODNIMKBMML fodnimkbmml = this.SerializeSubExtrusions(component.HJHPIJHIKIE);
bool flag = this.EHLNHHFMFNC.Contains(component.HJHPIJHIKIE[0]);
base.OMNGGJICBBI.RPC("RpcHandlePickupSubExtrusions", IHCPDNLJMMD.All, new object[]
{
ELDJFLCJFPD.OMNGGJICBBI.ADMBCINHJOG,
flag,
array,
fodnimkbmml.ToByteArray()
});
}
}
}
}
// Token: 0x060166E3 RID: 91875 RVA: 0x0063B274 File Offset: 0x00639474
public void RemoteDeserializeSubExtrusions(FODNIMKBMML KGAGDPGLDGG)
{
foreach (IHIJMFJBDEH ihijmfjbdeh in KGAGDPGLDGG.MBPLMCGHODA)
{
this.AddSubExtrusion(this.DeserializeSubExtrusion(this.HOKDNCHMBLF, ihijmfjbdeh));
}
}
// Token: 0x060166E4 RID: 91876 RVA: 0x0063B2DC File Offset: 0x006394DC
[BCENPNOIAOM]
private void RpcHandlePickupSubExtrusions(int LDEGNHMEKPJ, bool NFFGDOKPJII, int[] DNLGNKHABIM, byte[] DGEELCAPMIE)
{
PhotonView photonView = PhotonView.Find(LDEGNHMEKPJ);
ExtrusionHandle extrusionHandle = ((!(photonView != null)) ? null : photonView.GetComponent<ExtrusionHandle>());
FODNIMKBMML fodnimkbmml = FODNIMKBMML.KGJOFMBOKCB.ParseFrom(DGEELCAPMIE);
this.EKLLEPKHJAP(extrusionHandle, NFFGDOKPJII, DNLGNKHABIM, fodnimkbmml);
}
// Token: 0x060166E5 RID: 91877 RVA: 0x0063B320 File Offset: 0x00639520
private void Start()
{
this.MOCODOEEMPN();
}
// Token: 0x060166E6 RID: 91878 RVA: 0x0063B328 File Offset: 0x00639528
public MakerPen HBBMFEKDLNB()
{
if (this.FJBJNAPAFOA == null || this.FJBJNAPAFOA.POOAOJPEDJD().OMNKKJNHJHD() != this.OBGNAGNKIJN.CPIBGJLHLBL())
{
int num = this.OBGNAGNKIJN.CPIBGJLHLBL();
if (num <= 0)
{
num = this.APHDNDHPBBD().LOEOILCIAIH();
if (base.DGLKKANNBPD())
{
this.OBGNAGNKIJN.MEAINJPIECA(num);
}
}
PhotonView photonView = PhotonView.NMBFNIJMFOO(num);
this.FJBJNAPAFOA = ((!(photonView != null)) ? null : photonView.GetComponent<MakerPen>());
}
return this.FJBJNAPAFOA;
}
// Token: 0x060166E7 RID: 91879 RVA: 0x0063B3C8 File Offset: 0x006395C8
private void JCKCKCDALGL(int LDEGNHMEKPJ, bool NFFGDOKPJII, int[] DNLGNKHABIM, byte[] DGEELCAPMIE)
{
PhotonView photonView = PhotonView.NMBFNIJMFOO(LDEGNHMEKPJ);
ExtrusionHandle extrusionHandle = ((!(photonView != null)) ? null : photonView.GetComponent<ExtrusionHandle>());
FODNIMKBMML fodnimkbmml = FODNIMKBMML.BMLKNFIFKNB().ParseFrom(DGEELCAPMIE);
this.EKLLEPKHJAP(extrusionHandle, NFFGDOKPJII, DNLGNKHABIM, fodnimkbmml);
}
// Token: 0x060166E8 RID: 91880 RVA: 0x0063B40C File Offset: 0x0063960C
private void PGJAOEIBBMC(Tool ENBMEDIFBLM)
{
if (base.BHCCHBHNHCG && !NetworkedSingletonMonoBehaviour<RoomPersistenceManager>.NCKMBFBMBFM.OOMFOBGPNKH)
{
this.PNOOBNCKAMJ = Extrusion.FODAMJOGFEN.Play;
}
}
// Token: 0x060166E9 RID: 91881 RVA: 0x0063B430 File Offset: 0x00639630
private void ADBNPBDHLOB(int[] MGOGNEANNOD)
{
for (int i = 1; i < MGOGNEANNOD.Length; i += 0)
{
BMOAOJCEOFI bmoaojceofi = this.MBPLMCGHODA[MGOGNEANNOD[i]];
this.BDCEELMFHNN().NJPKPAFHFNM.Remove(bmoaojceofi.HLHMJBOLDOE);
this.CLDNDPPEHBO().TryRemoveRenderer(bmoaojceofi.EIDPLDBJPDO);
this.APHDNDHPBBD().BNHLFGMBNPM.renderers.Remove(bmoaojceofi.EIDPLDBJPDO);
this.EHLNHHFMFNC.Remove(bmoaojceofi);
global::UnityEngine.Object.Destroy(bmoaojceofi.MKMCHJFIONM);
this.AACIIACHOKB()[MGOGNEANNOD[i]] = null;
}
this.MBPLMCGHODA.JCJAECDEILG<BMOAOJCEOFI>();
if (this.EANJCCKAHCC() && NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM != null)
{
NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM.NAHDHIDIBNI(this);
}
}
// Token: 0x060166EA RID: 91882 RVA: 0x0063B500 File Offset: 0x00639700
public bool EANJCCKAHCC()
{
if (this.PHODAPEHOKG().Count > 0)
{
return false;
}
ExtrusionHandle[] array = this.handles;
for (int i = 0; i < array.Length; i += 0)
{
ExtrusionHandle extrusionHandle = array[i];
if (extrusionHandle.MDDLKFGHHBB.Count > 0)
{
return true;
}
}
return false;
}
// Token: 0x060166EB RID: 91883 RVA: 0x0063B554 File Offset: 0x00639754
private void AMCANMJHAEH()
{
this.NFOMBFFOFEJ();
}
// Token: 0x060166EC RID: 91884 RVA: 0x0063B55C File Offset: 0x0063975C
private void FJDKAGEANLM(int[] MGOGNEANNOD)
{
this.ICALEGLALKD(MGOGNEANNOD);
NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM.RaiseResourceCostsUpdatedEvent();
}
// Token: 0x060166ED RID: 91885 RVA: 0x0063B570 File Offset: 0x00639770
public FODNIMKBMML SerializeSubExtrusions(List<BMOAOJCEOFI> BKGHCLGCHKJ)
{
FODNIMKBMML fodnimkbmml = new FODNIMKBMML();
if (BKGHCLGCHKJ != null && BKGHCLGCHKJ.Count > 0)
{
for (int i = 0; i < BKGHCLGCHKJ.Count; i++)
{
if (!BKGHCLGCHKJ[i].MDPDDDJPFFG)
{
IHIJMFJBDEH ihijmfjbdeh = BKGHCLGCHKJ[i].EGKKKDOMLIG();
if (ihijmfjbdeh != null)
{
fodnimkbmml.MBPLMCGHODA.Add(ihijmfjbdeh);
}
}
}
}
return fodnimkbmml;
}
// Token: 0x060166EE RID: 91886 RVA: 0x0063B5E4 File Offset: 0x006397E4
private void EFAIKACNFBN(LNJFBGIBLHA JEHJKFMBELH)
{
if (base.BHCCHBHNHCG && this.BKDFLNGCINH.FICBNMJECCH.LNJFBGIBLHA == JEHJKFMBELH && this.PNOOBNCKAMJ == Extrusion.FODAMJOGFEN.Edit)
{
this.LDKPFDBLOGF(Extrusion.FODAMJOGFEN.Edit);
}
}
// Token: 0x060166EF RID: 91887 RVA: 0x0063B61C File Offset: 0x0063981C
private void ILNKKNPGPHP()
{
if (SingletonMonoBehaviour<AnimateInOutManager>.NCKMBFBMBFM != null && !SingletonMonoBehaviour<AnimateInOutManager>.NCKMBFBMBFM.SuppressAnimations && SessionManager.PIEADIIBGGI)
{
foreach (BMOAOJCEOFI bmoaojceofi in this.MBPLMCGHODA)
{
Bounds bounds = bmoaojceofi.EIDPLDBJPDO.bounds;
PooledParticle pooledParticle = ObjectPool.NFHMLKPHCFF().Acquire<PooledParticle>(SingletonMonoBehaviour<AnimateInOutManager>.NCKMBFBMBFM.DefaultEffectPrefab);
pooledParticle.transform.SetParent(SingletonMonoBehaviour<AnimateInOutManager>.NCKMBFBMBFM.transform);
pooledParticle.transform.position = bounds.center;
pooledParticle.transform.rotation = Quaternion.identity;
pooledParticle.JAMLMKEOGMN.Simulate(1764f);
pooledParticle.Play(false);
this.GPNMINHOGGB.Add(pooledParticle);
pooledParticle.JAMLMKEOGMN.shape.scale = bounds.size * 707f;
float[] array = new float[5];
array[1] = bounds.size.x;
array[0] = bounds.size.y;
array[7] = bounds.size.z;
float num = Mathf.Max(array);
pooledParticle.JAMLMKEOGMN.main.startSize = num * 1545f;
}
}
}
// Token: 0x060166F0 RID: 91888 RVA: 0x0063B7B0 File Offset: 0x006399B0
private void CEDDPLOOEOA()
{
this.ILNKKNPGPHP();
}
// Token: 0x060166F1 RID: 91889 RVA: 0x0063B7B8 File Offset: 0x006399B8
private void AOHDEMOJLJH(ExtrusionHandle IEPIMIDPDFF, bool NFFGDOKPJII, FODNIMKBMML JDOHGLGFDEO)
{
List<BMOAOJCEOFI> list = new List<BMOAOJCEOFI>();
foreach (IHIJMFJBDEH ihijmfjbdeh in JDOHGLGFDEO.DKFDDLKDNAE())
{
list.Add(this.KBANAHBNMKP(this.HOKDNCHMBLF, ihijmfjbdeh));
}
for (int i = 0; i < list.Count; i++)
{
BMOAOJCEOFI bmoaojceofi = list[i];
Vector3 vector = this.HOKDNCHMBLF.InverseTransformPoint(IEPIMIDPDFF.transform.TransformPoint(bmoaojceofi.DKCNBKFJCLK.localPosition));
Quaternion quaternion = this.KGJBKMNACCO().MCKNNGGGBDG(IEPIMIDPDFF.transform.PAFJLHMDIMO(bmoaojceofi.DKCNBKFJCLK.localRotation));
bmoaojceofi.DKCNBKFJCLK.localPosition = vector;
bmoaojceofi.DKCNBKFJCLK.localRotation = quaternion;
this.AddSubExtrusion(list[i]);
if (NFFGDOKPJII)
{
this.EHLNHHFMFNC.Add(bmoaojceofi);
}
}
IEPIMIDPDFF.CMCGEGCHNOA();
}
// Token: 0x060166F2 RID: 91890 RVA: 0x0063B8D0 File Offset: 0x00639AD0
private void IEOMCMHJMPK()
{
if (SingletonMonoBehaviour<AnimateInOutManager>.NCKMBFBMBFM != null && !SingletonMonoBehaviour<AnimateInOutManager>.NCKMBFBMBFM.SuppressAnimations && SessionManager.PIEADIIBGGI)
{
foreach (BMOAOJCEOFI bmoaojceofi in this.MBPLMCGHODA)
{
Bounds bounds = bmoaojceofi.EIDPLDBJPDO.bounds;
PooledParticle pooledParticle = ObjectPool.NCKMBFBMBFM.Acquire<PooledParticle>(SingletonMonoBehaviour<AnimateInOutManager>.NCKMBFBMBFM.DefaultEffectPrefab);
pooledParticle.transform.SetParent(SingletonMonoBehaviour<AnimateInOutManager>.NCKMBFBMBFM.transform);
pooledParticle.transform.position = bounds.center;
pooledParticle.transform.rotation = Quaternion.identity;
pooledParticle.JAMLMKEOGMN.Simulate(0.2f);
pooledParticle.Play(false);
this.GPNMINHOGGB.Add(pooledParticle);
pooledParticle.JAMLMKEOGMN.shape.scale = bounds.size * 1.3f;
float num = Mathf.Max(new float[]
{
bounds.size.x,
bounds.size.y,
bounds.size.z
});
pooledParticle.JAMLMKEOGMN.main.startSize = num * 0.3f;
}
}
}
// Token: 0x060166F3 RID: 91891 RVA: 0x0063BA64 File Offset: 0x00639C64
public MakerPen FMOICGAMEBK()
{
if (this.FJBJNAPAFOA == null || this.FJBJNAPAFOA.CEGDLFAENEJ().GCPHMBPAAOM() != this.OBGNAGNKIJN.CPIBGJLHLBL())
{
int num = this.OBGNAGNKIJN.CPIBGJLHLBL();
if (num <= 0)
{
num = this.CLDNDPPEHBO().LOEOILCIAIH();
if (base.DGLOKLCEMLH())
{
this.OBGNAGNKIJN.MEAINJPIECA(num);
}
}
PhotonView photonView = PhotonView.KAKDEOHCKBM(num);
this.FJBJNAPAFOA = ((!(photonView != null)) ? null : photonView.GetComponent<MakerPen>());
}
return this.FJBJNAPAFOA;
}
// Token: 0x060166F4 RID: 91892 RVA: 0x0063BB04 File Offset: 0x00639D04
private void GHGLJLCOAGF(Tool ENBMEDIFBLM)
{
this.BKDFLNGCINH.BOLBONELAEF.KEOJKEJMDFM = !this.BDCEELMFHNN().BEKHOPMNAPA && this.PNOOBNCKAMJ == Extrusion.FODAMJOGFEN.Play;
}
// Token: 0x060166F5 RID: 91893 RVA: 0x0063BB34 File Offset: 0x00639D34
public Tool DBONJLOLAAK(Player OAKJPHFELHD, bool MFHKIFDBNOM)
{
if (this.PNOOBNCKAMJ == Extrusion.FODAMJOGFEN.Edit || (this.PNDMONAGBAK() != null && this.FMOICGAMEBK().BPDKALBJLJP == MakerPen.LKOCEAOINAE.Basic))
{
return this.BDCEELMFHNN();
}
ExtrusionHandle freeHandle = this.GetFreeHandle();
return (!(freeHandle != null)) ? null : freeHandle.CDNMEANCEDP();
}
// Token: 0x17000983 RID: 2435
// (get) Token: 0x060166F6 RID: 91894 RVA: 0x0063BB94 File Offset: 0x00639D94
public bool JAPJHGGOFPM
{
get
{
if (this.MBPLMCGHODA.Count > 0)
{
return false;
}
foreach (ExtrusionHandle extrusionHandle in this.handles)
{
if (extrusionHandle.MDDLKFGHHBB.Count > 0)
{
return false;
}
}
return true;
}
}
// Token: 0x060166F7 RID: 91895 RVA: 0x0063BBE8 File Offset: 0x00639DE8
protected override void OnDestroy()
{
Extrusion.AllExtrusions.Remove(this);
MakerPen makerPen = this.EIOLPKPLLDJ;
if (makerPen != null && makerPen.GetCurrentExtrusion(false) == this && base.BHCCHBHNHCG)
{
makerPen.AuthorityRequestNewExtrusion(true, null);
}
this.BKDFLNGCINH.PLPIAOHJBOB -= this.PKMEAHIFFNG;
this.BKDFLNGCINH.GFBCCFIMFEC -= this.CNMJNHGFALK;
IHFKMIAHBFP.GFFDICBLOFJ -= new Action<LNJFBGIBLHA>(this.OnPhotonPlayerConnected);
IHFKMIAHBFP.DHLJAODEIEA -= new Action<LNJFBGIBLHA>(this.OnPhotonPlayerDisconnected);
base.OMNGGJICBBI.FPKGGJGGPAG -= this.BLCCAJHMHLK;
foreach (ExtrusionHandle extrusionHandle in this.handles)
{
extrusionHandle.BKDFLNGCINH.GFBCCFIMFEC -= this.NJICOFBFBPH;
extrusionHandle.BKDFLNGCINH.PLPIAOHJBOB -= this.KPDPOHMEAOK;
}
if (NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM != null)
{
NetworkedSingletonMonoBehaviour<SandboxSpawnableManager>.NCKMBFBMBFM.RemoveSandboxSpawnable(this);
}
base.OnDestroy();
}
// Token: 0x060166F8 RID: 91896 RVA: 0x0063BD24 File Offset: 0x00639F24
public void AuthorityDeserializeSubExtrusions(FODNIMKBMML KGAGDPGLDGG)
{
if (base.BHCCHBHNHCG)
{
base.OMNGGJICBBI.RPC("RpcDeserializeSubExtrusions", IHCPDNLJMMD.All, new object[] { KGAGDPGLDGG.ToByteArray() });
}
}
// Token: 0x060166FA RID: 91898 RVA: 0x0063BD80 File Offset: 0x00639F80
private void BHDKJMOCKDO(int LDEGNHMEKPJ, bool NFFGDOKPJII, byte[] DGEELCAPMIE)
{
PhotonView photonView = PhotonView.NMBFNIJMFOO(LDEGNHMEKPJ);
ExtrusionHandle extrusionHandle = ((!(photonView != null)) ? null : photonView.GetComponent<ExtrusionHandle>());
FODNIMKBMML fodnimkbmml = FODNIMKBMML.PCHJCNNCPOP().ParseFrom(DGEELCAPMIE);
this.AOHDEMOJLJH(extrusionHandle, NFFGDOKPJII, fodnimkbmml);
}
// Token: 0x060166FB RID: 91899 RVA: 0x0063BDC4 File Offset: 0x00639FC4
private void IEBDBACKKMO()
{
for (int i = 0; i < this.MBPLMCGHODA.Count; i++)
{
if (this.MBPLMCGHODA[i].EIDPLDBJPDO.isVisible)
{
if (this.BKDFLNGCINH.OutlineType == OutlineEffectRenderer.IMJCBDKBDIE.Hover)
{
OutlineEffectRenderer.RenderHoverOutline(this.MBPLMCGHODA[i].EIDPLDBJPDO, this.MBPLMCGHODA[i].EIDPLDBJPDO.OGBPEDNIGCM());
}
else if (this.BKDFLNGCINH.OutlineType == OutlineEffectRenderer.IMJCBDKBDIE.Tutorial)
{
OutlineEffectRenderer.RenderTutorialOutline(this.MBPLMCGHODA[i].EIDPLDBJPDO, this.MBPLMCGHODA[i].EIDPLDBJPDO.OGBPEDNIGCM());
}
}
}
if (this.BKDFLNGCINH.HighlightedCollider != null)
{
this.extrusionToolPickupTransform.position = this.BKDFLNGCINH.HighlightedCollider.bounds.center;
}
}
// Token: 0x060166FC RID: 91900 RVA: 0x0063BEC0 File Offset: 0x0063A0C0
public Tool ToolSelectionForwarding(Player OAKJPHFELHD, bool MFHKIFDBNOM)
{
if (this.PNOOBNCKAMJ == Extrusion.FODAMJOGFEN.Play || (this.EIOLPKPLLDJ != null && this.EIOLPKPLLDJ.BPDKALBJLJP == MakerPen.LKOCEAOINAE.Basic))
{
return this.BKDFLNGCINH;
}
ExtrusionHandle freeHandle = this.GetFreeHandle();
return (!(freeHandle != null)) ? null : freeHandle.BKDFLNGCINH;
}
// Token: 0x060166FD RID: 91901 RVA: 0x0063BF20 File Offset: 0x0063A120
[BCENPNOIAOM]
private void RpcDeleteSubExtrusions(int[] MGOGNEANNOD)
{
this.FJDKAGEANLM(MGOGNEANNOD);
}
// Token: 0x060166FE RID: 91902 RVA: 0x0063BF2C File Offset: 0x0063A12C
[BCENPNOIAOM]
private void RpcDeserializeSubExtrusions(byte[] EBIMLGPFNJL)
{
this.RemoteDeserializeSubExtrusions(FODNIMKBMML.KGJOFMBOKCB.ParseFrom(EBIMLGPFNJL));
}
// Token: 0x17000985 RID: 2437
// (get) Token: 0x060166FF RID: 91903 RVA: 0x0063BF40 File Offset: 0x0063A140
public int OMDEDGGJDHD
{
get
{
int num = 50;
if (!this.BKDFLNGCINH.BEKHOPMNAPA)
{
foreach (BMOAOJCEOFI bmoaojceofi in this.MBPLMCGHODA)
{
num += bmoaojceofi.HCFCNJGBHNL;
}
}
return num;
}
}
// Token: 0x06016700 RID: 91904 RVA: 0x0063BFB4 File Offset: 0x0063A1B4
public ExtrusionHandle GetFreeHandle()
{
foreach (ExtrusionHandle extrusionHandle in this.handles)
{
if (!extrusionHandle.BKDFLNGCINH.OHGPCMJMFGC && extrusionHandle.BKDFLNGCINH.HighlightedCollider == null)
{
return extrusionHandle;
}
}
return null;
}
// Token: 0x06016701 RID: 91905 RVA: 0x0063C00C File Offset: 0x0063A20C
public void SandboxCurrentMode_Set(object CLPCFAPOKFN)
{
if (CLPCFAPOKFN != null && base.BHCCHBHNHCG)
{
this.PNOOBNCKAMJ = (Extrusion.FODAMJOGFEN)CLPCFAPOKFN;
}
}
// Token: 0x06016702 RID: 91906 RVA: 0x0063C02C File Offset: 0x0063A22C
private void OnDisable()
{
this.IEOMCMHJMPK();
}
// Token: 0x06016703 RID: 91907 RVA: 0x0063C034 File Offset: 0x0063A234
private void NFOMBFFOFEJ()
{
if (this.KKAMMDGPAJP() == Extrusion.FODAMJOGFEN.Play)
{
if (this.JNPBKNNDBDK < 0)
{
this.BDCEELMFHNN().FIBLAKECGGK = false;
if (base.IGIPCHFCFNN())
{
IHFKMIAHBFP.JFCIOOHPLFJ(base.CJKKPMHAMCN());
}
}
else
{
this.BNGIMCDOHFK().BOLBONELAEF.KEOJKEJMDFM = true;
this.BDCEELMFHNN().BOLBONELAEF.POEDHHBIGLD.ResetCenterOfMass();
this.APHDNDHPBBD().BOLBONELAEF.POEDHHBIGLD.ResetInertiaTensor();
if (this.CLDNDPPEHBO().OHGPCMJMFGC || this.AGMPDKIOOJF().BEKHOPMNAPA)
{
this.BNGIMCDOHFK().BOLBONELAEF.KEOJKEJMDFM = true;
}
base.gameObject.OCMFPLEAONC("{0}v2");
}
if (this.EIOLPKPLLDJ != null && this.PNDMONAGBAK().DGLOKLCEMLH())
{
this.PNDMONAGBAK().AuthorityRequestNewExtrusion(false, null);
}
}
else
{
if (this.BDCEELMFHNN().OHGPCMJMFGC && this.AGMPDKIOOJF().DFJFKOLLEMK())
{
this.AGMPDKIOOJF().BBGHKANFCHC = DDOFAPFDGNL.JPCIKFHMMED;
}
this.BKDFLNGCINH.BOLBONELAEF.KEOJKEJMDFM = false;
}
}
// Token: 0x06016704 RID: 91908 RVA: 0x0063C170 File Offset: 0x0063A370
public BMOAOJCEOFI DeserializeSubExtrusion(Transform PBDBGOHPAGD, IHIJMFJBDEH AOAILGGFDHJ)
{
BMOAOJCEOFI.CLHPCLFGDEO clhpclfgdeo = (BMOAOJCEOFI.CLHPCLFGDEO)AOAILGGFDHJ.IDKDIJOJBCL;
BMOAOJCEOFI bmoaojceofi;
if (clhpclfgdeo < BMOAOJCEOFI.CLHPCLFGDEO.Box)
{
bmoaojceofi = MFJCJNMPOOC.MCDJABCCLKN(PBDBGOHPAGD, AOAILGGFDHJ);
if (bmoaojceofi.MDPDDDJPFFG && this.EIOLPKPLLDJ != null)
{
TubeExtruder tubeExtruder = this.EIOLPKPLLDJ.GetExtruderForShapeType(clhpclfgdeo) as TubeExtruder;
tubeExtruder.GKDLDLFNLAE = bmoaojceofi as MFJCJNMPOOC;
}
}
else
{
bmoaojceofi = MJDGGJAALHI.MCDJABCCLKN(PBDBGOHPAGD, AOAILGGFDHJ);
if (bmoaojceofi.MDPDDDJPFFG && this.EIOLPKPLLDJ != null)
{
MeshShapeExtruder meshShapeExtruder = this.EIOLPKPLLDJ.GetExtruderForShapeType(clhpclfgdeo) as MeshShapeExtruder;
meshShapeExtruder.GKDLDLFNLAE = bmoaojceofi as MJDGGJAALHI;
}
}
return bmoaojceofi;
}
// Token: 0x04003EC0 RID: 16064
public const int BASE_SANDBOX_RESOURCE_COST = 50;
// Token: 0x04003EC1 RID: 16065
[SerializeField]
private Tool extrusionTool;
// Token: 0x04003EC2 RID: 16066
[SerializeField]
private Transform extrusionToolPickupTransform;
// Token: 0x04003EC3 RID: 16067
[SerializeField]
private ExtrusionHandle[] handles;
// Token: 0x04003EC4 RID: 16068
[SerializeField]
private Transform subExtrusionRoot;
// Token: 0x04003EC5 RID: 16069
[SerializeField]
[ENMFCLPAKBJ(FOGKDGELKHN.Children, false)]
private SandboxEditable sandboxEditable;
// Token: 0x04003EC6 RID: 16070
public static List<Extrusion> AllExtrusions = new List<Extrusion>();
// Token: 0x04003EC7 RID: 16071
private List<PooledParticle> GPNMINHOGGB = new List<PooledParticle>();
// Token: 0x04003EC8 RID: 16072
private List<BMOAOJCEOFI> NKHGIEDNIEL = new List<BMOAOJCEOFI>();
// Token: 0x04003EC9 RID: 16073
private List<BMOAOJCEOFI> EHLNHHFMFNC = new List<BMOAOJCEOFI>();
// Token: 0x04003ECA RID: 16074
private LHLLJPPCDKA<int> EIIHEKJMNEC;
// Token: 0x04003ECB RID: 16075
private static Transform PJCOHDAALKK = null;
// Token: 0x04003ECC RID: 16076
private LHLLJPPCDKA<int> OBGNAGNKIJN;
// Token: 0x04003ECD RID: 16077
private MakerPen FJBJNAPAFOA;
// Token: 0x02000B98 RID: 2968
public enum FODAMJOGFEN
{
// Token: 0x04003ECF RID: 16079
Edit,
// Token: 0x04003ED0 RID: 16080
Play
}
}
}