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

326 lines
14 KiB
C#

using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;
namespace RecRoom.Core.Quality
{
// Token: 0x0200286F RID: 10351
[Token(Token = "0x200286F")]
[StructLayout(3)]
public class ParticleQualityOverride : MonoBehaviour
{
// Token: 0x060121DA RID: 74202 RVA: 0x00452F60 File Offset: 0x00451160
[Token(Token = "0x60121DA")]
[Address(RVA = "0x19A9F70", Offset = "0x19A8970", VA = "0x1819A9F70")]
private void Start()
{
if (this.overrides.Length != 0)
{
ParticleSystem.MainModule main = this.particles.main;
ParticleSystem particleSystem = this.particles;
this.GLEAGKMBGME = main;
ParticleSystem.MainModule main2 = particleSystem.main;
ParticleSystem particleSystem2 = this.particles;
this.FLFBNCKBDJC = main2;
ParticleSystem.MainModule main3 = particleSystem2.main;
ParticleSystem particleSystem3 = this.particles;
this.OEPDBOOEPNE = main3;
ParticleSystem.MainModule main4 = particleSystem3.main;
this.DJFAOIPMKBD = main4;
bool flag;
this.HHMCJKLIPLL = flag;
int num;
this.GCHIJOPCKDP = num;
bool flag2;
this.JNNECDDMOMP = flag2;
bool flag3;
this.KGMEIEKCNOB = flag3;
INGEKFNNGDK qualitySetting = SingletonMonoBehaviour.Instance.KONLNCONKKJ;
SettingsManager instance = SingletonMonoBehaviour.Instance;
Action<INGEKFNNGDK> action = new Action(this.EHDNCHLIKMF);
instance.QualitySettingChanged += action;
return;
}
Debug.LogError("ParticleQualityOverride requires at least one specified override.");
throw new NullReferenceException();
}
// Token: 0x060121DB RID: 74203 RVA: 0x00453034 File Offset: 0x00451234
[Token(Token = "0x60121DB")]
[Address(RVA = "0x19A9E60", Offset = "0x19A8860", VA = "0x1819A9E60")]
private void OnDestroy()
{
SettingsManager instance = SingletonMonoBehaviour.Instance;
int num = 0;
if (instance != num)
{
SettingsManager instance2 = SingletonMonoBehaviour.Instance;
Action<INGEKFNNGDK> action = new Action(this.EHDNCHLIKMF);
instance2.QualitySettingChanged -= action;
}
}
// Token: 0x060121DC RID: 74204 RVA: 0x00453074 File Offset: 0x00451274
[Token(Token = "0x60121DC")]
[Address(RVA = "0x19A95D0", Offset = "0x19A7FD0", VA = "0x1819A95D0")]
private void EHDNCHLIKMF(INGEKFNNGDK AOKDECDAEEG)
{
this.GFAHHBOFMHP(AOKDECDAEEG);
}
// Token: 0x060121DD RID: 74205 RVA: 0x00453088 File Offset: 0x00451288
[Token(Token = "0x60121DD")]
[Address(RVA = "0x19A95E0", Offset = "0x19A7FE0", VA = "0x1819A95E0")]
private void GFAHHBOFMHP(INGEKFNNGDK AOKDECDAEEG)
{
ParticleQualityOverride.OverrideSettings[] array = this.overrides;
int num = 0;
int num2 = 0;
int length = array.Length;
if (num2 < length)
{
if ("{il2cpp array field local2->}" != AOKDECDAEEG)
{
num++;
}
return;
}
throw new MissingMethodException();
}
// Token: 0x060121DE RID: 74206 RVA: 0x004530D4 File Offset: 0x004512D4
[Token(Token = "0x60121DE")]
[Address(RVA = "0x19A9830", Offset = "0x19A8230", VA = "0x1819A9830")]
private void HFLHNHENDBF(ParticleQualityOverride.OverrideSettings JBKLKKPKFNA)
{
/*
An exception occurred when decompiling this method (060121DE)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RecRoom.Core.Quality.ParticleQualityOverride::HFLHNHENDBF(RecRoom.Core.Quality.ParticleQualityOverride/OverrideSettings)
---> System.ArgumentOutOfRangeException: length ('-1') must be a non-negative value. (Parameter 'length')
Actual value was -1.
at System.ArgumentOutOfRangeException.ThrowNegative[T](T value, String paramName)
at System.Array.CopyImpl(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length)
at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 327
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 117
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: 0x060121DF RID: 74207 RVA: 0x00453134 File Offset: 0x00451334
[Token(Token = "0x60121DF")]
[Address(RVA = "0x19A9CB0", Offset = "0x19A86B0", VA = "0x1819A9CB0")]
private void OMMJJIENPPJ()
{
float obocpjdpdhn = this.OBOCPJDPDHN;
throw new MissingMethodException();
}
// Token: 0x060121E0 RID: 74208 RVA: 0x0045316C File Offset: 0x0045136C
[Token(Token = "0x60121E0")]
[Address(RVA = "0x19A9430", Offset = "0x19A7E30", VA = "0x1819A9430")]
private void BCFOMAPJAAI()
{
ParticleSystem.MainModule main = this.particles.main;
ParticleSystem particleSystem = this.particles;
this.GLEAGKMBGME = main;
ParticleSystem.MainModule main2 = particleSystem.main;
ParticleSystem particleSystem2 = this.particles;
this.FLFBNCKBDJC = main2;
ParticleSystem.MainModule main3 = particleSystem2.main;
ParticleSystem particleSystem3 = this.particles;
this.OEPDBOOEPNE = main3;
ParticleSystem.MainModule main4 = particleSystem3.main;
this.DJFAOIPMKBD = main4;
bool flag;
this.HHMCJKLIPLL = flag;
int num;
this.GCHIJOPCKDP = num;
bool flag2;
this.JNNECDDMOMP = flag2;
bool flag3;
this.KGMEIEKCNOB = flag3;
}
// Token: 0x060121E1 RID: 74209 RVA: 0x004531FC File Offset: 0x004513FC
[Token(Token = "0x60121E1")]
[Address(RVA = "0x19A9BA0", Offset = "0x19A85A0", VA = "0x1819A9BA0")]
private void MLILCMAJKGH(ParticleSystem.MinMaxCurve CDAMNCBGBGI, out float NOGNELMAHCK, out float JDFENOCNKAD)
{
float num;
JDFENOCNKAD.m_value = num;
}
// Token: 0x060121E2 RID: 74210 RVA: 0x00453218 File Offset: 0x00451418
[Token(Token = "0x60121E2")]
[Address(RVA = "0x19A9A90", Offset = "0x19A8490", VA = "0x1819A9A90")]
private ParticleSystem.MinMaxCurve HMAGJKPLEJG(ParticleSystem.MinMaxCurve CDAMNCBGBGI, float NOGNELMAHCK, float JDFENOCNKAD)
{
/*
An exception occurred when decompiling this method (060121E2)
ICSharpCode.Decompiler.DecompilerException: Error decompiling UnityEngine.ParticleSystem/MinMaxCurve RecRoom.Core.Quality.ParticleQualityOverride::HMAGJKPLEJG(UnityEngine.ParticleSystem/MinMaxCurve,System.Single,System.Single)
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stfld:native int(Object::m_CachedPtr, ldloc:ParticleQualityOverride[exp:Object](this), ldloc:float32[exp:native int](JDFENOCNKAD))
stloc:ArgumentException(var_0_17, newobj:ArgumentException(ArgumentException::.ctor, call:string(string::Concat, ldstr:string[exp:object]("Unsupported animation curve mode: "), ldloc:ParticleQualityOverride[exp:object](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: 0x060121E3 RID: 74211 RVA: 0x0045323C File Offset: 0x0045143C
[Token(Token = "0x60121E3")]
[Address(RVA = "0x3C1210", Offset = "0x3BFC10", VA = "0x1803C1210")]
public ParticleQualityOverride()
{
}
// Token: 0x0400C1CB RID: 49611
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400C1CB")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
private ParticleSystem particles;
// Token: 0x0400C1CC RID: 49612
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400C1CC")]
[SerializeField]
private ParticleQualityOverride.OverrideSettings[] overrides;
// Token: 0x0400C1CD RID: 49613
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x400C1CD")]
private bool HHMCJKLIPLL;
// Token: 0x0400C1CE RID: 49614
[global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")]
[Token(Token = "0x400C1CE")]
private int GCHIJOPCKDP;
// Token: 0x0400C1CF RID: 49615
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400C1CF")]
private bool JNNECDDMOMP;
// Token: 0x0400C1D0 RID: 49616
[global::Cpp2IlInjected.FieldOffset(Offset = "0x31")]
[Token(Token = "0x400C1D0")]
private bool KGMEIEKCNOB;
// Token: 0x0400C1D1 RID: 49617
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34")]
[Token(Token = "0x400C1D1")]
private float EJLENFPBDKM;
// Token: 0x0400C1D2 RID: 49618
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400C1D2")]
private float OBOCPJDPDHN;
// Token: 0x0400C1D3 RID: 49619
[global::Cpp2IlInjected.FieldOffset(Offset = "0x3C")]
[Token(Token = "0x400C1D3")]
private float OGOFCNPICAG;
// Token: 0x0400C1D4 RID: 49620
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400C1D4")]
private float JJPPMMLJCHP;
// Token: 0x0400C1D5 RID: 49621
[global::Cpp2IlInjected.FieldOffset(Offset = "0x44")]
[Token(Token = "0x400C1D5")]
private float APEPOELCKBG;
// Token: 0x0400C1D6 RID: 49622
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x400C1D6")]
private float PHPEGDELENI;
// Token: 0x0400C1D7 RID: 49623
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x400C1D7")]
private ParticleSystem.MainModule GLEAGKMBGME;
// Token: 0x0400C1D8 RID: 49624
[global::Cpp2IlInjected.FieldOffset(Offset = "0x58")]
[Token(Token = "0x400C1D8")]
private ParticleSystem.TrailModule FLFBNCKBDJC;
// Token: 0x0400C1D9 RID: 49625
[global::Cpp2IlInjected.FieldOffset(Offset = "0x60")]
[Token(Token = "0x400C1D9")]
private ParticleSystem.EmissionModule OEPDBOOEPNE;
// Token: 0x0400C1DA RID: 49626
[global::Cpp2IlInjected.FieldOffset(Offset = "0x68")]
[Token(Token = "0x400C1DA")]
private ParticleSystem.CollisionModule DJFAOIPMKBD;
// Token: 0x02002870 RID: 10352
[Token(Token = "0x2002870")]
[Serializable]
public struct OverrideSettings
{
// Token: 0x0400C1DB RID: 49627
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x400C1DB")]
public INGEKFNNGDK quality;
// Token: 0x0400C1DC RID: 49628
[global::Cpp2IlInjected.FieldOffset(Offset = "0x4")]
[Token(Token = "0x400C1DC")]
public int maxParticles;
// Token: 0x0400C1DD RID: 49629
[global::Cpp2IlInjected.FieldOffset(Offset = "0x8")]
[Token(Token = "0x400C1DD")]
public bool enableTrails;
// Token: 0x0400C1DE RID: 49630
[global::Cpp2IlInjected.FieldOffset(Offset = "0x9")]
[Token(Token = "0x400C1DE")]
public bool enableCollisions;
// Token: 0x0400C1DF RID: 49631
[global::Cpp2IlInjected.FieldOffset(Offset = "0xA")]
[Token(Token = "0x400C1DF")]
public bool overrideEmissionRate;
// Token: 0x0400C1E0 RID: 49632
[global::Cpp2IlInjected.FieldOffset(Offset = "0xC")]
[Token(Token = "0x400C1E0")]
[Range(0f, 1f)]
public float emissionRateMultiplier;
// Token: 0x0400C1E1 RID: 49633
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400C1E1")]
public bool overrideLifetime;
// Token: 0x0400C1E2 RID: 49634
[global::Cpp2IlInjected.FieldOffset(Offset = "0x14")]
[Token(Token = "0x400C1E2")]
[Range(0f, 2f)]
public float lifetimeMultiplier;
}
}
}