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

1087 lines
37 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using UnityEngine;
namespace Obi
{
// Token: 0x020004DC RID: 1244
[Token(Token = "0x20004DC")]
[ExecuteInEditMode]
[DisallowMultipleComponent]
[AddComponentMenu("Physics/Obi/Obi Solver")]
public sealed class ObiSolver : MonoBehaviour
{
// Token: 0x14000015 RID: 21
// (add) Token: 0x06002B9E RID: 11166 RVA: 0x0005E148 File Offset: 0x0005C348
// (remove) Token: 0x06002B9F RID: 11167 RVA: 0x0005E178 File Offset: 0x0005C378
[Token(Token = "0x14000015")]
public event EventHandler OnFrameBegin
{
[Token(Token = "0x6002B9E")]
[Address(RVA = "0xD2CF10", Offset = "0xD2BD10", VA = "0x180D2CF10")]
[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 = "0x6002B9F")]
[Address(RVA = "0xD2D6C0", Offset = "0xD2C4C0", VA = "0x180D2D6C0")]
[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: 0x06002BA0 RID: 11168 RVA: 0x0005E1A8 File Offset: 0x0005C3A8
// (remove) Token: 0x06002BA1 RID: 11169 RVA: 0x0005E1D8 File Offset: 0x0005C3D8
[Token(Token = "0x14000016")]
public event EventHandler OnStepBegin
{
[Token(Token = "0x6002BA0")]
[Address(RVA = "0xD2D050", Offset = "0xD2BE50", VA = "0x180D2D050")]
[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 = "0x6002BA1")]
[Address(RVA = "0xD2D800", Offset = "0xD2C600", VA = "0x180D2D800")]
[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: 0x06002BA2 RID: 11170 RVA: 0x0005E208 File Offset: 0x0005C408
// (remove) Token: 0x06002BA3 RID: 11171 RVA: 0x0005E238 File Offset: 0x0005C438
[Token(Token = "0x14000017")]
public event EventHandler OnFixedParticlesUpdated
{
[Token(Token = "0x6002BA2")]
[Address(RVA = "0xD2CDD0", Offset = "0xD2BBD0", VA = "0x180D2CDD0")]
[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 = "0x6002BA3")]
[Address(RVA = "0xD2D580", Offset = "0xD2C380", VA = "0x180D2D580")]
[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: 0x06002BA4 RID: 11172 RVA: 0x0005E268 File Offset: 0x0005C468
// (remove) Token: 0x06002BA5 RID: 11173 RVA: 0x0005E298 File Offset: 0x0005C498
[Token(Token = "0x14000018")]
public event EventHandler OnStepEnd
{
[Token(Token = "0x6002BA4")]
[Address(RVA = "0xD2D0F0", Offset = "0xD2BEF0", VA = "0x180D2D0F0")]
[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 = "0x6002BA5")]
[Address(RVA = "0xD2D8A0", Offset = "0xD2C6A0", VA = "0x180D2D8A0")]
[CompilerGenerated]
remove
{
EventHandler onStepEnd = this.OnStepEnd;
Delegate @delegate = Delegate.Remove(onStepEnd, value);
if (@delegate == 0 || @delegate != 0)
{
while (@delegate != onStepEnd)
{
}
return;
}
throw new InvalidCastException();
}
}
// Token: 0x14000019 RID: 25
// (add) Token: 0x06002BA6 RID: 11174 RVA: 0x0005E2C8 File Offset: 0x0005C4C8
// (remove) Token: 0x06002BA7 RID: 11175 RVA: 0x0005E2F8 File Offset: 0x0005C4F8
[Token(Token = "0x14000019")]
public event EventHandler OnBeforePositionInterpolation
{
[Token(Token = "0x6002BA6")]
[Address(RVA = "0xD2CC90", Offset = "0xD2BA90", VA = "0x180D2CC90")]
[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 = "0x6002BA7")]
[Address(RVA = "0xD2D440", Offset = "0xD2C240", VA = "0x180D2D440")]
[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: 0x06002BA8 RID: 11176 RVA: 0x0005E328 File Offset: 0x0005C528
// (remove) Token: 0x06002BA9 RID: 11177 RVA: 0x0005E358 File Offset: 0x0005C558
[Token(Token = "0x1400001A")]
public event EventHandler OnBeforeActorsFrameEnd
{
[Token(Token = "0x6002BA8")]
[Address(RVA = "0xD2CBF0", Offset = "0xD2B9F0", VA = "0x180D2CBF0")]
[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 = "0x6002BA9")]
[Address(RVA = "0xD2D3A0", Offset = "0xD2C1A0", VA = "0x180D2D3A0")]
[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: 0x06002BAA RID: 11178 RVA: 0x0005E388 File Offset: 0x0005C588
// (remove) Token: 0x06002BAB RID: 11179 RVA: 0x0005E3B8 File Offset: 0x0005C5B8
[Token(Token = "0x1400001B")]
public event EventHandler OnFrameEnd
{
[Token(Token = "0x6002BAA")]
[Address(RVA = "0xD2CFB0", Offset = "0xD2BDB0", VA = "0x180D2CFB0")]
[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 = "0x6002BAB")]
[Address(RVA = "0xD2D760", Offset = "0xD2C560", VA = "0x180D2D760")]
[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: 0x06002BAC RID: 11180 RVA: 0x0005E3E8 File Offset: 0x0005C5E8
// (remove) Token: 0x06002BAD RID: 11181 RVA: 0x0005E418 File Offset: 0x0005C618
[Token(Token = "0x1400001C")]
public event EventHandler<ObiSolver.ObiCollisionEventArgs> OnCollision
{
[Token(Token = "0x6002BAC")]
[Address(RVA = "0xD2CD30", Offset = "0xD2BB30", VA = "0x180D2CD30")]
[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 = "0x6002BAD")]
[Address(RVA = "0xD2D4E0", Offset = "0xD2C2E0", VA = "0x180D2D4E0")]
[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: 0x06002BAE RID: 11182 RVA: 0x0005E448 File Offset: 0x0005C648
// (remove) Token: 0x06002BAF RID: 11183 RVA: 0x0005E478 File Offset: 0x0005C678
[Token(Token = "0x1400001D")]
public event EventHandler<ObiSolver.ObiFluidEventArgs> OnFluidUpdated
{
[Token(Token = "0x6002BAE")]
[Address(RVA = "0xD2CE70", Offset = "0xD2BC70", VA = "0x180D2CE70")]
[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 = "0x6002BAF")]
[Address(RVA = "0xD2D620", Offset = "0xD2C420", VA = "0x180D2D620")]
[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: 0x17000304 RID: 772
// (get) Token: 0x06002BB0 RID: 11184 RVA: 0x0005E4A8 File Offset: 0x0005C6A8
[Token(Token = "0x17000304")]
public IntPtr OniSolver
{
[Token(Token = "0x6002BB0")]
[Address(RVA = "0x3191D0", Offset = "0x317FD0", VA = "0x1803191D0")]
get
{
return this.oniSolver;
}
}
// Token: 0x17000305 RID: 773
// (get) Token: 0x06002BB1 RID: 11185 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000305")]
public Bounds Bounds
{
[Token(Token = "0x6002BB1")]
[Address(RVA = "0xD2D310", Offset = "0xD2C110", VA = "0x180D2D310")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17000306 RID: 774
// (get) Token: 0x06002BB2 RID: 11186 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000306")]
public Matrix4x4 LastTransform
{
[Token(Token = "0x6002BB2")]
[Address(RVA = "0xD2D370", Offset = "0xD2C170", VA = "0x180D2D370")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x17000307 RID: 775
// (get) Token: 0x06002BB3 RID: 11187 RVA: 0x0005E4BC File Offset: 0x0005C6BC
[Token(Token = "0x17000307")]
public bool IsVisible
{
[Token(Token = "0x6002BB3")]
[Address(RVA = "0xD2D360", Offset = "0xD2C160", VA = "0x180D2D360")]
get
{
return this.isVisible;
}
}
// Token: 0x17000308 RID: 776
// (get) Token: 0x06002BB4 RID: 11188 RVA: 0x0005E4D0 File Offset: 0x0005C6D0
[Token(Token = "0x17000308")]
public int AllocParticleCount
{
[Token(Token = "0x6002BB4")]
[Address(RVA = "0xD02B90", Offset = "0xD01990", VA = "0x180D02B90")]
get
{
return this.allocatedParticleCount;
}
}
// Token: 0x17000309 RID: 777
// (get) Token: 0x06002BB5 RID: 11189 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x17000309")]
public bool IsUpdating
{
[Token(Token = "0x6002BB5")]
[Address(RVA = "0xD2D330", Offset = "0xD2C130", VA = "0x180D2D330")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002BB6 RID: 11190 RVA: 0x0005E4E4 File Offset: 0x0005C6E4
[Token(Token = "0x6002BB6")]
[Address(RVA = "0xD2B640", Offset = "0xD2A440", VA = "0x180D2B640")]
public void RequireRenderablePositions()
{
}
// Token: 0x06002BB7 RID: 11191 RVA: 0x0005E4F4 File Offset: 0x0005C6F4
[Token(Token = "0x6002BB7")]
[Address(RVA = "0xD2B450", Offset = "0xD2A250", VA = "0x180D2B450")]
public void RelinquishRenderablePositions()
{
int num = this.renderablePositionsClients;
if (num > 0)
{
this.renderablePositionsClients = num;
}
}
// Token: 0x06002BB8 RID: 11192 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BB8")]
[Address(RVA = "0xD2A440", Offset = "0xD29240", VA = "0x180D2A440")]
private void Awake()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BB9 RID: 11193 RVA: 0x0005E514 File Offset: 0x0005C714
[Token(Token = "0x6002BB9")]
[Address(RVA = "0xD2B890", Offset = "0xD2A690", VA = "0x180D2B890")]
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: 0x06002BBA RID: 11194 RVA: 0x0005E558 File Offset: 0x0005C758
[Token(Token = "0x6002BBA")]
[Address(RVA = "0xD2B250", Offset = "0xD2A050", VA = "0x180D2B250")]
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: 0x06002BBB RID: 11195 RVA: 0x0005E5A0 File Offset: 0x0005C7A0
[Token(Token = "0x6002BBB")]
[Address(RVA = "0xD2B3C0", Offset = "0xD2A1C0", VA = "0x180D2B3C0")]
private void OnEnable()
{
if (!Application.isPlaying)
{
this.Initialize();
}
Coroutine coroutine = base.StartCoroutine("RunLateFixedUpdate");
ObiArbiter.RegisterSolver(this);
}
// Token: 0x06002BBC RID: 11196 RVA: 0x0005E5D0 File Offset: 0x0005C7D0
[Token(Token = "0x6002BBC")]
[Address(RVA = "0xD2B330", Offset = "0xD2A130", VA = "0x180D2B330")]
private void OnDisable()
{
if (!Application.isPlaying)
{
this.Teardown();
}
base.StopCoroutine("RunLateFixedUpdate");
ObiArbiter.UnregisterSolver(this);
}
// Token: 0x06002BBD RID: 11197 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BBD")]
[Address(RVA = "0xD2ADA0", Offset = "0xD29BA0", VA = "0x180D2ADA0")]
public void Initialize()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BBE RID: 11198 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BBE")]
[Address(RVA = "0xD2B970", Offset = "0xD2A770", VA = "0x180D2B970")]
private void Teardown()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BBF RID: 11199 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BBF")]
[Address(RVA = "0xD29E40", Offset = "0xD28C40", VA = "0x180D29E40")]
public bool AddActor(ObiActor actor, int numParticles)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BC0 RID: 11200 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BC0")]
[Address(RVA = "0xD2B470", Offset = "0xD2A270", VA = "0x180D2B470")]
public int RemoveActor(ObiActor actor)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BC1 RID: 11201 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BC1")]
[Address(RVA = "0xD2C450", Offset = "0xD2B250", VA = "0x180D2C450")]
public void UpdateParameters()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BC2 RID: 11202 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BC2")]
[Address(RVA = "0xD2BE10", Offset = "0xD2AC10", VA = "0x180D2BE10")]
public void UpdateActiveParticles()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BC3 RID: 11203 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BC3")]
[Address(RVA = "0xD2BFA0", Offset = "0xD2ADA0", VA = "0x180D2BFA0")]
public void UpdateEmitterMaterials()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BC4 RID: 11204 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BC4")]
[Address(RVA = "0xD2D190", Offset = "0xD2BF90", VA = "0x180D2D190")]
private void emitterMaterial_OnChangesMade(object sender, ObiEmitterMaterial.MaterialChangeEventArgs e)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BC5 RID: 11205 RVA: 0x0005E600 File Offset: 0x0005C800
[Token(Token = "0x6002BC5")]
[Address(RVA = "0xD29E30", Offset = "0xD28C30", VA = "0x180D29E30")]
public void AccumulateSimulationTime(float dt)
{
Oni.AddSimulationTime(this.oniSolver, dt);
}
// Token: 0x06002BC6 RID: 11206 RVA: 0x0005E61C File Offset: 0x0005C81C
[Token(Token = "0x6002BC6")]
[Address(RVA = "0xD2B650", Offset = "0xD2A450", VA = "0x180D2B650")]
public void ResetSimulationTime()
{
Oni.ResetSimulationTime(this.oniSolver);
}
// Token: 0x06002BC7 RID: 11207 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BC7")]
[Address(RVA = "0xD2B6D0", Offset = "0xD2A4D0", VA = "0x180D2B6D0")]
public void SimulateStep(float stepTime)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BC8 RID: 11208 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BC8")]
[Address(RVA = "0xD2A7E0", Offset = "0xD295E0", VA = "0x180D2A7E0")]
public void EndFrame(float frameDelta)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BC9 RID: 11209 RVA: 0x0005E634 File Offset: 0x0005C834
[Token(Token = "0x6002BC9")]
[Address(RVA = "0xD2BC20", Offset = "0xD2AA20", VA = "0x180D2BC20")]
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: 0x06002BCA RID: 11210 RVA: 0x0005E6F4 File Offset: 0x0005C8F4
[Token(Token = "0x6002BCA")]
[Address(RVA = "0xD2BB30", Offset = "0xD2A930", VA = "0x180D2BB30")]
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: 0x06002BCB RID: 11211 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BCB")]
[Address(RVA = "0xD2A330", Offset = "0xD29130", VA = "0x180D2A330")]
private bool AreBoundsValid(Bounds bounds)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BCC RID: 11212 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BCC")]
[Address(RVA = "0xD2A4C0", Offset = "0xD292C0", VA = "0x180D2A4C0")]
private void CheckVisibility()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BCD RID: 11213 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BCD")]
[Address(RVA = "0xD2C600", Offset = "0xD2B400", VA = "0x180D2C600")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BCE RID: 11214 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BCE")]
[Address(RVA = "0xD2B660", Offset = "0xD2A460", VA = "0x180D2B660")]
private IEnumerator RunLateFixedUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BCF RID: 11215 RVA: 0x0005E750 File Offset: 0x0005C950
[Token(Token = "0x6002BCF")]
[Address(RVA = "0xD2AD40", Offset = "0xD29B40", VA = "0x180D2AD40")]
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: 0x06002BD0 RID: 11216 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BD0")]
[Address(RVA = "0xD2A0E0", Offset = "0xD28EE0", VA = "0x180D2A0E0")]
public void AllSolversStepEnd()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002BD1 RID: 11217 RVA: 0x0005E7A4 File Offset: 0x0005C9A4
[Token(Token = "0x6002BD1")]
[Address(RVA = "0xD2B170", Offset = "0xD29F70", VA = "0x180D2B170")]
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: 0x06002BD2 RID: 11218 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002BD2")]
[Address(RVA = "0xD2C780", Offset = "0xD2B580", VA = "0x180D2C780")]
public ObiSolver()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04003419 RID: 13337
[Token(Token = "0x4003419")]
public const int MAX_NEIGHBOURS = 92;
// Token: 0x0400341A RID: 13338
[Token(Token = "0x400341A")]
public const int CONSTRAINT_GROUPS = 12;
// Token: 0x04003424 RID: 13348
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4003424")]
public int maxParticles;
// Token: 0x04003425 RID: 13349
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x4003425")]
[HideInInspector]
[NonSerialized]
public bool simulate;
// Token: 0x04003426 RID: 13350
[FieldOffset(Offset = "0x65")]
[Token(Token = "0x4003426")]
[Tooltip("If enabled, will force the solver to keep simulating even when not visible from any camera.")]
public bool simulateWhenInvisible;
// Token: 0x04003427 RID: 13351
[FieldOffset(Offset = "0x66")]
[Token(Token = "0x4003427")]
[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: 0x04003428 RID: 13352
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4003428")]
[Tooltip("Determines when will the solver update particles.")]
public ObiSolver.SimulationOrder simulationOrder;
// Token: 0x04003429 RID: 13353
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4003429")]
public LayerMask collisionLayers;
// Token: 0x0400342A RID: 13354
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x400342A")]
public Oni.SolverParameters parameters;
// Token: 0x0400342B RID: 13355
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x400342B")]
[HideInInspector]
[NonSerialized]
public List<ObiActor> actors;
// Token: 0x0400342C RID: 13356
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x400342C")]
private int allocatedParticleCount;
// Token: 0x0400342D RID: 13357
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x400342D")]
[HideInInspector]
[NonSerialized]
public ObiSolver.ParticleInActor[] particleToActor;
// Token: 0x0400342E RID: 13358
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x400342E")]
[HideInInspector]
[NonSerialized]
public int[] materialIndices;
// Token: 0x0400342F RID: 13359
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x400342F")]
[HideInInspector]
[NonSerialized]
public int[] fluidMaterialIndices;
// Token: 0x04003430 RID: 13360
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x4003430")]
private int[] activeParticles;
// Token: 0x04003431 RID: 13361
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x4003431")]
private List<ObiEmitterMaterial> emitterMaterials;
// Token: 0x04003432 RID: 13362
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x4003432")]
[HideInInspector]
[NonSerialized]
public Vector4[] renderablePositions;
// Token: 0x04003433 RID: 13363
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x4003433")]
[HideInInspector]
public int[] constraintsOrder;
// Token: 0x04003434 RID: 13364
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x4003434")]
public Oni.ConstraintParameters distanceConstraintParameters;
// Token: 0x04003435 RID: 13365
[FieldOffset(Offset = "0xED")]
[Token(Token = "0x4003435")]
public Oni.ConstraintParameters bendingConstraintParameters;
// Token: 0x04003436 RID: 13366
[FieldOffset(Offset = "0xFA")]
[Token(Token = "0x4003436")]
public Oni.ConstraintParameters particleCollisionConstraintParameters;
// Token: 0x04003437 RID: 13367
[FieldOffset(Offset = "0x107")]
[Token(Token = "0x4003437")]
public Oni.ConstraintParameters collisionConstraintParameters;
// Token: 0x04003438 RID: 13368
[FieldOffset(Offset = "0x114")]
[Token(Token = "0x4003438")]
public Oni.ConstraintParameters skinConstraintParameters;
// Token: 0x04003439 RID: 13369
[FieldOffset(Offset = "0x121")]
[Token(Token = "0x4003439")]
public Oni.ConstraintParameters volumeConstraintParameters;
// Token: 0x0400343A RID: 13370
[FieldOffset(Offset = "0x12E")]
[Token(Token = "0x400343A")]
public Oni.ConstraintParameters tetherConstraintParameters;
// Token: 0x0400343B RID: 13371
[FieldOffset(Offset = "0x13B")]
[Token(Token = "0x400343B")]
public Oni.ConstraintParameters pinConstraintParameters;
// Token: 0x0400343C RID: 13372
[FieldOffset(Offset = "0x148")]
[Token(Token = "0x400343C")]
public Oni.ConstraintParameters stitchConstraintParameters;
// Token: 0x0400343D RID: 13373
[FieldOffset(Offset = "0x155")]
[Token(Token = "0x400343D")]
public Oni.ConstraintParameters densityConstraintParameters;
// Token: 0x0400343E RID: 13374
[FieldOffset(Offset = "0x168")]
[Token(Token = "0x400343E")]
private IntPtr oniSolver;
// Token: 0x0400343F RID: 13375
[FieldOffset(Offset = "0x170")]
[Token(Token = "0x400343F")]
private ObiEmitterMaterial defaultFluidMaterial;
// Token: 0x04003440 RID: 13376
[FieldOffset(Offset = "0x178")]
[Token(Token = "0x4003440")]
private Bounds bounds;
// Token: 0x04003441 RID: 13377
[FieldOffset(Offset = "0x190")]
[Token(Token = "0x4003441")]
private Matrix4x4 lastTransform;
// Token: 0x04003442 RID: 13378
[FieldOffset(Offset = "0x1D0")]
[Token(Token = "0x4003442")]
private bool initialized;
// Token: 0x04003443 RID: 13379
[FieldOffset(Offset = "0x1D1")]
[Token(Token = "0x4003443")]
private bool isVisible;
// Token: 0x04003444 RID: 13380
[FieldOffset(Offset = "0x1D4")]
[Token(Token = "0x4003444")]
private float smoothDelta;
// Token: 0x04003445 RID: 13381
[FieldOffset(Offset = "0x1D8")]
[Token(Token = "0x4003445")]
private int renderablePositionsClients;
// Token: 0x020004DD RID: 1245
[Token(Token = "0x20004DD")]
public enum SimulationOrder
{
// Token: 0x04003447 RID: 13383
[Token(Token = "0x4003447")]
FixedUpdate,
// Token: 0x04003448 RID: 13384
[Token(Token = "0x4003448")]
AfterFixedUpdate,
// Token: 0x04003449 RID: 13385
[Token(Token = "0x4003449")]
LateUpdate
}
// Token: 0x020004DE RID: 1246
[Token(Token = "0x20004DE")]
public class ObiCollisionEventArgs : EventArgs
{
// Token: 0x06002BD4 RID: 11220 RVA: 0x0005E874 File Offset: 0x0005CA74
[Token(Token = "0x6002BD4")]
[Address(RVA = "0x69F3E0", Offset = "0x69E1E0", VA = "0x18069F3E0")]
public ObiCollisionEventArgs(Oni.Contact[] contacts)
{
/*
An exception occurred when decompiling this method (06002BD4)
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: 0x0400344A RID: 13386
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400344A")]
public Oni.Contact[] contacts;
}
// Token: 0x020004DF RID: 1247
[Token(Token = "0x20004DF")]
public class ObiFluidEventArgs : EventArgs
{
// Token: 0x06002BD5 RID: 11221 RVA: 0x0005E890 File Offset: 0x0005CA90
[Token(Token = "0x6002BD5")]
[Address(RVA = "0x69F450", Offset = "0x69E250", VA = "0x18069F450")]
public ObiFluidEventArgs(int[] indices, Vector4[] vorticities, float[] densities)
{
/*
An exception occurred when decompiling this method (06002BD5)
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: 0x0400344B RID: 13387
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400344B")]
public int[] indices;
// Token: 0x0400344C RID: 13388
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400344C")]
public Vector4[] vorticities;
// Token: 0x0400344D RID: 13389
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x400344D")]
public float[] densities;
}
// Token: 0x020004E0 RID: 1248
[Token(Token = "0x20004E0")]
public class ParticleInActor
{
// Token: 0x06002BD6 RID: 11222 RVA: 0x0005E8B8 File Offset: 0x0005CAB8
[Token(Token = "0x6002BD6")]
[Address(RVA = "0x69F910", Offset = "0x69E710", VA = "0x18069F910")]
public ParticleInActor(ObiActor actor, int indexInActor)
{
this.actor = actor;
this.indexInActor = indexInActor;
}
// Token: 0x0400344E RID: 13390
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x400344E")]
public ObiActor actor;
// Token: 0x0400344F RID: 13391
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x400344F")]
public int indexInActor;
}
}
}