Files
NobetaSource/Cpp2IL/Assembly-CSharp/Obi/ObiSolver.cs
2023-09-06 22:09:22 +02:00

1078 lines
37 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;
namespace Obi
{
// Token: 0x020004E5 RID: 1253
[Token(Token = "0x20004E5")]
[DisallowMultipleComponent]
[ExecuteInEditMode]
[AddComponentMenu("Physics/Obi/Obi Solver")]
public sealed class ObiSolver : MonoBehaviour
{
// Token: 0x14000015 RID: 21
// (add) Token: 0x06002BD0 RID: 11216 RVA: 0x0005E4E0 File Offset: 0x0005C6E0
// (remove) Token: 0x06002BD1 RID: 11217 RVA: 0x0005E510 File Offset: 0x0005C710
[Token(Token = "0x14000015")]
public event EventHandler OnFrameBegin
{
[Token(Token = "0x6002BD0")]
[Address(RVA = "0xE7B3A0", Offset = "0xE79BA0", VA = "0x180E7B3A0")]
[CompilerGenerated]
add
{
EventHandler onFrameBegin = this.OnFrameBegin;
Delegate @delegate = Delegate.Combine(onFrameBegin, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onFrameBegin)
{
}
return;
}
throw new InvalidCastException();
}
[Token(Token = "0x6002BD1")]
[Address(RVA = "0xE7BB50", Offset = "0xE7A350", VA = "0x180E7BB50")]
[CompilerGenerated]
remove
{
EventHandler onFrameBegin = this.OnFrameBegin;
Delegate @delegate = Delegate.Remove(onFrameBegin, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onFrameBegin)
{
}
return;
}
throw new InvalidCastException();
}
}
// Token: 0x14000016 RID: 22
// (add) Token: 0x06002BD2 RID: 11218 RVA: 0x0005E540 File Offset: 0x0005C740
// (remove) Token: 0x06002BD3 RID: 11219 RVA: 0x0005E570 File Offset: 0x0005C770
[Token(Token = "0x14000016")]
public event EventHandler OnStepBegin
{
[Token(Token = "0x6002BD2")]
[Address(RVA = "0xE7B4E0", Offset = "0xE79CE0", VA = "0x180E7B4E0")]
[CompilerGenerated]
add
{
EventHandler onStepBegin = this.OnStepBegin;
Delegate @delegate = Delegate.Combine(onStepBegin, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onStepBegin)
{
}
return;
}
throw new InvalidCastException();
}
[Token(Token = "0x6002BD3")]
[Address(RVA = "0xE7BC90", Offset = "0xE7A490", VA = "0x180E7BC90")]
[CompilerGenerated]
remove
{
EventHandler onStepBegin = this.OnStepBegin;
Delegate @delegate = Delegate.Remove(onStepBegin, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onStepBegin)
{
}
return;
}
throw new InvalidCastException();
}
}
// Token: 0x14000017 RID: 23
// (add) Token: 0x06002BD4 RID: 11220 RVA: 0x0005E5A0 File Offset: 0x0005C7A0
// (remove) Token: 0x06002BD5 RID: 11221 RVA: 0x0005E5D0 File Offset: 0x0005C7D0
[Token(Token = "0x14000017")]
public event EventHandler OnFixedParticlesUpdated
{
[Token(Token = "0x6002BD4")]
[Address(RVA = "0xE7B260", Offset = "0xE79A60", VA = "0x180E7B260")]
[CompilerGenerated]
add
{
EventHandler onFixedParticlesUpdated = this.OnFixedParticlesUpdated;
Delegate @delegate = Delegate.Combine(onFixedParticlesUpdated, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onFixedParticlesUpdated)
{
}
return;
}
throw new InvalidCastException();
}
[Token(Token = "0x6002BD5")]
[Address(RVA = "0xE7BA10", Offset = "0xE7A210", VA = "0x180E7BA10")]
[CompilerGenerated]
remove
{
EventHandler onFixedParticlesUpdated = this.OnFixedParticlesUpdated;
Delegate @delegate = Delegate.Remove(onFixedParticlesUpdated, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onFixedParticlesUpdated)
{
}
return;
}
throw new InvalidCastException();
}
}
// Token: 0x14000018 RID: 24
// (add) Token: 0x06002BD6 RID: 11222 RVA: 0x0005E600 File Offset: 0x0005C800
// (remove) Token: 0x06002BD7 RID: 11223 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x14000018")]
public event EventHandler OnStepEnd
{
[Token(Token = "0x6002BD6")]
[Address(RVA = "0xE7B580", Offset = "0xE79D80", VA = "0x180E7B580")]
[CompilerGenerated]
add
{
EventHandler onStepEnd = this.OnStepEnd;
Delegate @delegate = Delegate.Combine(onStepEnd, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onStepEnd)
{
}
return;
}
throw new InvalidCastException();
}
[Token(Token = "0x6002BD7")]
[Address(RVA = "0xE7BD30", Offset = "0xE7A530", VA = "0x180E7BD30")]
[CompilerGenerated]
remove
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x14000019 RID: 25
// (add) Token: 0x06002BD8 RID: 11224 RVA: 0x0005E630 File Offset: 0x0005C830
// (remove) Token: 0x06002BD9 RID: 11225 RVA: 0x0005E660 File Offset: 0x0005C860
[Token(Token = "0x14000019")]
public event EventHandler OnBeforePositionInterpolation
{
[Token(Token = "0x6002BD8")]
[Address(RVA = "0xE7B120", Offset = "0xE79920", VA = "0x180E7B120")]
[CompilerGenerated]
add
{
EventHandler onBeforePositionInterpolation = this.OnBeforePositionInterpolation;
Delegate @delegate = Delegate.Combine(onBeforePositionInterpolation, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onBeforePositionInterpolation)
{
}
return;
}
throw new InvalidCastException();
}
[Token(Token = "0x6002BD9")]
[Address(RVA = "0xE7B8D0", Offset = "0xE7A0D0", VA = "0x180E7B8D0")]
[CompilerGenerated]
remove
{
EventHandler onBeforePositionInterpolation = this.OnBeforePositionInterpolation;
Delegate @delegate = Delegate.Remove(onBeforePositionInterpolation, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onBeforePositionInterpolation)
{
}
return;
}
throw new InvalidCastException();
}
}
// Token: 0x1400001A RID: 26
// (add) Token: 0x06002BDA RID: 11226 RVA: 0x0005E690 File Offset: 0x0005C890
// (remove) Token: 0x06002BDB RID: 11227 RVA: 0x0005E6C0 File Offset: 0x0005C8C0
[Token(Token = "0x1400001A")]
public event EventHandler OnBeforeActorsFrameEnd
{
[Token(Token = "0x6002BDA")]
[Address(RVA = "0xE7B080", Offset = "0xE79880", VA = "0x180E7B080")]
[CompilerGenerated]
add
{
EventHandler onBeforeActorsFrameEnd = this.OnBeforeActorsFrameEnd;
Delegate @delegate = Delegate.Combine(onBeforeActorsFrameEnd, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onBeforeActorsFrameEnd)
{
}
return;
}
throw new InvalidCastException();
}
[Token(Token = "0x6002BDB")]
[Address(RVA = "0xE7B830", Offset = "0xE7A030", VA = "0x180E7B830")]
[CompilerGenerated]
remove
{
EventHandler onBeforeActorsFrameEnd = this.OnBeforeActorsFrameEnd;
Delegate @delegate = Delegate.Remove(onBeforeActorsFrameEnd, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onBeforeActorsFrameEnd)
{
}
return;
}
throw new InvalidCastException();
}
}
// Token: 0x1400001B RID: 27
// (add) Token: 0x06002BDC RID: 11228 RVA: 0x0005E6F0 File Offset: 0x0005C8F0
// (remove) Token: 0x06002BDD RID: 11229 RVA: 0x0005E720 File Offset: 0x0005C920
[Token(Token = "0x1400001B")]
public event EventHandler OnFrameEnd
{
[Token(Token = "0x6002BDC")]
[Address(RVA = "0xE7B440", Offset = "0xE79C40", VA = "0x180E7B440")]
[CompilerGenerated]
add
{
EventHandler onFrameEnd = this.OnFrameEnd;
Delegate @delegate = Delegate.Combine(onFrameEnd, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onFrameEnd)
{
}
return;
}
throw new InvalidCastException();
}
[Token(Token = "0x6002BDD")]
[Address(RVA = "0xE7BBF0", Offset = "0xE7A3F0", VA = "0x180E7BBF0")]
[CompilerGenerated]
remove
{
EventHandler onFrameEnd = this.OnFrameEnd;
Delegate @delegate = Delegate.Remove(onFrameEnd, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onFrameEnd)
{
}
return;
}
throw new InvalidCastException();
}
}
// Token: 0x1400001C RID: 28
// (add) Token: 0x06002BDE RID: 11230 RVA: 0x0005E750 File Offset: 0x0005C950
// (remove) Token: 0x06002BDF RID: 11231 RVA: 0x0005E780 File Offset: 0x0005C980
[Token(Token = "0x1400001C")]
public event EventHandler<ObiSolver.ObiCollisionEventArgs> OnCollision
{
[Token(Token = "0x6002BDE")]
[Address(RVA = "0xE7B1C0", Offset = "0xE799C0", VA = "0x180E7B1C0")]
[CompilerGenerated]
add
{
EventHandler<ObiSolver.ObiCollisionEventArgs> onCollision = this.OnCollision;
Delegate @delegate = Delegate.Combine(onCollision, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onCollision)
{
}
return;
}
throw new InvalidCastException();
}
[Token(Token = "0x6002BDF")]
[Address(RVA = "0xE7B970", Offset = "0xE7A170", VA = "0x180E7B970")]
[CompilerGenerated]
remove
{
EventHandler<ObiSolver.ObiCollisionEventArgs> onCollision = this.OnCollision;
Delegate @delegate = Delegate.Remove(onCollision, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onCollision)
{
}
return;
}
throw new InvalidCastException();
}
}
// Token: 0x1400001D RID: 29
// (add) Token: 0x06002BE0 RID: 11232 RVA: 0x0005E7B0 File Offset: 0x0005C9B0
// (remove) Token: 0x06002BE1 RID: 11233 RVA: 0x0005E7E0 File Offset: 0x0005C9E0
[Token(Token = "0x1400001D")]
public event EventHandler<ObiSolver.ObiFluidEventArgs> OnFluidUpdated
{
[Token(Token = "0x6002BE0")]
[Address(RVA = "0xE7B300", Offset = "0xE79B00", VA = "0x180E7B300")]
[CompilerGenerated]
add
{
EventHandler<ObiSolver.ObiFluidEventArgs> onFluidUpdated = this.OnFluidUpdated;
Delegate @delegate = Delegate.Combine(onFluidUpdated, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onFluidUpdated)
{
}
return;
}
throw new InvalidCastException();
}
[Token(Token = "0x6002BE1")]
[Address(RVA = "0xE7BAB0", Offset = "0xE7A2B0", VA = "0x180E7BAB0")]
[CompilerGenerated]
remove
{
EventHandler<ObiSolver.ObiFluidEventArgs> onFluidUpdated = this.OnFluidUpdated;
Delegate @delegate = Delegate.Remove(onFluidUpdated, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onFluidUpdated)
{
}
return;
}
throw new InvalidCastException();
}
}
// Token: 0x170002FE RID: 766
// (get) Token: 0x06002BE2 RID: 11234 RVA: 0x0005E810 File Offset: 0x0005CA10
[Token(Token = "0x170002FE")]
public IntPtr OniSolver
{
[Token(Token = "0x6002BE2")]
[Address(RVA = "0x34EE80", Offset = "0x34D680", VA = "0x18034EE80")]
get
{
return this.oniSolver;
}
}
// Token: 0x170002FF RID: 767
// (get) Token: 0x06002BE3 RID: 11235 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x170002FF")]
public Bounds Bounds
{
[Token(Token = "0x6002BE3")]
[Address(RVA = "0xE7B7A0", Offset = "0xE79FA0", VA = "0x180E7B7A0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17000300 RID: 768
// (get) Token: 0x06002BE4 RID: 11236 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000300")]
public Matrix4x4 LastTransform
{
[Token(Token = "0x6002BE4")]
[Address(RVA = "0xE7B800", Offset = "0xE7A000", VA = "0x180E7B800")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17000301 RID: 769
// (get) Token: 0x06002BE5 RID: 11237 RVA: 0x0005E824 File Offset: 0x0005CA24
[Token(Token = "0x17000301")]
public bool IsVisible
{
[Token(Token = "0x6002BE5")]
[Address(RVA = "0xE7B7F0", Offset = "0xE79FF0", VA = "0x180E7B7F0")]
get
{
return this.isVisible;
}
}
// Token: 0x17000302 RID: 770
// (get) Token: 0x06002BE6 RID: 11238 RVA: 0x0005E838 File Offset: 0x0005CA38
[Token(Token = "0x17000302")]
public int AllocParticleCount
{
[Token(Token = "0x6002BE6")]
[Address(RVA = "0xE61FD0", Offset = "0xE607D0", VA = "0x180E61FD0")]
get
{
return this.allocatedParticleCount;
}
}
// Token: 0x17000303 RID: 771
// (get) Token: 0x06002BE7 RID: 11239 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000303")]
public bool IsUpdating
{
[Token(Token = "0x6002BE7")]
[Address(RVA = "0xE7B7C0", Offset = "0xE79FC0", VA = "0x180E7B7C0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002BE8 RID: 11240 RVA: 0x0005E84C File Offset: 0x0005CA4C
[Token(Token = "0x6002BE8")]
[Address(RVA = "0xE79AD0", Offset = "0xE782D0", VA = "0x180E79AD0")]
public void RequireRenderablePositions()
{
}
// Token: 0x06002BE9 RID: 11241 RVA: 0x0005E85C File Offset: 0x0005CA5C
[Token(Token = "0x6002BE9")]
[Address(RVA = "0xE798E0", Offset = "0xE780E0", VA = "0x180E798E0")]
public void RelinquishRenderablePositions()
{
int num = this.renderablePositionsClients;
if (num > 0)
{
this.renderablePositionsClients = num;
}
}
// Token: 0x06002BEA RID: 11242 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BEA")]
[Address(RVA = "0xE788D0", Offset = "0xE770D0", VA = "0x180E788D0")]
private void Awake()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BEB RID: 11243 RVA: 0x0005E87C File Offset: 0x0005CA7C
[Token(Token = "0x6002BEB")]
[Address(RVA = "0xE79D20", Offset = "0xE78520", VA = "0x180E79D20")]
private void Start()
{
if (Application.isPlaying)
{
ObiColliderBase[] array = UnityEngine.Object.FindObjectsOfType<ObiColliderBase>();
int num = 0;
int length = array.Length;
if (num < length)
{
array[num].RegisterInSolver(this, true);
num++;
}
}
}
// Token: 0x06002BEC RID: 11244 RVA: 0x0005E8C0 File Offset: 0x0005CAC0
[Token(Token = "0x6002BEC")]
[Address(RVA = "0xE796E0", Offset = "0xE77EE0", VA = "0x180E796E0")]
private void OnDestroy()
{
if (Application.isPlaying)
{
this.Teardown();
ObiColliderBase[] array = UnityEngine.Object.FindObjectsOfType<ObiColliderBase>();
int num = 0;
int length = array.Length;
if (num < length)
{
array[num].RemoveFromSolver(this);
num++;
}
}
}
// Token: 0x06002BED RID: 11245 RVA: 0x0005E908 File Offset: 0x0005CB08
[Token(Token = "0x6002BED")]
[Address(RVA = "0xE79850", Offset = "0xE78050", VA = "0x180E79850")]
private void OnEnable()
{
if (!Application.isPlaying)
{
this.Initialize();
}
Coroutine coroutine = base.StartCoroutine("RunLateFixedUpdate");
ObiArbiter.RegisterSolver(this);
}
// Token: 0x06002BEE RID: 11246 RVA: 0x0005E938 File Offset: 0x0005CB38
[Token(Token = "0x6002BEE")]
[Address(RVA = "0xE797C0", Offset = "0xE77FC0", VA = "0x180E797C0")]
private void OnDisable()
{
if (!Application.isPlaying)
{
this.Teardown();
}
base.StopCoroutine("RunLateFixedUpdate");
ObiArbiter.UnregisterSolver(this);
}
// Token: 0x06002BEF RID: 11247 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BEF")]
[Address(RVA = "0xE79230", Offset = "0xE77A30", VA = "0x180E79230")]
public void Initialize()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BF0 RID: 11248 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BF0")]
[Address(RVA = "0xE79E00", Offset = "0xE78600", VA = "0x180E79E00")]
private void Teardown()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BF1 RID: 11249 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BF1")]
[Address(RVA = "0xE782D0", Offset = "0xE76AD0", VA = "0x180E782D0")]
public bool AddActor(ObiActor actor, int numParticles)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BF2 RID: 11250 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BF2")]
[Address(RVA = "0xE79900", Offset = "0xE78100", VA = "0x180E79900")]
public int RemoveActor(ObiActor actor)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BF3 RID: 11251 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BF3")]
[Address(RVA = "0xE7A8E0", Offset = "0xE790E0", VA = "0x180E7A8E0")]
public void UpdateParameters()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BF4 RID: 11252 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BF4")]
[Address(RVA = "0xE7A2A0", Offset = "0xE78AA0", VA = "0x180E7A2A0")]
public void UpdateActiveParticles()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BF5 RID: 11253 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BF5")]
[Address(RVA = "0xE7A430", Offset = "0xE78C30", VA = "0x180E7A430")]
public void UpdateEmitterMaterials()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BF6 RID: 11254 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BF6")]
[Address(RVA = "0xE7B620", Offset = "0xE79E20", VA = "0x180E7B620")]
private void emitterMaterial_OnChangesMade(object sender, ObiEmitterMaterial.MaterialChangeEventArgs e)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BF7 RID: 11255 RVA: 0x0005E968 File Offset: 0x0005CB68
[Token(Token = "0x6002BF7")]
[Address(RVA = "0xE782C0", Offset = "0xE76AC0", VA = "0x180E782C0")]
public void AccumulateSimulationTime(float dt)
{
Oni.AddSimulationTime(this.oniSolver, dt);
}
// Token: 0x06002BF8 RID: 11256 RVA: 0x0005E984 File Offset: 0x0005CB84
[Token(Token = "0x6002BF8")]
[Address(RVA = "0xE79AE0", Offset = "0xE782E0", VA = "0x180E79AE0")]
public void ResetSimulationTime()
{
Oni.ResetSimulationTime(this.oniSolver);
}
// Token: 0x06002BF9 RID: 11257 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BF9")]
[Address(RVA = "0xE79B60", Offset = "0xE78360", VA = "0x180E79B60")]
public void SimulateStep(float stepTime)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BFA RID: 11258 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BFA")]
[Address(RVA = "0xE78C70", Offset = "0xE77470", VA = "0x180E78C70")]
public void EndFrame(float frameDelta)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BFB RID: 11259 RVA: 0x0005E99C File Offset: 0x0005CB9C
[Token(Token = "0x6002BFB")]
[Address(RVA = "0xE7A0B0", Offset = "0xE788B0", VA = "0x180E7A0B0")]
private void TriggerFluidUpdateEvents()
{
int constraintCount = Oni.GetConstraintCount(this.oniSolver, 6);
if (constraintCount > 0 && this.OnFluidUpdated != (ulong)0L)
{
int[] array = new int[constraintCount];
Vector4[] array2 = new Vector4[this.maxParticles];
float[] array3 = new float[this.maxParticles];
IntPtr intPtr = this.oniSolver;
Oni.GetActiveConstraintIndices(intPtr, array, constraintCount, 6);
int num = this.maxParticles;
int num2 = 0;
int particleVorticities = Oni.GetParticleVorticities(this.oniSolver, array2, num, num2);
int num3 = this.maxParticles;
int num4 = 0;
int particleDensities = Oni.GetParticleDensities(this.oniSolver, array3, num3, num4);
EventHandler<ObiSolver.ObiFluidEventArgs> onFluidUpdated = this.OnFluidUpdated;
ObiSolver.ObiFluidEventArgs obiFluidEventArgs = new ObiSolver.ObiFluidEventArgs(array, array2, array3);
onFluidUpdated(this, obiFluidEventArgs);
}
}
// Token: 0x06002BFC RID: 11260 RVA: 0x0005EA5C File Offset: 0x0005CC5C
[Token(Token = "0x6002BFC")]
[Address(RVA = "0xE79FC0", Offset = "0xE787C0", VA = "0x180E79FC0")]
private void TriggerCollisionEvents()
{
int constraintCount = Oni.GetConstraintCount(this.oniSolver, 7);
if (this.OnCollision != (ulong)0L)
{
Oni.Contact[] array = new Oni.Contact[constraintCount];
if (constraintCount > 0)
{
Oni.GetCollisionContacts(this.oniSolver, array, constraintCount);
}
EventHandler<ObiSolver.ObiCollisionEventArgs> onCollision = this.OnCollision;
ObiSolver.ObiCollisionEventArgs obiCollisionEventArgs = new ObiSolver.ObiCollisionEventArgs(array);
onCollision(this, obiCollisionEventArgs);
}
}
// Token: 0x06002BFD RID: 11261 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BFD")]
[Address(RVA = "0xE787C0", Offset = "0xE76FC0", VA = "0x180E787C0")]
private bool AreBoundsValid(Bounds bounds)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BFE RID: 11262 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BFE")]
[Address(RVA = "0xE78950", Offset = "0xE77150", VA = "0x180E78950")]
private void CheckVisibility()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BFF RID: 11263 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BFF")]
[Address(RVA = "0xE7AA90", Offset = "0xE79290", VA = "0x180E7AA90")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C00 RID: 11264 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C00")]
[Address(RVA = "0xE79AF0", Offset = "0xE782F0", VA = "0x180E79AF0")]
private IEnumerator RunLateFixedUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C01 RID: 11265 RVA: 0x0005EAB8 File Offset: 0x0005CCB8
[Token(Token = "0x6002C01")]
[Address(RVA = "0xE791D0", Offset = "0xE779D0", VA = "0x180E791D0")]
private void FixedUpdate()
{
if (Application.isPlaying && this.initialized && this.simulate && (this.simulateWhenInvisible || this.isVisible) && this.simulationOrder == ObiSolver.SimulationOrder.FixedUpdate)
{
float fixedDeltaTime = Time.fixedDeltaTime;
this.SimulateStep(fixedDeltaTime);
}
}
// Token: 0x06002C02 RID: 11266 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C02")]
[Address(RVA = "0xE78570", Offset = "0xE76D70", VA = "0x180E78570")]
public void AllSolversStepEnd()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002C03 RID: 11267 RVA: 0x0005EB0C File Offset: 0x0005CD0C
[Token(Token = "0x6002C03")]
[Address(RVA = "0xE79600", Offset = "0xE77E00", VA = "0x180E79600")]
private void LateUpdate()
{
if (Application.isPlaying && this.initialized && this.simulate && (this.simulateWhenInvisible || this.isVisible) && this.simulationOrder == ObiSolver.SimulationOrder.LateUpdate)
{
float deltaTime = Time.deltaTime;
float num = this.smoothDelta;
float num2 = Mathf.Lerp(deltaTime, num, 0.95f);
IntPtr intPtr = this.oniSolver;
num = num2;
this.smoothDelta = num2;
Oni.AddSimulationTime(intPtr, num);
float num3 = this.smoothDelta;
this.SimulateStep(num3);
}
if (Application.isPlaying)
{
if (this.simulationOrder == ObiSolver.SimulationOrder.LateUpdate)
{
}
float fixedDeltaTime = Time.fixedDeltaTime;
this.EndFrame(fixedDeltaTime);
EventHandler onFrameEnd = this.OnFrameEnd;
if (onFrameEnd != 0)
{
int num4 = 0;
onFrameEnd(this, num4);
return;
}
}
}
// Token: 0x06002C04 RID: 11268 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002C04")]
[Address(RVA = "0xE7AC10", Offset = "0xE79410", VA = "0x180E7AC10")]
public ObiSolver()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x0400345B RID: 13403
[Token(Token = "0x400345B")]
public const int MAX_NEIGHBOURS = 92;
// Token: 0x0400345C RID: 13404
[Token(Token = "0x400345C")]
public const int CONSTRAINT_GROUPS = 12;
// Token: 0x04003466 RID: 13414
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4003466")]
public int maxParticles;
// Token: 0x04003467 RID: 13415
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x4003467")]
[HideInInspector]
[NonSerialized]
public bool simulate;
// Token: 0x04003468 RID: 13416
[FieldOffset(Offset = "0x65")]
[Token(Token = "0x4003468")]
[Tooltip("If enabled, will force the solver to keep simulating even when not visible from any camera.")]
public bool simulateWhenInvisible;
// Token: 0x04003469 RID: 13417
[FieldOffset(Offset = "0x66")]
[Token(Token = "0x4003469")]
[Tooltip("If enabled, the solver object transform will be used as the frame of reference for all actors using this solver, instead of the world's frame.")]
public bool simulateInLocalSpace;
// Token: 0x0400346A RID: 13418
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x400346A")]
[Tooltip("Determines when will the solver update particles.")]
public ObiSolver.SimulationOrder simulationOrder;
// Token: 0x0400346B RID: 13419
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x400346B")]
public LayerMask collisionLayers;
// Token: 0x0400346C RID: 13420
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x400346C")]
public Oni.SolverParameters parameters;
// Token: 0x0400346D RID: 13421
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x400346D")]
[HideInInspector]
[NonSerialized]
public List<ObiActor> actors;
// Token: 0x0400346E RID: 13422
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x400346E")]
private int allocatedParticleCount;
// Token: 0x0400346F RID: 13423
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x400346F")]
[HideInInspector]
[NonSerialized]
public ObiSolver.ParticleInActor[] particleToActor;
// Token: 0x04003470 RID: 13424
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4003470")]
[HideInInspector]
[NonSerialized]
public int[] materialIndices;
// Token: 0x04003471 RID: 13425
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x4003471")]
[HideInInspector]
[NonSerialized]
public int[] fluidMaterialIndices;
// Token: 0x04003472 RID: 13426
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4003472")]
private int[] activeParticles;
// Token: 0x04003473 RID: 13427
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4003473")]
private List<ObiEmitterMaterial> emitterMaterials;
// Token: 0x04003474 RID: 13428
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4003474")]
[HideInInspector]
[NonSerialized]
public Vector4[] renderablePositions;
// Token: 0x04003475 RID: 13429
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x4003475")]
[HideInInspector]
public int[] constraintsOrder;
// Token: 0x04003476 RID: 13430
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4003476")]
public Oni.ConstraintParameters distanceConstraintParameters;
// Token: 0x04003477 RID: 13431
[FieldOffset(Offset = "0xED")]
[Token(Token = "0x4003477")]
public Oni.ConstraintParameters bendingConstraintParameters;
// Token: 0x04003478 RID: 13432
[FieldOffset(Offset = "0xFA")]
[Token(Token = "0x4003478")]
public Oni.ConstraintParameters particleCollisionConstraintParameters;
// Token: 0x04003479 RID: 13433
[FieldOffset(Offset = "0x107")]
[Token(Token = "0x4003479")]
public Oni.ConstraintParameters collisionConstraintParameters;
// Token: 0x0400347A RID: 13434
[FieldOffset(Offset = "0x114")]
[Token(Token = "0x400347A")]
public Oni.ConstraintParameters skinConstraintParameters;
// Token: 0x0400347B RID: 13435
[FieldOffset(Offset = "0x121")]
[Token(Token = "0x400347B")]
public Oni.ConstraintParameters volumeConstraintParameters;
// Token: 0x0400347C RID: 13436
[FieldOffset(Offset = "0x12E")]
[Token(Token = "0x400347C")]
public Oni.ConstraintParameters tetherConstraintParameters;
// Token: 0x0400347D RID: 13437
[FieldOffset(Offset = "0x13B")]
[Token(Token = "0x400347D")]
public Oni.ConstraintParameters pinConstraintParameters;
// Token: 0x0400347E RID: 13438
[FieldOffset(Offset = "0x148")]
[Token(Token = "0x400347E")]
public Oni.ConstraintParameters stitchConstraintParameters;
// Token: 0x0400347F RID: 13439
[FieldOffset(Offset = "0x155")]
[Token(Token = "0x400347F")]
public Oni.ConstraintParameters densityConstraintParameters;
// Token: 0x04003480 RID: 13440
[FieldOffset(Offset = "0x168")]
[Token(Token = "0x4003480")]
private IntPtr oniSolver;
// Token: 0x04003481 RID: 13441
[FieldOffset(Offset = "0x170")]
[Token(Token = "0x4003481")]
private ObiEmitterMaterial defaultFluidMaterial;
// Token: 0x04003482 RID: 13442
[FieldOffset(Offset = "0x178")]
[Token(Token = "0x4003482")]
private Bounds bounds;
// Token: 0x04003483 RID: 13443
[FieldOffset(Offset = "0x190")]
[Token(Token = "0x4003483")]
private Matrix4x4 lastTransform;
// Token: 0x04003484 RID: 13444
[FieldOffset(Offset = "0x1D0")]
[Token(Token = "0x4003484")]
private bool initialized;
// Token: 0x04003485 RID: 13445
[FieldOffset(Offset = "0x1D1")]
[Token(Token = "0x4003485")]
private bool isVisible;
// Token: 0x04003486 RID: 13446
[FieldOffset(Offset = "0x1D4")]
[Token(Token = "0x4003486")]
private float smoothDelta;
// Token: 0x04003487 RID: 13447
[FieldOffset(Offset = "0x1D8")]
[Token(Token = "0x4003487")]
private int renderablePositionsClients;
// Token: 0x020004E6 RID: 1254
[Token(Token = "0x20004E6")]
public enum SimulationOrder
{
// Token: 0x04003489 RID: 13449
[Token(Token = "0x4003489")]
FixedUpdate,
// Token: 0x0400348A RID: 13450
[Token(Token = "0x400348A")]
AfterFixedUpdate,
// Token: 0x0400348B RID: 13451
[Token(Token = "0x400348B")]
LateUpdate
}
// Token: 0x020004E7 RID: 1255
[Token(Token = "0x20004E7")]
public class ObiCollisionEventArgs : EventArgs
{
// Token: 0x06002C06 RID: 11270 RVA: 0x0005EBDC File Offset: 0x0005CDDC
[Token(Token = "0x6002C06")]
[Address(RVA = "0x697A30", Offset = "0x696230", VA = "0x180697A30")]
public ObiCollisionEventArgs(Oni.Contact[] contacts)
{
/*
An exception occurred when decompiling this method (06002C06)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Obi.ObiSolver/ObiCollisionEventArgs::.ctor(Oni/Contact[])
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; call:void(EventArgs::.ctor, ldloc:ObiCollisionEventArgs[exp:EventArgs](this)); stfld:valuetype Oni/Contact[](ObiCollisionEventArgs::contacts, ldloc:ObiCollisionEventArgs(this), ldloc:valuetype Oni/Contact[](contacts)); };
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
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 344
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 1618
*/;
}
// Token: 0x0400348C RID: 13452
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400348C")]
public Oni.Contact[] contacts;
}
// Token: 0x020004E8 RID: 1256
[Token(Token = "0x20004E8")]
public class ObiFluidEventArgs : EventArgs
{
// Token: 0x06002C07 RID: 11271 RVA: 0x0005EBF8 File Offset: 0x0005CDF8
[Token(Token = "0x6002C07")]
[Address(RVA = "0x697AA0", Offset = "0x6962A0", VA = "0x180697AA0")]
public ObiFluidEventArgs(int[] indices, Vector4[] vorticities, float[] densities)
{
/*
An exception occurred when decompiling this method (06002C07)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Obi.ObiSolver/ObiFluidEventArgs::.ctor(System.Int32[],UnityEngine.Vector4[],System.Single[])
---> System.Exception: Basic block has to end with unconditional control flow.
{; Block_0:; call:void(EventArgs::.ctor, ldloc:ObiFluidEventArgs[exp:EventArgs](this)); stfld:int32[](ObiFluidEventArgs::indices, ldloc:ObiFluidEventArgs(this), ldloc:int32[](indices)); stfld:valuetype [UnityEngine.CoreModule]UnityEngine.Vector4[](ObiFluidEventArgs::vorticities, ldloc:ObiFluidEventArgs(this), ldloc:valuetype [UnityEngine.CoreModule]UnityEngine.Vector4[](vorticities)); stfld:float32[](ObiFluidEventArgs::densities, ldloc:ObiFluidEventArgs(this), ldloc:float32[](densities)); };
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
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 344
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 1618
*/;
}
// Token: 0x0400348D RID: 13453
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400348D")]
public int[] indices;
// Token: 0x0400348E RID: 13454
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400348E")]
public Vector4[] vorticities;
// Token: 0x0400348F RID: 13455
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400348F")]
public float[] densities;
}
// Token: 0x020004E9 RID: 1257
[Token(Token = "0x20004E9")]
public class ParticleInActor
{
// Token: 0x06002C08 RID: 11272 RVA: 0x0005EC20 File Offset: 0x0005CE20
[Token(Token = "0x6002C08")]
[Address(RVA = "0x697F60", Offset = "0x696760", VA = "0x180697F60")]
public ParticleInActor(ObiActor actor, int indexInActor)
{
this.actor = actor;
this.indexInActor = indexInActor;
}
// Token: 0x04003490 RID: 13456
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003490")]
public ObiActor actor;
// Token: 0x04003491 RID: 13457
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4003491")]
public int indexInActor;
}
}
}