Files
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

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