376 lines
12 KiB
C#
376 lines
12 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun;
|
|
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: 0x02002615 RID: 9749
|
|
[Token(Token = "0x2002615")]
|
|
[Serializable]
|
|
[StructLayout(3)]
|
|
public class MakerPenToolManipulate_Shape : MakerPenTool
|
|
{
|
|
// Token: 0x17002DC6 RID: 11718
|
|
// (get) Token: 0x06010DBF RID: 69055 RVA: 0x003F6E94 File Offset: 0x003F5094
|
|
[Token(Token = "0x17002DC6")]
|
|
public override string HudLabel
|
|
{
|
|
[Token(Token = "0x6010DBF")]
|
|
[Address(RVA = "0x12BD880", Offset = "0x12BC280", VA = "0x1812BD880", Slot = "10")]
|
|
get
|
|
{
|
|
return "Manipulate Shapes";
|
|
}
|
|
}
|
|
|
|
// Token: 0x17002DC7 RID: 11719
|
|
// (get) Token: 0x06010DC0 RID: 69056 RVA: 0x003F6EA8 File Offset: 0x003F50A8
|
|
[Token(Token = "0x17002DC7")]
|
|
public override Sprite HudSprite
|
|
{
|
|
[Token(Token = "0x6010DC0")]
|
|
[Address(RVA = "0x12BD8B0", Offset = "0x12BC2B0", VA = "0x1812BD8B0", Slot = "11")]
|
|
get
|
|
{
|
|
return NPILADHLMKC.KGDLBEAPDFE(NPILADHLMKC.ONGOGHFGDEF.Manipulate);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06010DC1 RID: 69057 RVA: 0x003F6EBC File Offset: 0x003F50BC
|
|
[Token(Token = "0x6010DC1")]
|
|
[Address(RVA = "0x12BD7A0", Offset = "0x12BC1A0", VA = "0x1812BD7A0", Slot = "4")]
|
|
public override void OFFLOPLJBBG(MakerPen.HJPIHGIFKEO FIBGLDDKDLB, MakerPen.KLAENPHIBEM OIHFNIFGFJB)
|
|
{
|
|
IFMKEGAIHID ifmkegaihid = new IFMKEGAIHID();
|
|
this.shapeManipulationManager = ifmkegaihid;
|
|
}
|
|
|
|
// Token: 0x06010DC2 RID: 69058 RVA: 0x003F6ED8 File Offset: 0x003F50D8
|
|
[Token(Token = "0x6010DC2")]
|
|
[Address(RVA = "0x12BD590", Offset = "0x12BBF90", VA = "0x1812BD590", 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: 0x06010DC3 RID: 69059 RVA: 0x003F6F24 File Offset: 0x003F5124
|
|
[Token(Token = "0x6010DC3")]
|
|
[Address(RVA = "0x12BC490", Offset = "0x12BAE90", VA = "0x1812BC490", Slot = "8")]
|
|
public override void BALOKJMBNIN()
|
|
{
|
|
base..ctor();
|
|
MakerPen makerPen = base.MakerPen;
|
|
NCBACKFHCJK creationController = this.creationController;
|
|
MakerPenVisuals penVisuals = makerPen._penVisuals;
|
|
int num = 0;
|
|
num += num;
|
|
num++;
|
|
IFMKEGAIHID ifmkegaihid = this.shapeManipulationManager;
|
|
if ((this.hasSelectedHandle ? 1 : 0) == num)
|
|
{
|
|
int num2 = 0;
|
|
ShapeCreationContext shapeContext = base.ShapeContext;
|
|
num2 += num2;
|
|
}
|
|
ShapeCreationContext shapeContext2 = base.ShapeContext;
|
|
if (!penVisuals.LEEIIMGPIBL.ContainsValues)
|
|
{
|
|
}
|
|
string text = penVisuals.LEEIIMGPIBL.ToString();
|
|
Guid[] shape_RAYCAST_RESULTS = MakerPenTool.SHAPE_RAYCAST_RESULTS;
|
|
MakerPenVisuals penVisuals2 = base.PenVisuals;
|
|
int num3 = 0;
|
|
int num4;
|
|
if (num4 > 0)
|
|
{
|
|
}
|
|
penVisuals2.<CCHCGAPFBIB>k__BackingField = num3;
|
|
bool flag;
|
|
if (base.ShapeContext.ENEJDOAEDCJ == 1 && num4 > 0)
|
|
{
|
|
ShapeCreationContext shapeContext3 = base.ShapeContext;
|
|
Guid guid = MakerPenTool.SHAPE_RAYCAST_RESULTS[0];
|
|
flag = shapeContext3.IsSelected(guid);
|
|
}
|
|
int num5 = 0;
|
|
if ((this.hasSelectedHandle ? 1 : 0) != num)
|
|
{
|
|
if (flag)
|
|
{
|
|
goto IL_1B7;
|
|
}
|
|
IFMKEGAIHID ifmkegaihid2 = this.shapeManipulationManager;
|
|
Transform transform = base.ShapeContext.TryGetSelectedPrimitiveShapeTransform();
|
|
int num6 = 0;
|
|
ShapeCreationContext shapeContext4 = base.ShapeContext;
|
|
ShapeManipulationHandle shapeManipulationHandle = ifmkegaihid2.MLEHINAFHJA(num6, transform, shapeContext4);
|
|
}
|
|
IFMKEGAIHID ifmkegaihid3 = this.shapeManipulationManager;
|
|
ShapeManipulationHandle shapeManipulationHandle2;
|
|
if (num5 == 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 num7 = 0;
|
|
penVisuals3.<CCHCGAPFBIB>k__BackingField = num7;
|
|
}
|
|
IL_1B7:
|
|
ShapeManipulationHandle shapeManipulationHandle3;
|
|
bool flag2 = shapeManipulationHandle3;
|
|
if (flag2)
|
|
{
|
|
shapeManipulationHandle3.Highlight();
|
|
}
|
|
NCBACKFHCJK creationController2 = this.creationController;
|
|
float z10;
|
|
if (!flag2 && (this.triggerSelectionNextFrame ? 1 : 0) == num)
|
|
{
|
|
NCBACKFHCJK creationController3 = this.creationController;
|
|
if (!flag2)
|
|
{
|
|
NCBACKFHCJK creationController4 = this.creationController;
|
|
if (flag2)
|
|
{
|
|
this.BPOEKOOILFA();
|
|
}
|
|
return;
|
|
}
|
|
Transform transform3 = this.AKNLMKBKODD();
|
|
float z9 = this.initialOffset.z;
|
|
Quaternion quaternion = this.penRotationOffset;
|
|
Vector3 vector9;
|
|
z10 = vector9.z;
|
|
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 (z10 != 0f)
|
|
{
|
|
}
|
|
MakerPen makerPen2 = base.MakerPen;
|
|
base.ShapeContext.RemoveAllFromSelection();
|
|
shapeContext6 = base.ShapeContext;
|
|
Guid guid2 = MakerPenTool.SHAPE_RAYCAST_RESULTS[0];
|
|
bool flag4 = shapeContext6.AddToSelection(guid2);
|
|
}
|
|
if (base.ShapeContext == 0)
|
|
{
|
|
this.hasSelectedHandle = false;
|
|
}
|
|
Transform transform4 = this.AKNLMKBKODD();
|
|
Vector3 vector10;
|
|
float z11 = vector10.z;
|
|
this.initialOffset.z = z11;
|
|
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 num8 = 0;
|
|
penVisuals4.MNADIBEHEMI = num8 != 0;
|
|
NNNJFEILANM snapping2 = base.MakerPen.Snapping;
|
|
MakerPen makerPen3 = base.MakerPen;
|
|
NCBACKFHCJK creationController5 = this.creationController;
|
|
ShapeCreationContext shapeContext7 = base.ShapeContext;
|
|
float <GHFHFLCINKP>k__BackingField = base.MakerPen.Snapping.<GHFHFLCINKP>k__BackingField;
|
|
if (base.ObjectContext.SelectionScalingStarted != 0)
|
|
{
|
|
CreationContext objectContext = base.ObjectContext;
|
|
}
|
|
ShapeContainer selectedShapeContainer = base.ShapeContext.HAHLCMFENMD;
|
|
IReadOnlyList<Guid> readOnlyList = base.ShapeContext.ABNCFJMLCMP();
|
|
NCBACKFHCJK creationController6 = this.creationController;
|
|
NNCBAGGPCIF nncbaggpcif;
|
|
this.pendingUndoEntry = nncbaggpcif;
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06010DC4 RID: 69060 RVA: 0x003F731C File Offset: 0x003F551C
|
|
[Token(Token = "0x6010DC4")]
|
|
[Address(RVA = "0x12BD320", Offset = "0x12BBD20", VA = "0x1812BD320", Slot = "7")]
|
|
public override void BDMHMGGPNME(MakerPenTool.AGPFBFDFDHB EJCLBKHJIHO)
|
|
{
|
|
base.BDMHMGGPNME(EJCLBKHJIHO);
|
|
this.triggerSelectionNextFrame = false;
|
|
this.BPOEKOOILFA();
|
|
this.shapeManipulationManager.ODDLGBNDEAN();
|
|
}
|
|
|
|
// Token: 0x06010DC5 RID: 69061 RVA: 0x003F7350 File Offset: 0x003F5550
|
|
[Token(Token = "0x6010DC5")]
|
|
[Address(RVA = "0x12BD600", Offset = "0x12BC000", VA = "0x1812BD600")]
|
|
private void MNHHMEACPMJ()
|
|
{
|
|
if (this.hasSelectedHandle)
|
|
{
|
|
Transform transform = this.AKNLMKBKODD();
|
|
float z = this.initialOffset.z;
|
|
Quaternion quaternion = this.penRotationOffset;
|
|
Vector3 vector;
|
|
float z2 = vector.z;
|
|
float unscaledTime = Time.unscaledTime;
|
|
float unscaledTime2 = Time.unscaledTime;
|
|
this.lastSynchronizeTime = unscaledTime2;
|
|
MakerPen makerPen = base.MakerPen;
|
|
ShapeCreationContext shapeContext = base.ShapeContext;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06010DC6 RID: 69062 RVA: 0x003F73BC File Offset: 0x003F55BC
|
|
[Token(Token = "0x6010DC6")]
|
|
[Address(RVA = "0x12BD360", Offset = "0x12BBD60", VA = "0x1812BD360")]
|
|
private void BPOEKOOILFA()
|
|
{
|
|
if (this.hasSelectedHandle)
|
|
{
|
|
ShapeCreationContext shapeContext = base.ShapeContext;
|
|
}
|
|
CAHCDEBGPFG cahcdebgpfg = this.pendingUndoEntry;
|
|
if (cahcdebgpfg != 0)
|
|
{
|
|
NCBACKFHCJK 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.KIMBPPFDHKG = !base.MakerPen.<EIINFEINIIM>k__BackingField;
|
|
ActionEvent selectionScalingFinished = base.ObjectContext.SelectionScalingFinished;
|
|
if (selectionScalingFinished != 0)
|
|
{
|
|
int num2 = 0;
|
|
selectionScalingFinished.Invoke(num2 != 0);
|
|
}
|
|
if (!base.MakerPen.<EIINFEINIIM>k__BackingField)
|
|
{
|
|
NCBACKFHCJK creationController2 = this.creationController;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06010DC7 RID: 69063 RVA: 0x003F7490 File Offset: 0x003F5690
|
|
[Token(Token = "0x6010DC7")]
|
|
[Address(RVA = "0x12BC3F0", Offset = "0x12BADF0", VA = "0x1812BC3F0")]
|
|
private Transform AKNLMKBKODD()
|
|
{
|
|
NCBACKFHCJK creationController = this.creationController;
|
|
return base.MakerPen._penVisuals.extrusionPoint;
|
|
}
|
|
|
|
// Token: 0x06010DC8 RID: 69064 RVA: 0x003F74C4 File Offset: 0x003F56C4
|
|
[Token(Token = "0x6010DC8")]
|
|
[Address(RVA = "0x12BD820", Offset = "0x12BC220", VA = "0x1812BD820")]
|
|
public MakerPenToolManipulate_Shape()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400B350 RID: 45904
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400B350")]
|
|
[NonSerialized]
|
|
private bool hasSelectedHandle;
|
|
|
|
// Token: 0x0400B351 RID: 45905
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x4C")]
|
|
[Token(Token = "0x400B351")]
|
|
[NonSerialized]
|
|
private JNIJFOIGFGJ handleInfo;
|
|
|
|
// Token: 0x0400B352 RID: 45906
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x9C")]
|
|
[Token(Token = "0x400B352")]
|
|
[NonSerialized]
|
|
private Vector3 initialOffset;
|
|
|
|
// Token: 0x0400B353 RID: 45907
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")]
|
|
[Token(Token = "0x400B353")]
|
|
[NonSerialized]
|
|
private Quaternion penRotationOffset;
|
|
|
|
// Token: 0x0400B354 RID: 45908
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")]
|
|
[Token(Token = "0x400B354")]
|
|
[NonSerialized]
|
|
private float lastSynchronizeTime;
|
|
|
|
// Token: 0x0400B355 RID: 45909
|
|
[Token(Token = "0x400B355")]
|
|
[NonSerialized]
|
|
private const float MANIPULATION_SYNCHRONIZE_TIME_INTERVAL = 0.1f;
|
|
|
|
// Token: 0x0400B356 RID: 45910
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")]
|
|
[Token(Token = "0x400B356")]
|
|
[NonSerialized]
|
|
private IFMKEGAIHID shapeManipulationManager;
|
|
|
|
// Token: 0x0400B357 RID: 45911
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")]
|
|
[Token(Token = "0x400B357")]
|
|
[NonSerialized]
|
|
private CAHCDEBGPFG pendingUndoEntry;
|
|
|
|
// Token: 0x0400B358 RID: 45912
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0xD0")]
|
|
[Token(Token = "0x400B358")]
|
|
[NonSerialized]
|
|
private bool triggerSelectionNextFrame;
|
|
}
|
|
}
|