373 lines
13 KiB
C#
373 lines
13 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun;
|
|
using RecRoom.Core;
|
|
using RecRoom.Core.Creation;
|
|
using RecRoom.Core.Creation.Shapes;
|
|
using RecRoom.Core.Creation.UndoStack;
|
|
using RecRoom.Core.Rendering;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Tools.MakerPenTools
|
|
{
|
|
// Token: 0x02002BE1 RID: 11233
|
|
[Token(Token = "0x2002BE1")]
|
|
[Serializable]
|
|
public class MakerPenToolManipulate_Shape : MakerPenTool
|
|
{
|
|
// Token: 0x1700343D RID: 13373
|
|
// (get) Token: 0x06012B5C RID: 76636 RVA: 0x00441B6C File Offset: 0x0043FD6C
|
|
[Token(Token = "0x1700343D")]
|
|
public override string HudLabel
|
|
{
|
|
[Token(Token = "0x6012B5C")]
|
|
[Address(RVA = "0x14BA370", Offset = "0x14B9370", VA = "0x1814BA370", Slot = "10")]
|
|
get
|
|
{
|
|
return "Manipulate Shapes";
|
|
}
|
|
}
|
|
|
|
// Token: 0x1700343E RID: 13374
|
|
// (get) Token: 0x06012B5D RID: 76637 RVA: 0x00441B80 File Offset: 0x0043FD80
|
|
[Token(Token = "0x1700343E")]
|
|
public override Sprite HudSprite
|
|
{
|
|
[Token(Token = "0x6012B5D")]
|
|
[Address(RVA = "0x14BA3A0", Offset = "0x14B93A0", VA = "0x1814BA3A0", Slot = "11")]
|
|
get
|
|
{
|
|
return NPILADHLMKC.KGDLBEAPDFE(NPILADHLMKC.ONGOGHFGDEF.Manipulate);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012B5E RID: 76638 RVA: 0x00441B94 File Offset: 0x0043FD94
|
|
[Token(Token = "0x6012B5E")]
|
|
[Address(RVA = "0x14BA290", Offset = "0x14B9290", VA = "0x1814BA290", Slot = "4")]
|
|
public override void OFFLOPLJBBG(MakerPen.HJPIHGIFKEO FIBGLDDKDLB, MakerPen.KLAENPHIBEM OIHFNIFGFJB)
|
|
{
|
|
IFMKEGAIHID ifmkegaihid = new IFMKEGAIHID();
|
|
this.shapeManipulationManager = ifmkegaihid;
|
|
}
|
|
|
|
// Token: 0x06012B5F RID: 76639 RVA: 0x00441BB0 File Offset: 0x0043FDB0
|
|
[Token(Token = "0x6012B5F")]
|
|
[Address(RVA = "0x14B9FE0", Offset = "0x14B8FE0", VA = "0x1814B9FE0", Slot = "6")]
|
|
public override void DJFDPJKOGMJ(MakerPenTool.AGPFBFDFDHB EJCLBKHJIHO, MakerPen.HJPIHGIFKEO IFNKPAHPIID)
|
|
{
|
|
base.DJFDPJKOGMJ(EJCLBKHJIHO, IFNKPAHPIID);
|
|
this.hasSelectedHandle = false;
|
|
bool flag = IFNKPAHPIID == MakerPen.HJPIHGIFKEO.Object;
|
|
this.triggerSelectionNextFrame = flag;
|
|
if (base.ObjectContext.ENEJDOAEDCJ > 1)
|
|
{
|
|
base.ObjectContext.RemoveAllFromSelection();
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012B60 RID: 76640 RVA: 0x00441BFC File Offset: 0x0043FDFC
|
|
[Token(Token = "0x6012B60")]
|
|
[Address(RVA = "0x14B9070", Offset = "0x14B8070", VA = "0x1814B9070", Slot = "8")]
|
|
public override void BALOKJMBNIN()
|
|
{
|
|
base..ctor();
|
|
MakerPen makerPen = base.MakerPen;
|
|
CreationController creationController = this.creationController;
|
|
MakerPenVisuals penVisuals = makerPen._penVisuals;
|
|
IFMKEGAIHID ifmkegaihid = this.shapeManipulationManager;
|
|
int num = 0;
|
|
if ((this.hasSelectedHandle ? 1 : 0) == num)
|
|
{
|
|
ShapeCreationContext shapeContext = base.ShapeContext;
|
|
}
|
|
ShapeCreationContext shapeContext2 = base.ShapeContext;
|
|
if (!penVisuals.LEEIIMGPIBL.HFHFEJMMDFH)
|
|
{
|
|
}
|
|
string text = penVisuals.LEEIIMGPIBL.ToString();
|
|
Guid[] shape_RAYCAST_RESULTS = MakerPenTool.SHAPE_RAYCAST_RESULTS;
|
|
MakerPenVisuals penVisuals2 = base.PenVisuals;
|
|
int num2 = 0;
|
|
int num3;
|
|
if (num3 > 0)
|
|
{
|
|
}
|
|
penVisuals2.<CCHCGAPFBIB>k__BackingField = num2;
|
|
if (base.ShapeContext.ENEJDOAEDCJ == 1 && num3 > 0)
|
|
{
|
|
ShapeCreationContext shapeContext3 = base.ShapeContext;
|
|
Guid guid = MakerPenTool.SHAPE_RAYCAST_RESULTS[0];
|
|
bool flag = shapeContext3.IsSelected(guid);
|
|
}
|
|
int num4 = 0;
|
|
if ((this.hasSelectedHandle ? 1 : 0) != num)
|
|
{
|
|
bool flag2;
|
|
if (flag2)
|
|
{
|
|
goto IL_1A8;
|
|
}
|
|
IFMKEGAIHID ifmkegaihid2 = this.shapeManipulationManager;
|
|
Transform transform = base.ShapeContext.TryGetSelectedPrimitiveShapeTransform();
|
|
int num5 = 0;
|
|
ShapeCreationContext shapeContext4 = base.ShapeContext;
|
|
ShapeManipulationHandle shapeManipulationHandle = ifmkegaihid2.MLEHINAFHJA(num5, transform, shapeContext4);
|
|
}
|
|
IFMKEGAIHID ifmkegaihid3 = this.shapeManipulationManager;
|
|
ShapeManipulationHandle shapeManipulationHandle2;
|
|
if (num4 == 0 && shapeManipulationHandle2)
|
|
{
|
|
Transform transform2 = shapeManipulationHandle2.transform;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Transform extrusionPoint = base.PenVisuals.extrusionPoint;
|
|
Vector3 vector2;
|
|
float z2 = vector2.z;
|
|
Vector3 vector3;
|
|
float z3 = vector3.z;
|
|
Transform extrusionPoint2 = base.PenVisuals.extrusionPoint;
|
|
Vector3 vector4;
|
|
float z4 = vector4.z;
|
|
MakerPenVisuals penVisuals3 = base.PenVisuals;
|
|
Transform extrusionPoint3 = base.PenVisuals.extrusionPoint;
|
|
Vector3 vector5;
|
|
float z5 = vector5.z;
|
|
Transform extrusionPoint4 = base.PenVisuals.extrusionPoint;
|
|
Vector3 vector6;
|
|
float z6 = vector6.z;
|
|
Vector3 vector7;
|
|
float z7 = vector7.z;
|
|
Vector3 vector8;
|
|
float z8 = vector8.z;
|
|
int num6 = 0;
|
|
penVisuals3.<CCHCGAPFBIB>k__BackingField = num6;
|
|
}
|
|
IL_1A8:
|
|
ShapeManipulationHandle shapeManipulationHandle3;
|
|
if (shapeManipulationHandle3)
|
|
{
|
|
shapeManipulationHandle3.Highlight();
|
|
}
|
|
float z9;
|
|
if (!this.creationController.IsSelectInputDown && (this.triggerSelectionNextFrame ? 1 : 0) == num)
|
|
{
|
|
if (!this.creationController.IsSelectInputPressed)
|
|
{
|
|
if (this.creationController.IsSelectInputUp)
|
|
{
|
|
this.BPOEKOOILFA();
|
|
}
|
|
return;
|
|
}
|
|
CreationController creationController2 = this.creationController;
|
|
CreationController.PLGPMIKGDDC plgpmikgddc = this.rayOffset;
|
|
CreationController creationController3 = this.creationController;
|
|
Vector3 vector9;
|
|
z9 = vector9.z;
|
|
Quaternion quaternion = this.penRotationOffset;
|
|
float unscaledTime = Time.unscaledTime;
|
|
float unscaledTime2 = Time.unscaledTime;
|
|
this.lastSynchronizeTime = unscaledTime2;
|
|
NNNJFEILANM snapping = base.MakerPen.Snapping;
|
|
ShapeCreationContext shapeContext5 = base.ShapeContext;
|
|
}
|
|
this.triggerSelectionNextFrame = false;
|
|
bool flag3;
|
|
this.hasSelectedHandle = flag3;
|
|
ShapeCreationContext shapeContext6;
|
|
if (!flag3)
|
|
{
|
|
while (z9 != 0f)
|
|
{
|
|
}
|
|
MakerPen makerPen2 = base.MakerPen;
|
|
base.ShapeContext.RemoveAllFromSelection();
|
|
shapeContext6 = base.ShapeContext;
|
|
Guid guid2 = MakerPenTool.SHAPE_RAYCAST_RESULTS[0];
|
|
bool flag4 = shapeContext6.AddToSelection(guid2);
|
|
}
|
|
ShapeCreationContext shapeContext7 = base.ShapeContext;
|
|
bool flag5;
|
|
if (!flag5)
|
|
{
|
|
this.hasSelectedHandle = false;
|
|
}
|
|
CreationController creationController4 = this.creationController;
|
|
CreationController creationController5 = this.creationController;
|
|
float unscaledTime3 = Time.unscaledTime;
|
|
this.lastSynchronizeTime = unscaledTime3;
|
|
PhotonView pvCache = shapeContext6.pvCache;
|
|
this.handleInfo = pvCache;
|
|
Action onDestroyEvent = shapeContext6.OnDestroyEvent;
|
|
this.handleInfo.GLHHBDHELAO.y = onDestroyEvent;
|
|
bool forwardedRegistered = shapeContext6.forwardedRegistered;
|
|
this.handleInfo.GOGCPNPLCEP = forwardedRegistered;
|
|
CreationContext parentCreationContext = shapeContext6.parentCreationContext;
|
|
this.handleInfo.IGPENJBJADK = parentCreationContext;
|
|
int goonokpfbmj = shapeContext6.GOONOKPFBMJ;
|
|
this.handleInfo.MBIEHEFDGKE = goonokpfbmj;
|
|
MakerPenVisuals penVisuals4 = base.PenVisuals;
|
|
int num7 = 0;
|
|
penVisuals4.MNADIBEHEMI = num7 != 0;
|
|
SelectionRendererEffect.Disable(this);
|
|
NNNJFEILANM snapping2 = base.MakerPen.Snapping;
|
|
MakerPen makerPen3 = base.MakerPen;
|
|
TranslationSnappingVisualization translationSnappingVisualization = this.creationController.TranslationSnappingVisualization;
|
|
ShapeCreationContext shapeContext8 = base.ShapeContext;
|
|
float <GHFHFLCINKP>k__BackingField = base.MakerPen.Snapping.<GHFHFLCINKP>k__BackingField;
|
|
translationSnappingVisualization.Enable(shapeContext8, <GHFHFLCINKP>k__BackingField);
|
|
if (base.ObjectContext.SelectionScalingStarted != 0)
|
|
{
|
|
MakerPenVisuals penVisuals5 = base.MakerPen._penVisuals;
|
|
CreationContext objectContext = base.ObjectContext;
|
|
}
|
|
ShapeContainer selectedShapeContainer = base.ShapeContext.HAHLCMFENMD;
|
|
IReadOnlyList<Guid> readOnlyList = base.ShapeContext.ABNCFJMLCMP();
|
|
CreationContext <CreationContext>k__BackingField = this.creationController.<CreationContext>k__BackingField;
|
|
NNCBAGGPCIF nncbaggpcif = new NNCBAGGPCIF(selectedShapeContainer, readOnlyList, <CreationContext>k__BackingField);
|
|
this.pendingUndoEntry = nncbaggpcif;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06012B61 RID: 76641 RVA: 0x00442018 File Offset: 0x00440218
|
|
[Token(Token = "0x6012B61")]
|
|
[Address(RVA = "0x14B9E10", Offset = "0x14B8E10", VA = "0x1814B9E10", Slot = "7")]
|
|
public override void BDMHMGGPNME(MakerPenTool.AGPFBFDFDHB EJCLBKHJIHO)
|
|
{
|
|
base.BDMHMGGPNME(EJCLBKHJIHO);
|
|
this.triggerSelectionNextFrame = false;
|
|
this.BPOEKOOILFA();
|
|
this.shapeManipulationManager.ODDLGBNDEAN();
|
|
}
|
|
|
|
// Token: 0x06012B62 RID: 76642 RVA: 0x0044204C File Offset: 0x0044024C
|
|
[Token(Token = "0x6012B62")]
|
|
[Address(RVA = "0x14BA050", Offset = "0x14B9050", VA = "0x1814BA050", Slot = "17")]
|
|
public override bool IFIHNMEBGLF(Ray OPMKFDNLHKI)
|
|
{
|
|
IFMKEGAIHID ifmkegaihid = this.shapeManipulationManager;
|
|
int num = 0;
|
|
ShapeManipulationHandle shapeManipulationHandle;
|
|
return shapeManipulationHandle != num;
|
|
}
|
|
|
|
// Token: 0x06012B63 RID: 76643 RVA: 0x00442070 File Offset: 0x00440270
|
|
[Token(Token = "0x6012B63")]
|
|
[Address(RVA = "0x14BA140", Offset = "0x14B9140", VA = "0x1814BA140")]
|
|
private void MNHHMEACPMJ()
|
|
{
|
|
if (this.hasSelectedHandle)
|
|
{
|
|
CreationController creationController = this.creationController;
|
|
CreationController creationController2 = this.creationController;
|
|
Vector3 vector;
|
|
float z = vector.z;
|
|
Quaternion quaternion = this.penRotationOffset;
|
|
float unscaledTime = Time.unscaledTime;
|
|
float unscaledTime2 = Time.unscaledTime;
|
|
this.lastSynchronizeTime = unscaledTime2;
|
|
MakerPen makerPen = base.MakerPen;
|
|
ShapeCreationContext shapeContext = base.ShapeContext;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012B64 RID: 76644 RVA: 0x004420D8 File Offset: 0x004402D8
|
|
[Token(Token = "0x6012B64")]
|
|
[Address(RVA = "0x14B9E50", Offset = "0x14B8E50", VA = "0x1814B9E50")]
|
|
private void BPOEKOOILFA()
|
|
{
|
|
if (this.hasSelectedHandle)
|
|
{
|
|
ShapeCreationContext shapeContext = base.ShapeContext;
|
|
}
|
|
CAHCDEBGPFG cahcdebgpfg = this.pendingUndoEntry;
|
|
if (cahcdebgpfg != 0)
|
|
{
|
|
CreationController creationController = this.creationController;
|
|
string text = cahcdebgpfg.GPJEDBDCNNP;
|
|
UndoStack undoStack = base.MakerPen._undoStack;
|
|
CAHCDEBGPFG cahcdebgpfg2 = this.pendingUndoEntry;
|
|
undoStack.Add(cahcdebgpfg2);
|
|
this.pendingUndoEntry = (ulong)0L;
|
|
}
|
|
this.hasSelectedHandle = false;
|
|
base.PenVisuals.MNADIBEHEMI = true;
|
|
MakerPenVisuals penVisuals = base.PenVisuals;
|
|
int num = 0;
|
|
penVisuals.<CCHCGAPFBIB>k__BackingField = num;
|
|
SelectionRendererEffect.Enable(this);
|
|
OKNNKFGFODL selectionScalingFinished = base.ObjectContext.SelectionScalingFinished;
|
|
if (selectionScalingFinished != 0)
|
|
{
|
|
selectionScalingFinished.CNFDGDEOPPF();
|
|
}
|
|
if (!base.MakerPen.<EIINFEINIIM>k__BackingField)
|
|
{
|
|
this.creationController.TranslationSnappingVisualization.Disable();
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012B65 RID: 76645 RVA: 0x004421A0 File Offset: 0x004403A0
|
|
[Token(Token = "0x6012B65")]
|
|
[Address(RVA = "0x14BA310", Offset = "0x14B9310", VA = "0x1814BA310")]
|
|
public MakerPenToolManipulate_Shape()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400C09D RID: 49309
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400C09D")]
|
|
[NonSerialized]
|
|
private bool hasSelectedHandle;
|
|
|
|
// Token: 0x0400C09E RID: 49310
|
|
[FieldOffset(Offset = "0x4C")]
|
|
[Token(Token = "0x400C09E")]
|
|
[NonSerialized]
|
|
private JNIJFOIGFGJ handleInfo;
|
|
|
|
// Token: 0x0400C09F RID: 49311
|
|
[FieldOffset(Offset = "0x9C")]
|
|
[Token(Token = "0x400C09F")]
|
|
[NonSerialized]
|
|
private CreationController.PLGPMIKGDDC rayOffset;
|
|
|
|
// Token: 0x0400C0A0 RID: 49312
|
|
[FieldOffset(Offset = "0xAC")]
|
|
[Token(Token = "0x400C0A0")]
|
|
[NonSerialized]
|
|
private Quaternion penRotationOffset;
|
|
|
|
// Token: 0x0400C0A1 RID: 49313
|
|
[FieldOffset(Offset = "0xBC")]
|
|
[Token(Token = "0x400C0A1")]
|
|
[NonSerialized]
|
|
private float lastSynchronizeTime;
|
|
|
|
// Token: 0x0400C0A2 RID: 49314
|
|
[Token(Token = "0x400C0A2")]
|
|
[NonSerialized]
|
|
private const float MANIPULATION_SYNCHRONIZE_TIME_INTERVAL = 0.1f;
|
|
|
|
// Token: 0x0400C0A3 RID: 49315
|
|
[FieldOffset(Offset = "0xC0")]
|
|
[Token(Token = "0x400C0A3")]
|
|
[NonSerialized]
|
|
private IFMKEGAIHID shapeManipulationManager;
|
|
|
|
// Token: 0x0400C0A4 RID: 49316
|
|
[FieldOffset(Offset = "0xC8")]
|
|
[Token(Token = "0x400C0A4")]
|
|
[NonSerialized]
|
|
private CAHCDEBGPFG pendingUndoEntry;
|
|
|
|
// Token: 0x0400C0A5 RID: 49317
|
|
[FieldOffset(Offset = "0xD0")]
|
|
[Token(Token = "0x400C0A5")]
|
|
[NonSerialized]
|
|
private bool triggerSelectionNextFrame;
|
|
}
|
|
}
|