Files
2023-09-06 22:19:13 +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: 0x02000534 RID: 1332
[Token(Token = "0x2000534")]
[DisallowMultipleComponent]
[ExecuteInEditMode]
[AddComponentMenu("Physics/Obi/Obi Solver")]
public sealed class ObiSolver : MonoBehaviour
{
// Token: 0x14000015 RID: 21
// (add) Token: 0x06002E67 RID: 11879 RVA: 0x0006540C File Offset: 0x0006360C
// (remove) Token: 0x06002E68 RID: 11880 RVA: 0x0006543C File Offset: 0x0006363C
[Token(Token = "0x14000015")]
public event EventHandler OnFrameBegin
{
[Token(Token = "0x6002E67")]
[Address(RVA = "0xE5E080", Offset = "0xE5D080", VA = "0x180E5E080")]
[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 = "0x6002E68")]
[Address(RVA = "0xE5E840", Offset = "0xE5D840", VA = "0x180E5E840")]
[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: 0x06002E69 RID: 11881 RVA: 0x000020D3 File Offset: 0x000002D3
// (remove) Token: 0x06002E6A RID: 11882 RVA: 0x0006546C File Offset: 0x0006366C
[Token(Token = "0x14000016")]
public event EventHandler OnStepBegin
{
[Token(Token = "0x6002E69")]
[Address(RVA = "0xE5E1C0", Offset = "0xE5D1C0", VA = "0x180E5E1C0")]
[CompilerGenerated]
add
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
[Token(Token = "0x6002E6A")]
[Address(RVA = "0xE5E980", Offset = "0xE5D980", VA = "0x180E5E980")]
[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: 0x06002E6B RID: 11883 RVA: 0x0006549C File Offset: 0x0006369C
// (remove) Token: 0x06002E6C RID: 11884 RVA: 0x000654CC File Offset: 0x000636CC
[Token(Token = "0x14000017")]
public event EventHandler OnFixedParticlesUpdated
{
[Token(Token = "0x6002E6B")]
[Address(RVA = "0xE5DF40", Offset = "0xE5CF40", VA = "0x180E5DF40")]
[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 = "0x6002E6C")]
[Address(RVA = "0xE5E700", Offset = "0xE5D700", VA = "0x180E5E700")]
[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: 0x06002E6D RID: 11885 RVA: 0x000654FC File Offset: 0x000636FC
// (remove) Token: 0x06002E6E RID: 11886 RVA: 0x0006552C File Offset: 0x0006372C
[Token(Token = "0x14000018")]
public event EventHandler OnStepEnd
{
[Token(Token = "0x6002E6D")]
[Address(RVA = "0xE5E260", Offset = "0xE5D260", VA = "0x180E5E260")]
[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 = "0x6002E6E")]
[Address(RVA = "0xE5EA20", Offset = "0xE5DA20", VA = "0x180E5EA20")]
[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: 0x06002E6F RID: 11887 RVA: 0x0006555C File Offset: 0x0006375C
// (remove) Token: 0x06002E70 RID: 11888 RVA: 0x0006558C File Offset: 0x0006378C
[Token(Token = "0x14000019")]
public event EventHandler OnBeforePositionInterpolation
{
[Token(Token = "0x6002E6F")]
[Address(RVA = "0xE5DE00", Offset = "0xE5CE00", VA = "0x180E5DE00")]
[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 = "0x6002E70")]
[Address(RVA = "0xE5E5C0", Offset = "0xE5D5C0", VA = "0x180E5E5C0")]
[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: 0x06002E71 RID: 11889 RVA: 0x000655BC File Offset: 0x000637BC
// (remove) Token: 0x06002E72 RID: 11890 RVA: 0x000655EC File Offset: 0x000637EC
[Token(Token = "0x1400001A")]
public event EventHandler OnBeforeActorsFrameEnd
{
[Token(Token = "0x6002E71")]
[Address(RVA = "0xE5DD60", Offset = "0xE5CD60", VA = "0x180E5DD60")]
[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 = "0x6002E72")]
[Address(RVA = "0xE5E520", Offset = "0xE5D520", VA = "0x180E5E520")]
[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: 0x06002E73 RID: 11891 RVA: 0x0006561C File Offset: 0x0006381C
// (remove) Token: 0x06002E74 RID: 11892 RVA: 0x0006564C File Offset: 0x0006384C
[Token(Token = "0x1400001B")]
public event EventHandler OnFrameEnd
{
[Token(Token = "0x6002E73")]
[Address(RVA = "0xE5E120", Offset = "0xE5D120", VA = "0x180E5E120")]
[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 = "0x6002E74")]
[Address(RVA = "0xE5E8E0", Offset = "0xE5D8E0", VA = "0x180E5E8E0")]
[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: 0x06002E75 RID: 11893 RVA: 0x0006567C File Offset: 0x0006387C
// (remove) Token: 0x06002E76 RID: 11894 RVA: 0x000656AC File Offset: 0x000638AC
[Token(Token = "0x1400001C")]
public event EventHandler<ObiSolver.ObiCollisionEventArgs> OnCollision
{
[Token(Token = "0x6002E75")]
[Address(RVA = "0xE5DEA0", Offset = "0xE5CEA0", VA = "0x180E5DEA0")]
[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 = "0x6002E76")]
[Address(RVA = "0xE5E660", Offset = "0xE5D660", VA = "0x180E5E660")]
[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: 0x06002E77 RID: 11895 RVA: 0x000656DC File Offset: 0x000638DC
// (remove) Token: 0x06002E78 RID: 11896 RVA: 0x0006570C File Offset: 0x0006390C
[Token(Token = "0x1400001D")]
public event EventHandler<ObiSolver.ObiFluidEventArgs> OnFluidUpdated
{
[Token(Token = "0x6002E77")]
[Address(RVA = "0xE5DFE0", Offset = "0xE5CFE0", VA = "0x180E5DFE0")]
[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 = "0x6002E78")]
[Address(RVA = "0xE5E7A0", Offset = "0xE5D7A0", VA = "0x180E5E7A0")]
[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: 0x17000329 RID: 809
// (get) Token: 0x06002E79 RID: 11897 RVA: 0x0006573C File Offset: 0x0006393C
[Token(Token = "0x17000329")]
public IntPtr OniSolver
{
[Token(Token = "0x6002E79")]
[Address(RVA = "0x339D60", Offset = "0x338D60", VA = "0x180339D60")]
get
{
return this.oniSolver;
}
}
// Token: 0x1700032A RID: 810
// (get) Token: 0x06002E7A RID: 11898 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700032A")]
public Bounds Bounds
{
[Token(Token = "0x6002E7A")]
[Address(RVA = "0xE5E490", Offset = "0xE5D490", VA = "0x180E5E490")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x1700032B RID: 811
// (get) Token: 0x06002E7B RID: 11899 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700032B")]
public Matrix4x4 LastTransform
{
[Token(Token = "0x6002E7B")]
[Address(RVA = "0xE5E4F0", Offset = "0xE5D4F0", VA = "0x180E5E4F0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x1700032C RID: 812
// (get) Token: 0x06002E7C RID: 11900 RVA: 0x00065750 File Offset: 0x00063950
[Token(Token = "0x1700032C")]
public bool IsVisible
{
[Token(Token = "0x6002E7C")]
[Address(RVA = "0xE5E4E0", Offset = "0xE5D4E0", VA = "0x180E5E4E0")]
get
{
return this.isVisible;
}
}
// Token: 0x1700032D RID: 813
// (get) Token: 0x06002E7D RID: 11901 RVA: 0x00065764 File Offset: 0x00063964
[Token(Token = "0x1700032D")]
public int AllocParticleCount
{
[Token(Token = "0x6002E7D")]
[Address(RVA = "0xE5E480", Offset = "0xE5D480", VA = "0x180E5E480")]
get
{
return this.allocatedParticleCount;
}
}
// Token: 0x1700032E RID: 814
// (get) Token: 0x06002E7E RID: 11902 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x1700032E")]
public bool IsUpdating
{
[Token(Token = "0x6002E7E")]
[Address(RVA = "0xE5E4B0", Offset = "0xE5D4B0", VA = "0x180E5E4B0")]
get
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
// Token: 0x06002E7F RID: 11903 RVA: 0x00065778 File Offset: 0x00063978
[Token(Token = "0x6002E7F")]
[Address(RVA = "0xE5C7B0", Offset = "0xE5B7B0", VA = "0x180E5C7B0")]
public void RequireRenderablePositions()
{
}
// Token: 0x06002E80 RID: 11904 RVA: 0x00065788 File Offset: 0x00063988
[Token(Token = "0x6002E80")]
[Address(RVA = "0xE5C5C0", Offset = "0xE5B5C0", VA = "0x180E5C5C0")]
public void RelinquishRenderablePositions()
{
int num = this.renderablePositionsClients;
if (num > 0)
{
this.renderablePositionsClients = num;
}
}
// Token: 0x06002E81 RID: 11905 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E81")]
[Address(RVA = "0xE5B5B0", Offset = "0xE5A5B0", VA = "0x180E5B5B0")]
private void Awake()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E82 RID: 11906 RVA: 0x000657A8 File Offset: 0x000639A8
[Token(Token = "0x6002E82")]
[Address(RVA = "0xE5CA00", Offset = "0xE5BA00", VA = "0x180E5CA00")]
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: 0x06002E83 RID: 11907 RVA: 0x000657EC File Offset: 0x000639EC
[Token(Token = "0x6002E83")]
[Address(RVA = "0xE5C3C0", Offset = "0xE5B3C0", VA = "0x180E5C3C0")]
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: 0x06002E84 RID: 11908 RVA: 0x00065834 File Offset: 0x00063A34
[Token(Token = "0x6002E84")]
[Address(RVA = "0xE5C530", Offset = "0xE5B530", VA = "0x180E5C530")]
private void OnEnable()
{
if (!Application.isPlaying)
{
this.Initialize();
}
Coroutine coroutine = base.StartCoroutine("RunLateFixedUpdate");
ObiArbiter.RegisterSolver(this);
}
// Token: 0x06002E85 RID: 11909 RVA: 0x00065864 File Offset: 0x00063A64
[Token(Token = "0x6002E85")]
[Address(RVA = "0xE5C4A0", Offset = "0xE5B4A0", VA = "0x180E5C4A0")]
private void OnDisable()
{
if (!Application.isPlaying)
{
this.Teardown();
}
base.StopCoroutine("RunLateFixedUpdate");
ObiArbiter.UnregisterSolver(this);
}
// Token: 0x06002E86 RID: 11910 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E86")]
[Address(RVA = "0xE5BF10", Offset = "0xE5AF10", VA = "0x180E5BF10")]
public void Initialize()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E87 RID: 11911 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E87")]
[Address(RVA = "0xE5CAE0", Offset = "0xE5BAE0", VA = "0x180E5CAE0")]
private void Teardown()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E88 RID: 11912 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E88")]
[Address(RVA = "0xE5AFB0", Offset = "0xE59FB0", VA = "0x180E5AFB0")]
public bool AddActor(ObiActor actor, int numParticles)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E89 RID: 11913 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E89")]
[Address(RVA = "0xE5C5E0", Offset = "0xE5B5E0", VA = "0x180E5C5E0")]
public int RemoveActor(ObiActor actor)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E8A RID: 11914 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E8A")]
[Address(RVA = "0xE5D5C0", Offset = "0xE5C5C0", VA = "0x180E5D5C0")]
public void UpdateParameters()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E8B RID: 11915 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E8B")]
[Address(RVA = "0xE5CF80", Offset = "0xE5BF80", VA = "0x180E5CF80")]
public void UpdateActiveParticles()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E8C RID: 11916 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E8C")]
[Address(RVA = "0xE5D110", Offset = "0xE5C110", VA = "0x180E5D110")]
public void UpdateEmitterMaterials()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E8D RID: 11917 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E8D")]
[Address(RVA = "0xE5E300", Offset = "0xE5D300", VA = "0x180E5E300")]
private void emitterMaterial_OnChangesMade(object sender, ObiEmitterMaterial.MaterialChangeEventArgs e)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E8E RID: 11918 RVA: 0x00065894 File Offset: 0x00063A94
[Token(Token = "0x6002E8E")]
[Address(RVA = "0xE5AFA0", Offset = "0xE59FA0", VA = "0x180E5AFA0")]
public void AccumulateSimulationTime(float dt)
{
Oni.AddSimulationTime(this.oniSolver, dt);
}
// Token: 0x06002E8F RID: 11919 RVA: 0x000658B0 File Offset: 0x00063AB0
[Token(Token = "0x6002E8F")]
[Address(RVA = "0xE5C7C0", Offset = "0xE5B7C0", VA = "0x180E5C7C0")]
public void ResetSimulationTime()
{
Oni.ResetSimulationTime(this.oniSolver);
}
// Token: 0x06002E90 RID: 11920 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E90")]
[Address(RVA = "0xE5C840", Offset = "0xE5B840", VA = "0x180E5C840")]
public void SimulateStep(float stepTime)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E91 RID: 11921 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E91")]
[Address(RVA = "0xE5B950", Offset = "0xE5A950", VA = "0x180E5B950")]
public void EndFrame(float frameDelta)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E92 RID: 11922 RVA: 0x000658C8 File Offset: 0x00063AC8
[Token(Token = "0x6002E92")]
[Address(RVA = "0xE5CD90", Offset = "0xE5BD90", VA = "0x180E5CD90")]
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: 0x06002E93 RID: 11923 RVA: 0x00065988 File Offset: 0x00063B88
[Token(Token = "0x6002E93")]
[Address(RVA = "0xE5CCA0", Offset = "0xE5BCA0", VA = "0x180E5CCA0")]
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: 0x06002E94 RID: 11924 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E94")]
[Address(RVA = "0xE5B4A0", Offset = "0xE5A4A0", VA = "0x180E5B4A0")]
private bool AreBoundsValid(Bounds bounds)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E95 RID: 11925 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E95")]
[Address(RVA = "0xE5B630", Offset = "0xE5A630", VA = "0x180E5B630")]
private void CheckVisibility()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E96 RID: 11926 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E96")]
[Address(RVA = "0xE5D770", Offset = "0xE5C770", VA = "0x180E5D770")]
private void Update()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E97 RID: 11927 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E97")]
[Address(RVA = "0xE5C7D0", Offset = "0xE5B7D0", VA = "0x180E5C7D0")]
private IEnumerator RunLateFixedUpdate()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E98 RID: 11928 RVA: 0x000659E4 File Offset: 0x00063BE4
[Token(Token = "0x6002E98")]
[Address(RVA = "0xE5BEB0", Offset = "0xE5AEB0", VA = "0x180E5BEB0")]
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: 0x06002E99 RID: 11929 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E99")]
[Address(RVA = "0xE5B250", Offset = "0xE5A250", VA = "0x180E5B250")]
public void AllSolversStepEnd()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06002E9A RID: 11930 RVA: 0x00065A38 File Offset: 0x00063C38
[Token(Token = "0x6002E9A")]
[Address(RVA = "0xE5C2E0", Offset = "0xE5B2E0", VA = "0x180E5C2E0")]
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: 0x06002E9B RID: 11931 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x6002E9B")]
[Address(RVA = "0xE5D8F0", Offset = "0xE5C8F0", VA = "0x180E5D8F0")]
public ObiSolver()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x04003703 RID: 14083
[Token(Token = "0x4003703")]
public const int MAX_NEIGHBOURS = 92;
// Token: 0x04003704 RID: 14084
[Token(Token = "0x4003704")]
public const int CONSTRAINT_GROUPS = 12;
// Token: 0x0400370E RID: 14094
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400370E")]
public int maxParticles;
// Token: 0x0400370F RID: 14095
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x400370F")]
[HideInInspector]
[NonSerialized]
public bool simulate;
// Token: 0x04003710 RID: 14096
[FieldOffset(Offset = "0x65")]
[Token(Token = "0x4003710")]
[Tooltip("If enabled, will force the solver to keep simulating even when not visible from any camera.")]
public bool simulateWhenInvisible;
// Token: 0x04003711 RID: 14097
[FieldOffset(Offset = "0x66")]
[Token(Token = "0x4003711")]
[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: 0x04003712 RID: 14098
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4003712")]
[Tooltip("Determines when will the solver update particles.")]
public ObiSolver.SimulationOrder simulationOrder;
// Token: 0x04003713 RID: 14099
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4003713")]
public LayerMask collisionLayers;
// Token: 0x04003714 RID: 14100
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4003714")]
public Oni.SolverParameters parameters;
// Token: 0x04003715 RID: 14101
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x4003715")]
[HideInInspector]
[NonSerialized]
public List<ObiActor> actors;
// Token: 0x04003716 RID: 14102
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x4003716")]
private int allocatedParticleCount;
// Token: 0x04003717 RID: 14103
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x4003717")]
[HideInInspector]
[NonSerialized]
public ObiSolver.ParticleInActor[] particleToActor;
// Token: 0x04003718 RID: 14104
[FieldOffset(Offset = "0xB0")]
[Token(Token = "0x4003718")]
[HideInInspector]
[NonSerialized]
public int[] materialIndices;
// Token: 0x04003719 RID: 14105
[FieldOffset(Offset = "0xB8")]
[Token(Token = "0x4003719")]
[HideInInspector]
[NonSerialized]
public int[] fluidMaterialIndices;
// Token: 0x0400371A RID: 14106
[FieldOffset(Offset = "0xC0")]
[Token(Token = "0x400371A")]
private int[] activeParticles;
// Token: 0x0400371B RID: 14107
[FieldOffset(Offset = "0xC8")]
[Token(Token = "0x400371B")]
private List<ObiEmitterMaterial> emitterMaterials;
// Token: 0x0400371C RID: 14108
[FieldOffset(Offset = "0xD0")]
[Token(Token = "0x400371C")]
[HideInInspector]
[NonSerialized]
public Vector4[] renderablePositions;
// Token: 0x0400371D RID: 14109
[FieldOffset(Offset = "0xD8")]
[Token(Token = "0x400371D")]
[HideInInspector]
public int[] constraintsOrder;
// Token: 0x0400371E RID: 14110
[FieldOffset(Offset = "0xE0")]
[Token(Token = "0x400371E")]
public Oni.ConstraintParameters distanceConstraintParameters;
// Token: 0x0400371F RID: 14111
[FieldOffset(Offset = "0xED")]
[Token(Token = "0x400371F")]
public Oni.ConstraintParameters bendingConstraintParameters;
// Token: 0x04003720 RID: 14112
[FieldOffset(Offset = "0xFA")]
[Token(Token = "0x4003720")]
public Oni.ConstraintParameters particleCollisionConstraintParameters;
// Token: 0x04003721 RID: 14113
[FieldOffset(Offset = "0x107")]
[Token(Token = "0x4003721")]
public Oni.ConstraintParameters collisionConstraintParameters;
// Token: 0x04003722 RID: 14114
[FieldOffset(Offset = "0x114")]
[Token(Token = "0x4003722")]
public Oni.ConstraintParameters skinConstraintParameters;
// Token: 0x04003723 RID: 14115
[FieldOffset(Offset = "0x121")]
[Token(Token = "0x4003723")]
public Oni.ConstraintParameters volumeConstraintParameters;
// Token: 0x04003724 RID: 14116
[FieldOffset(Offset = "0x12E")]
[Token(Token = "0x4003724")]
public Oni.ConstraintParameters tetherConstraintParameters;
// Token: 0x04003725 RID: 14117
[FieldOffset(Offset = "0x13B")]
[Token(Token = "0x4003725")]
public Oni.ConstraintParameters pinConstraintParameters;
// Token: 0x04003726 RID: 14118
[FieldOffset(Offset = "0x148")]
[Token(Token = "0x4003726")]
public Oni.ConstraintParameters stitchConstraintParameters;
// Token: 0x04003727 RID: 14119
[FieldOffset(Offset = "0x155")]
[Token(Token = "0x4003727")]
public Oni.ConstraintParameters densityConstraintParameters;
// Token: 0x04003728 RID: 14120
[FieldOffset(Offset = "0x168")]
[Token(Token = "0x4003728")]
private IntPtr oniSolver;
// Token: 0x04003729 RID: 14121
[FieldOffset(Offset = "0x170")]
[Token(Token = "0x4003729")]
private ObiEmitterMaterial defaultFluidMaterial;
// Token: 0x0400372A RID: 14122
[FieldOffset(Offset = "0x178")]
[Token(Token = "0x400372A")]
private Bounds bounds;
// Token: 0x0400372B RID: 14123
[FieldOffset(Offset = "0x190")]
[Token(Token = "0x400372B")]
private Matrix4x4 lastTransform;
// Token: 0x0400372C RID: 14124
[FieldOffset(Offset = "0x1D0")]
[Token(Token = "0x400372C")]
private bool initialized;
// Token: 0x0400372D RID: 14125
[FieldOffset(Offset = "0x1D1")]
[Token(Token = "0x400372D")]
private bool isVisible;
// Token: 0x0400372E RID: 14126
[FieldOffset(Offset = "0x1D4")]
[Token(Token = "0x400372E")]
private float smoothDelta;
// Token: 0x0400372F RID: 14127
[FieldOffset(Offset = "0x1D8")]
[Token(Token = "0x400372F")]
private int renderablePositionsClients;
// Token: 0x02000535 RID: 1333
[Token(Token = "0x2000535")]
public enum SimulationOrder
{
// Token: 0x04003731 RID: 14129
[Token(Token = "0x4003731")]
FixedUpdate,
// Token: 0x04003732 RID: 14130
[Token(Token = "0x4003732")]
AfterFixedUpdate,
// Token: 0x04003733 RID: 14131
[Token(Token = "0x4003733")]
LateUpdate
}
// Token: 0x02000536 RID: 1334
[Token(Token = "0x2000536")]
public class ObiCollisionEventArgs : EventArgs
{
// Token: 0x06002E9D RID: 11933 RVA: 0x00065B08 File Offset: 0x00063D08
[Token(Token = "0x6002E9D")]
[Address(RVA = "0x69A010", Offset = "0x699010", VA = "0x18069A010")]
public ObiCollisionEventArgs(Oni.Contact[] contacts)
{
/*
An exception occurred when decompiling this method (06002E9D)
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: 0x04003734 RID: 14132
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003734")]
public Oni.Contact[] contacts;
}
// Token: 0x02000537 RID: 1335
[Token(Token = "0x2000537")]
public class ObiFluidEventArgs : EventArgs
{
// Token: 0x06002E9E RID: 11934 RVA: 0x00065B24 File Offset: 0x00063D24
[Token(Token = "0x6002E9E")]
[Address(RVA = "0x69A080", Offset = "0x699080", VA = "0x18069A080")]
public ObiFluidEventArgs(int[] indices, Vector4[] vorticities, float[] densities)
{
/*
An exception occurred when decompiling this method (06002E9E)
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: 0x04003735 RID: 14133
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003735")]
public int[] indices;
// Token: 0x04003736 RID: 14134
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4003736")]
public Vector4[] vorticities;
// Token: 0x04003737 RID: 14135
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4003737")]
public float[] densities;
}
// Token: 0x02000538 RID: 1336
[Token(Token = "0x2000538")]
public class ParticleInActor
{
// Token: 0x06002E9F RID: 11935 RVA: 0x00065B4C File Offset: 0x00063D4C
[Token(Token = "0x6002E9F")]
[Address(RVA = "0x69A3F0", Offset = "0x6993F0", VA = "0x18069A3F0")]
public ParticleInActor(ObiActor actor, int indexInActor)
{
this.actor = actor;
this.indexInActor = indexInActor;
}
// Token: 0x04003738 RID: 14136
[FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003738")]
public ObiActor actor;
// Token: 0x04003739 RID: 14137
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4003739")]
public int indexInActor;
}
}
}