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

813 lines
32 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using Photon.Realtime;
using RecRoom.Core.Creation;
using RecRoom.Core.Rendering;
using RecRoom.Systems;
using UnityEngine;
namespace RecRoom.Tools
{
// Token: 0x0200256F RID: 9583
[Token(Token = "0x200256F")]
[Serializable]
[StructLayout(3)]
public abstract class ShapeCreationLogic
{
// Token: 0x17002D25 RID: 11557
// (get) Token: 0x06010937 RID: 67895 RVA: 0x003E5510 File Offset: 0x003E3710
[Token(Token = "0x17002D25")]
public bool IsExtruding
{
[Token(Token = "0x6010937")]
[Address(RVA = "0x15AEE70", Offset = "0x15AD870", VA = "0x1815AEE70")]
get
{
return this.activeShapeType != ACBDPBHGKJL.Invalid;
}
}
// Token: 0x06010938 RID: 67896
[Token(Token = "0x6010938")]
[Address(Slot = "4")]
protected abstract Vector3 KHELIHDNAEN();
// Token: 0x06010939 RID: 67897
[Token(Token = "0x6010939")]
[Address(Slot = "5")]
protected abstract Quaternion FILFLIOEGEL();
// Token: 0x0601093A RID: 67898
[Token(Token = "0x601093A")]
[Address(Slot = "6")]
protected abstract Transform JBDIEJILJBG();
// Token: 0x17002D26 RID: 11558
// (get) Token: 0x0601093B RID: 67899
[Token(Token = "0x17002D26")]
protected abstract IJGKBBCJKNO CurveShapeSettings
{
[Token(Token = "0x601093B")]
[Address(Slot = "7")]
get;
}
// Token: 0x0601093C RID: 67900 RVA: 0x003E552C File Offset: 0x003E372C
[Token(Token = "0x601093C")]
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "8")]
protected virtual bool LDEOLNOPNJK()
{
}
// Token: 0x0601093D RID: 67901 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x601093D")]
[Address(RVA = "0x15ACC50", Offset = "0x15AB650", VA = "0x1815ACC50", Slot = "9")]
protected virtual float DDFJLHHPDGA()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0601093E RID: 67902 RVA: 0x003E553C File Offset: 0x003E373C
[Token(Token = "0x601093E")]
[Address(RVA = "0x413970", Offset = "0x412370", VA = "0x180413970", Slot = "10")]
protected virtual bool ANLHJKHJANN()
{
}
// Token: 0x0601093F RID: 67903 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x601093F")]
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "11")]
protected virtual void EOLEDECNKDH(GBDECALBCOP GIAOBLMEMMI, string LICNAIGLFCP, Photon.Realtime.Player CPAIFLCLGPB)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06010940 RID: 67904 RVA: 0x003E554C File Offset: 0x003E374C
[Token(Token = "0x6010940")]
[Address(RVA = "0x15AEAF0", Offset = "0x15AD4F0", VA = "0x1815AEAF0", Slot = "12")]
public virtual void OFFLOPLJBBG(CreationContext LHOMKMINCHH, ShapeCreationContext MOJKBJJOCFG, Func<float> HBGPHHDJKKN)
{
ShapeCreationLogic.CCKJIEJCDIG cckjiejcdig = this.triggerHistory;
this.context = LHOMKMINCHH;
this.shapeContext = MOJKBJJOCFG;
this.normalizedInputProvider = HBGPHHDJKKN;
cckjiejcdig.LOIBGHBPHJF = false;
}
// Token: 0x06010941 RID: 67905 RVA: 0x003E5584 File Offset: 0x003E3784
[Token(Token = "0x6010941")]
[Address(RVA = "0x15AE1D0", Offset = "0x15ACBD0", VA = "0x1815AE1D0")]
public bool IEBOBLKFHFG(bool CHFPGDPNLIM = true)
{
ShapeCreationLogic.CCKJIEJCDIG cckjiejcdig = this.triggerHistory;
float num = this.normalizedInputProvider();
if (!CHFPGDPNLIM || !cckjiejcdig.LOIBGHBPHJF)
{
}
throw new NullReferenceException();
}
// Token: 0x06010942 RID: 67906 RVA: 0x003E55B8 File Offset: 0x003E37B8
[Token(Token = "0x6010942")]
[Address(RVA = "0x15ADD60", Offset = "0x15AC760", VA = "0x1815ADD60")]
public void HPHEFHDIPOH(ACBDPBHGKJL GEDCEIDOKJL, LNBGEMHOKFN GJAINANBOCB, CLKCBCAGDDK KFENPJENIOI, bool BCPIDHJGPHA = false)
{
}
// Token: 0x06010943 RID: 67907 RVA: 0x003E55C8 File Offset: 0x003E37C8
[Token(Token = "0x6010943")]
[Address(RVA = "0x15ADE30", Offset = "0x15AC830", VA = "0x1815ADE30")]
public void HPHEFHDIPOH(ACBDPBHGKJL GEDCEIDOKJL, LNBGEMHOKFN GJAINANBOCB, CLKCBCAGDDK KFENPJENIOI, Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, bool BCPIDHJGPHA = false)
{
Func<float> func = this.normalizedInputProvider;
ShapeCreationLogic.CCKJIEJCDIG cckjiejcdig = this.triggerHistory;
float num = func();
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn = cckjiejcdig.BJJLOAAFEPN;
cckjiejcdig.LOIBGHBPHJF = false;
bjjloaafepn.Clear();
float unscaledTime = Time.unscaledTime;
int num2 = 0;
cckjiejcdig.NHCOACMNKLK = num;
cckjiejcdig.KILBJPHCGNM = (float)num2;
cckjiejcdig.NHCOACMNKLK.MOPKOPOKKEE = unscaledTime;
this.activeShapeType = GEDCEIDOKJL;
if (GEDCEIDOKJL != ACBDPBHGKJL.Ribbon && GEDCEIDOKJL != ACBDPBHGKJL.Tube)
{
ShapeCreationContext shapeCreationContext = this.shapeContext;
Vector3 one = Vector3.one;
Vector3 vector;
float z = vector.z;
bool flag = this.ANLHJKHJANN();
return;
}
this.continuingOnCurve = num2 != 0;
float num3 = this.JJCLHBCIJKD();
ShapeCreationContext shapeCreationContext2 = this.shapeContext;
ACBDPBHGKJL acbdpbhgkjl = this.activeShapeType;
Transform transform = this.JBDIEJILJBG();
this.IMBABJICMII(true);
this.IMBABJICMII(true);
this.continuingOnCurve = true;
ShapeCreationContext shapeCreationContext3 = this.shapeContext;
ShapeCreationContext.CBBDBCJOFPD cbbdbcjofpd;
bool flag2 = cbbdbcjofpd == 0;
throw new NullReferenceException();
}
// Token: 0x06010944 RID: 67908 RVA: 0x003E56B8 File Offset: 0x003E38B8
[Token(Token = "0x6010944")]
[Address(RVA = "0x15AD520", Offset = "0x15ABF20", VA = "0x1815AD520")]
public void GKNKNJIGOLO()
{
SelectionRendererEffect.KIMBPPFDHKG = this.activeShapeType == ACBDPBHGKJL.Invalid;
if (this.activeShapeType != ACBDPBHGKJL.Invalid)
{
Func<float> func = this.normalizedInputProvider;
ShapeCreationLogic.CCKJIEJCDIG cckjiejcdig = this.triggerHistory;
float num = func();
float unscaledTime = Time.unscaledTime;
cckjiejcdig.EEPABPKOGGI = num;
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn = cckjiejcdig.BJJLOAAFEPN;
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn2 = cckjiejcdig.BJJLOAAFEPN;
cckjiejcdig.KILBJPHCGNM = num;
ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID fafmlikmgid = bjjloaafepn2.Peek();
if (unscaledTime > 0.1f)
{
ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID fafmlikmgid2 = cckjiejcdig.BJJLOAAFEPN.Dequeue();
float kilbjphcgnm = cckjiejcdig.KILBJPHCGNM;
cckjiejcdig.NHCOACMNKLK = fafmlikmgid2;
cckjiejcdig.NHCOACMNKLK.MOPKOPOKKEE = unscaledTime;
cckjiejcdig.KILBJPHCGNM = kilbjphcgnm;
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn3 = cckjiejcdig.BJJLOAAFEPN;
cckjiejcdig.NHCOACMNKLK = num;
}
ShapeCreationLogic.CCKJIEJCDIG cckjiejcdig2 = this.triggerHistory;
ACBDPBHGKJL acbdpbhgkjl = this.activeShapeType;
if (acbdpbhgkjl != ACBDPBHGKJL.Ribbon && acbdpbhgkjl != ACBDPBHGKJL.Tube)
{
float unscaledTime2 = Time.unscaledTime;
}
float num2 = this.DDFJLHHPDGA();
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn4 = this.triggerHistory.BJJLOAAFEPN;
int num3 = 0;
this.IMBABJICMII(num3 != 0);
int num4 = 0;
this.HKBAPDGEDFM(num4 != 0);
if (NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.ELLAIAJACNH || this.shapeContext.FJEABDPMDOF)
{
this.INNEJBHJKLM();
}
}
ShapeCreationContext shapeCreationContext = this.shapeContext;
bool flag = this.activeShapeType != ACBDPBHGKJL.Invalid;
shapeCreationContext.ShouldHideOriginVisualizer(flag, this);
}
// Token: 0x06010945 RID: 67909 RVA: 0x003E5804 File Offset: 0x003E3A04
[Token(Token = "0x6010945")]
[Address(RVA = "0x15AE530", Offset = "0x15ACF30", VA = "0x1815AE530")]
public void INNEJBHJKLM()
{
ACBDPBHGKJL acbdpbhgkjl = this.activeShapeType;
if (acbdpbhgkjl != ACBDPBHGKJL.Invalid)
{
if (acbdpbhgkjl != ACBDPBHGKJL.Ribbon && acbdpbhgkjl != ACBDPBHGKJL.Tube)
{
this.GKINDBBCGEP(true);
ShapeCreationContext shapeCreationContext = this.shapeContext;
}
float num = this.DDFJLHHPDGA();
float num2 = this.JJCLHBCIJKD();
ShapeCreationContext shapeCreationContext2 = this.shapeContext;
this.HKBAPDGEDFM(true);
ShapeCreationContext shapeCreationContext3 = this.shapeContext;
int num3 = 0;
shapeCreationContext3.FinishShape(num3 != 0);
ShapeCreationContext shapeCreationContext4 = this.shapeContext;
int num4 = 0;
if (shapeCreationContext4 != num4 && this.shapeContext.ABNCFJMLCMP() != 0)
{
IReadOnlyList<Guid> readOnlyList = this.shapeContext.ABNCFJMLCMP();
Guid empty = Guid.Empty;
bool flag;
if (flag)
{
this.shapeContext.RemoveAllFromSelection();
}
}
}
ShapeCreationContext shapeCreationContext5 = this.shapeContext;
int num5 = 0;
if (shapeCreationContext5 != num5)
{
ShapeCreationContext shapeCreationContext6 = this.shapeContext;
int num6 = 0;
shapeCreationContext6.ShouldHideOriginVisualizer(num6 != 0, this);
}
this.activeShapeType = (ACBDPBHGKJL)((ulong)4294967295L);
}
// Token: 0x06010946 RID: 67910 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6010946")]
[Address(RVA = "0x3C9F60", Offset = "0x3C8960", VA = "0x1803C9F60", Slot = "13")]
protected virtual void NBLMMFIDMFJ(Guid IHFGNPJIFLC)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06010947 RID: 67911 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6010947")]
[Address(RVA = "0x15ADC60", Offset = "0x15AC660", VA = "0x1815ADC60", Slot = "14")]
protected virtual Vector3 HKOADHECEHB(Vector3 OJJOHDIFMEG)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06010948 RID: 67912 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6010948")]
[Address(RVA = "0x15ACC60", Offset = "0x15AB660", VA = "0x1815ACC60", Slot = "15")]
public virtual float GDBACCLPFNF()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06010949 RID: 67913 RVA: 0x003E58F4 File Offset: 0x003E3AF4
[Token(Token = "0x6010949")]
[Address(RVA = "0x15AEB20", Offset = "0x15AD520", VA = "0x1815AEB20")]
private bool PAEHFLOABJO(ACBDPBHGKJL GEDCEIDOKJL)
{
if (GEDCEIDOKJL == ACBDPBHGKJL.Ribbon)
{
}
return GEDCEIDOKJL == ACBDPBHGKJL.Tube;
}
// Token: 0x0601094A RID: 67914 RVA: 0x003E590C File Offset: 0x003E3B0C
[Token(Token = "0x601094A")]
[Address(RVA = "0x15AE850", Offset = "0x15AD250", VA = "0x1815AE850")]
private float JJCLHBCIJKD()
{
float num3;
InputManager instance;
InputManager.LNEHPBFDEGG <DPODFAMMHGA>k__BackingField;
do
{
IJGKBBCJKNO curveShapeSettings = this.CurveShapeSettings;
if (curveShapeSettings != 0)
{
goto IL_87;
}
float num = this.DDFJLHHPDGA();
ShapeCreationLogic.CCKJIEJCDIG cckjiejcdig = this.triggerHistory;
if (curveShapeSettings != 0)
{
}
int num2 = cckjiejcdig.BJJLOAAFEPN._size;
num3 = cckjiejcdig.KILBJPHCGNM;
num2++;
instance = SingletonMonoBehaviour.Instance;
<DPODFAMMHGA>k__BackingField = instance.<DPODFAMMHGA>k__BackingField;
}
while (instance != (ulong)4294967293L && <DPODFAMMHGA>k__BackingField != InputManager.LNEHPBFDEGG.Oculus_Quest);
float num4 = this.pressureToThicknessCurveOculus.Evaluate(num3);
bool flag = this.LDEOLNOPNJK();
num3 = num4;
num4 = num3;
return Mathf.Max(num4, 0.005f);
IL_87:
Vector3 vector = this.KHELIHDNAEN();
throw new NullReferenceException();
}
// Token: 0x0601094B RID: 67915 RVA: 0x003E59B0 File Offset: 0x003E3BB0
[Token(Token = "0x601094B")]
[Address(RVA = "0x15AD880", Offset = "0x15AC280", VA = "0x1815AD880")]
private void GNKAOHGODJP(LNBGEMHOKFN GJAINANBOCB, CLKCBCAGDDK KFENPJENIOI, Vector3 DDHPAFKBMON, bool BCPIDHJGPHA)
{
this.continuingOnCurve = false;
float num = this.JJCLHBCIJKD();
ShapeCreationContext shapeCreationContext = this.shapeContext;
ACBDPBHGKJL acbdpbhgkjl = this.activeShapeType;
float z = DDHPAFKBMON.z;
bool flag = this.ANLHJKHJANN();
}
// Token: 0x0601094C RID: 67916 RVA: 0x003E5A20 File Offset: 0x003E3C20
[Token(Token = "0x601094C")]
[Address(RVA = "0x15AEBC0", Offset = "0x15AD5C0", VA = "0x1815AEBC0")]
private void PMLPIFBNAPM()
{
float num = this.DDFJLHHPDGA();
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn = this.triggerHistory.BJJLOAAFEPN;
int num2 = 0;
this.IMBABJICMII(num2 != 0);
}
// Token: 0x0601094D RID: 67917 RVA: 0x003E5A5C File Offset: 0x003E3C5C
[Token(Token = "0x601094D")]
[Address(RVA = "0x15AEA00", Offset = "0x15AD400", VA = "0x1815AEA00")]
private void LBKDLPPLHJA()
{
float num = this.DDFJLHHPDGA();
float num2 = this.JJCLHBCIJKD();
ShapeCreationContext shapeCreationContext = this.shapeContext;
this.HKBAPDGEDFM(true);
ShapeCreationContext shapeCreationContext2 = this.shapeContext;
int num3 = 0;
shapeCreationContext2.FinishShape(num3 != 0);
}
// Token: 0x0601094E RID: 67918 RVA: 0x003E5AA0 File Offset: 0x003E3CA0
[Token(Token = "0x601094E")]
[Address(RVA = "0x15ADA90", Offset = "0x15AC490", VA = "0x1815ADA90")]
private void HKBAPDGEDFM(bool LAKLGHEOKDG)
{
int num = 0;
float num2 = this.JJCLHBCIJKD();
float unscaledTime = Time.unscaledTime;
int num3 = 0;
if ((this.continuingOnCurve ? 1 : 0) == num3)
{
Vector3 zero = Vector3.zero;
ShapeCreationContext shapeCreationContext = this.shapeContext;
float z = zero.z;
if (shapeCreationContext.TryGetSelectedCurveShapeFirstControlPointPosition(num))
{
ShapeCreationContext shapeCreationContext2 = this.shapeContext;
}
}
ShapeCreationContext shapeCreationContext3 = this.shapeContext;
}
// Token: 0x0601094F RID: 67919 RVA: 0x003E5B08 File Offset: 0x003E3D08
[Token(Token = "0x601094F")]
[Address(RVA = "0x15AE250", Offset = "0x15ACC50", VA = "0x1815AE250")]
private void IMBABJICMII(bool KMABLEBCFDJ)
{
float num = this.JJCLHBCIJKD();
int num2 = 0;
Vector3 zero = Vector3.zero;
ShapeCreationContext shapeCreationContext = this.shapeContext;
ShapeCreationContext shapeCreationContext2 = this.shapeContext;
if (!KMABLEBCFDJ)
{
float num3 = Mathf.Max(num, (float)num2);
}
float unscaledTime = Time.unscaledTime;
this.lastCurveShapeControlPointAddTime = unscaledTime;
float num4 = this.DDFJLHHPDGA();
ShapeCreationContext shapeCreationContext3 = this.shapeContext;
GBDECALBCOP gbdecalbcop;
if (gbdecalbcop != GBDECALBCOP.Success)
{
bool flag = this.ANLHJKHJANN();
}
}
// Token: 0x06010950 RID: 67920 RVA: 0x003E5B7C File Offset: 0x003E3D7C
[Token(Token = "0x6010950")]
[Address(RVA = "0x15ADC80", Offset = "0x15AC680", VA = "0x1815ADC80")]
private bool HMCFILMJEPL(Vector3 GILGCGDKNOB, Vector3 PCPHPBFGLGN, float OMLBPICLALA)
{
/*
An exception occurred when decompiling this method (06010950)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean RecRoom.Tools.ShapeCreationLogic::HMCFILMJEPL(UnityEngine.Vector3,UnityEngine.Vector3,System.Single)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:float32(var_1_08, ldfld:float32(Vector3::z, ldloc:Vector3[exp:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3&](PCPHPBFGLGN)))
stloc:float32(var_2_0F, ldfld:float32(Vector3::z, ldloc:Vector3[exp:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3&](GILGCGDKNOB)))
stloc:float32(var_4_16, ldfld:float32(Vector3::z, ldloc:Vector3[exp:valuetype [UnityEngine.CoreModule]UnityEngine.Vector3&](var_3)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x06010951 RID: 67921 RVA: 0x003E5BA0 File Offset: 0x003E3DA0
[Token(Token = "0x6010951")]
[Address(RVA = "0x15AEB30", Offset = "0x15AD530", VA = "0x1815AEB30")]
private void PFLAKGLLECH(out Vector3 DDHPAFKBMON, out Quaternion IGPENJBJADK, out float OMLBPICLALA)
{
float num = this.JJCLHBCIJKD();
OMLBPICLALA.m_value = num;
}
// Token: 0x06010952 RID: 67922 RVA: 0x003E5BBC File Offset: 0x003E3DBC
[Token(Token = "0x6010952")]
[Address(RVA = "0x15ACC70", Offset = "0x15AB670", VA = "0x1815ACC70")]
private void GKINDBBCGEP(bool DHIIIICIIFD)
{
int num = 0;
Vector3 vector;
float z = vector.z;
Vector3 one = Vector3.one;
Vector3 vector2;
float z2 = vector2.z;
Vector3 vector3;
float z3 = vector3.z;
Vector3 vector4;
float z4 = vector4.z;
Vector3 vector5;
float z5 = vector5.z;
Vector3 vector6;
float z6 = vector6.z;
float num2 = this.DDFJLHHPDGA();
float[] array = new float[3];
array[1] = z6;
float num3 = Mathf.Max(array);
Vector3 one2 = Vector3.one;
ShapeCreationContext shapeCreationContext = this.shapeContext;
bool flag = this.shapeContext.TryGetSelectedPrimitiveShapePosition(num);
Quaternion quaternion = this.lastMeshShapeCreationRotation;
Vector3 vector7;
float z7 = vector7.z;
float z8 = this.startMeshShapeCreationPosition.z;
Vector3 vector8;
float z9 = vector8.z;
Vector3 vector9;
float z10 = vector9.z;
ShapeCreationContext shapeCreationContext2 = this.shapeContext;
if (DHIIIICIIFD)
{
float unscaledTime = Time.unscaledTime;
this.lastMeshShapeSizeSynchronizeTime = unscaledTime;
}
}
// Token: 0x06010953 RID: 67923 RVA: 0x003E5CA0 File Offset: 0x003E3EA0
[Token(Token = "0x6010953")]
[Address(RVA = "0x15ACC10", Offset = "0x15AB610", VA = "0x1815ACC10")]
private void DAANPCKDNCK()
{
this.GKINDBBCGEP(true);
this.shapeContext.FinishShape(true);
}
// Token: 0x06010954 RID: 67924 RVA: 0x003E5CC8 File Offset: 0x003E3EC8
[Token(Token = "0x6010954")]
[Address(RVA = "0x15AECF0", Offset = "0x15AD6F0", VA = "0x1815AECF0")]
protected ShapeCreationLogic()
{
int num = 0;
AnimationCurve animationCurve = AnimationCurve.Linear((float)0, (float)num, 1f, 1f);
this.pressureToThicknessCurveVive = animationCurve;
int num2 = 0;
AnimationCurve animationCurve2 = AnimationCurve.Linear((float)0, (float)num2, 1f, 1f);
this.pressureToThicknessCurveOculus = animationCurve2;
this.activeShapeType = (ACBDPBHGKJL)((ulong)4294967295L);
float z = Vector3.zero.z;
this.startMeshShapeCreationPosition.z = z;
Quaternion identity = Quaternion.identity;
ShapeCreationLogic.CCKJIEJCDIG cckjiejcdig = new ShapeCreationLogic.CCKJIEJCDIG();
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> queue = new Queue();
cckjiejcdig.BJJLOAAFEPN = queue;
this.triggerHistory = cckjiejcdig;
int num3 = 0;
this.DefaultCurveShapeSettings.LKNLBJHHOHN = (int)((ulong)10L);
this.NBLMMFIDMFJ(num3);
}
// Token: 0x06010955 RID: 67925 RVA: 0x003E5D7C File Offset: 0x003E3F7C
// Note: this type is marked as 'beforefieldinit'.
[Token(Token = "0x6010955")]
[Address(RVA = "0x15AEC50", Offset = "0x15AD650", VA = "0x1815AEC50")]
static ShapeCreationLogic()
{
Vector3 vector;
float z = vector.z;
}
// Token: 0x0400B09C RID: 45212
[Token(Token = "0x400B09C")]
protected static readonly Vector3 DefaultCreationViewportPosition;
// Token: 0x0400B09D RID: 45213
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400B09D")]
[SerializeField]
[Header("Trigger Input")]
private AnimationCurve pressureToThicknessCurveVive;
// Token: 0x0400B09E RID: 45214
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400B09E")]
[SerializeField]
private AnimationCurve pressureToThicknessCurveOculus;
// Token: 0x0400B09F RID: 45215
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400B09F")]
[NonSerialized]
protected ACBDPBHGKJL activeShapeType;
// Token: 0x0400B0A0 RID: 45216
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
[Token(Token = "0x400B0A0")]
[NonSerialized]
private float lastCurveShapeControlPointAddTime;
// Token: 0x0400B0A1 RID: 45217
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400B0A1")]
[NonSerialized]
private float lastMeshShapeSizeSynchronizeTime;
// Token: 0x0400B0A2 RID: 45218
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400B0A2")]
[NonSerialized]
private Vector3 startMeshShapeCreationPosition;
// Token: 0x0400B0A3 RID: 45219
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400B0A3")]
[NonSerialized]
private Quaternion lastMeshShapeCreationRotation;
// Token: 0x0400B0A4 RID: 45220
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x400B0A4")]
[NonSerialized]
private ShapeCreationLogic.CCKJIEJCDIG triggerHistory;
// Token: 0x0400B0A5 RID: 45221
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x400B0A5")]
[NonSerialized]
private bool continuingOnCurve;
// Token: 0x0400B0A6 RID: 45222
[Token(Token = "0x400B0A6")]
private const float MESH_SHAPE_SYNCHRONIZE_SIZE_MAX_TIME_INTERVAL = 0.1f;
// Token: 0x0400B0A7 RID: 45223
[Token(Token = "0x400B0A7")]
protected const float DEFAULT_CREATION_DISTANCE_FROM_CAMERA = 0.66f;
// Token: 0x0400B0A8 RID: 45224
[Token(Token = "0x400B0A8")]
protected const float PRIMITIVE_SHAPE_MIN_SIZE = 0.02f;
// Token: 0x0400B0A9 RID: 45225
[Token(Token = "0x400B0A9")]
private const float CURVE_SHAPE_ADD_CONTROL_POINT_MAX_TIME_INTERVAL = 0.1f;
// Token: 0x0400B0AA RID: 45226
[Token(Token = "0x400B0AA")]
private const float CURVE_SHAPE_MIN_DIST_BETWEEN_CONTROL_POINTS = 0.01f;
// Token: 0x0400B0AB RID: 45227
[Token(Token = "0x400B0AB")]
private const float CURVE_SHAPE_MIN_RADIUS = 0.005f;
// Token: 0x0400B0AC RID: 45228
[global::Cpp2IlInjected.FieldOffset(Offset = "0x54")]
[Token(Token = "0x400B0AC")]
public readonly IJGKBBCJKNO DefaultCurveShapeSettings;
// Token: 0x0400B0AD RID: 45229
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x400B0AD")]
[NonSerialized]
protected CreationContext context;
// Token: 0x0400B0AE RID: 45230
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x400B0AE")]
[NonSerialized]
protected ShapeCreationContext shapeContext;
// Token: 0x0400B0AF RID: 45231
[global::Cpp2IlInjected.FieldOffset(Offset = "0x70")]
[Token(Token = "0x400B0AF")]
[NonSerialized]
protected Func<float> normalizedInputProvider;
// Token: 0x02002570 RID: 9584
[Token(Token = "0x2002570")]
private class CCKJIEJCDIG
{
// Token: 0x06010956 RID: 67926 RVA: 0x003E5D90 File Offset: 0x003E3F90
[Token(Token = "0x6010956")]
[Address(RVA = "0x15AA610", Offset = "0x15A9010", VA = "0x1815AA610")]
public void OFFLOPLJBBG(float ONGBFDACHHG)
{
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn = this.BJJLOAAFEPN;
this.LOIBGHBPHJF = false;
bjjloaafepn.Clear();
float unscaledTime = Time.unscaledTime;
this.NHCOACMNKLK = ONGBFDACHHG;
this.NHCOACMNKLK.MOPKOPOKKEE = unscaledTime;
this.KILBJPHCGNM = 0f;
}
// Token: 0x06010957 RID: 67927 RVA: 0x003E5DE0 File Offset: 0x003E3FE0
[Token(Token = "0x6010957")]
[Address(RVA = "0x15AA680", Offset = "0x15A9080", VA = "0x1815AA680")]
public void OPEMIFENIJM(float ONGBFDACHHG)
{
float unscaledTime = Time.unscaledTime;
this.EEPABPKOGGI = ONGBFDACHHG;
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn = this.BJJLOAAFEPN;
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn2 = this.BJJLOAAFEPN;
this.KILBJPHCGNM = ONGBFDACHHG;
ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID fafmlikmgid = bjjloaafepn2.Peek();
if (unscaledTime > 0.1f)
{
ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID fafmlikmgid2 = this.BJJLOAAFEPN.Dequeue();
float kilbjphcgnm = this.KILBJPHCGNM;
this.NHCOACMNKLK = fafmlikmgid2;
this.NHCOACMNKLK.MOPKOPOKKEE = unscaledTime;
this.KILBJPHCGNM = kilbjphcgnm;
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn3 = this.BJJLOAAFEPN;
this.NHCOACMNKLK = ONGBFDACHHG;
}
}
// Token: 0x06010958 RID: 67928 RVA: 0x003E5E68 File Offset: 0x003E4068
[Token(Token = "0x6010958")]
[Address(RVA = "0x13C48D0", Offset = "0x13C32D0", VA = "0x1813C48D0")]
public void LKLKGDMFMCC()
{
this.LOIBGHBPHJF = false;
}
// Token: 0x06010959 RID: 67929 RVA: 0x003E5E7C File Offset: 0x003E407C
[Token(Token = "0x6010959")]
[Address(RVA = "0x15AA550", Offset = "0x15A8F50", VA = "0x1815AA550")]
public bool HAMIPIBELMJ(Func<float> HBGPHHDJKKN, bool CHFPGDPNLIM)
{
float num = HBGPHHDJKKN();
if (!CHFPGDPNLIM || !this.LOIBGHBPHJF)
{
}
throw new NullReferenceException();
}
// Token: 0x0601095A RID: 67930 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x601095A")]
[Address(RVA = "0x15AA4E0", Offset = "0x15A8EE0", VA = "0x1815AA4E0")]
public bool BEJPPFPHHIH()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0601095B RID: 67931 RVA: 0x003E5EA4 File Offset: 0x003E40A4
[Token(Token = "0x601095B")]
[Address(RVA = "0x15AA4F0", Offset = "0x15A8EF0", VA = "0x1815AA4F0")]
public float GOAOBALLNEE()
{
int num = this.BJJLOAAFEPN._size;
float kilbjphcgnm = this.KILBJPHCGNM;
num++;
return kilbjphcgnm;
}
// Token: 0x0601095C RID: 67932 RVA: 0x003E5ED0 File Offset: 0x003E40D0
[Token(Token = "0x601095C")]
[Address(RVA = "0x57B900", Offset = "0x57A300", VA = "0x18057B900")]
public float DMOOHKMBDOK()
{
/*
An exception occurred when decompiling this method (0601095C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single RecRoom.Tools.ShapeCreationLogic/CCKJIEJCDIG::DMOOHKMBDOK()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:FAFMLIKMGID(var_0_06, ldfld:FAFMLIKMGID(CCKJIEJCDIG::NHCOACMNKLK, ldloc:CCKJIEJCDIG(this)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
--- End of inner exception stack trace ---
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663
*/;
}
// Token: 0x0601095D RID: 67933 RVA: 0x003E5EE4 File Offset: 0x003E40E4
[Token(Token = "0x601095D")]
[Address(RVA = "0x15AA5D0", Offset = "0x15A8FD0", VA = "0x1815AA5D0")]
public bool MPDHHGFFKAD()
{
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> bjjloaafepn = this.BJJLOAAFEPN;
bool flag;
return flag;
}
// Token: 0x0601095E RID: 67934 RVA: 0x003E5F00 File Offset: 0x003E4100
[Token(Token = "0x601095E")]
[Address(RVA = "0x15AA7D0", Offset = "0x15A91D0", VA = "0x1815AA7D0")]
public CCKJIEJCDIG()
{
Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> queue = new Queue();
this.BJJLOAAFEPN = queue;
base..ctor();
}
// Token: 0x0400B0B0 RID: 45232
[Token(Token = "0x400B0B0")]
private const float MEKBFDACLBJ = 0.1f;
// Token: 0x0400B0B1 RID: 45233
[Token(Token = "0x400B0B1")]
private const float LBFECFHINKL = 0.04f;
// Token: 0x0400B0B2 RID: 45234
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400B0B2")]
private Queue<ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID> BJJLOAAFEPN;
// Token: 0x0400B0B3 RID: 45235
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400B0B3")]
private ShapeCreationLogic.CCKJIEJCDIG.FAFMLIKMGID NHCOACMNKLK;
// Token: 0x0400B0B4 RID: 45236
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400B0B4")]
private float EEPABPKOGGI;
// Token: 0x0400B0B5 RID: 45237
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
[Token(Token = "0x400B0B5")]
private bool LOIBGHBPHJF;
// Token: 0x0400B0B6 RID: 45238
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400B0B6")]
private float KILBJPHCGNM;
// Token: 0x02002571 RID: 9585
[Token(Token = "0x2002571")]
public struct FAFMLIKMGID
{
// Token: 0x0400B0B7 RID: 45239
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400B0B7")]
public float ONGBFDACHHG;
// Token: 0x0400B0B8 RID: 45240
[global::Cpp2IlInjected.FieldOffset(Offset = "0x4")]
[Token(Token = "0x400B0B8")]
public float MOPKOPOKKEE;
}
}
}
}