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

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;
}
}