289 lines
8.7 KiB
C#
289 lines
8.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace Obi
|
|
{
|
|
// Token: 0x020004B5 RID: 1205
|
|
[Token(Token = "0x20004B5")]
|
|
[Serializable]
|
|
public abstract class ObiConstraintBatch
|
|
{
|
|
// Token: 0x170002DA RID: 730
|
|
// (get) Token: 0x06002A90 RID: 10896 RVA: 0x0005C704 File Offset: 0x0005A904
|
|
[Token(Token = "0x170002DA")]
|
|
public IntPtr OniBatch
|
|
{
|
|
[Token(Token = "0x6002A90")]
|
|
[Address(RVA = "0x345100", Offset = "0x343900", VA = "0x180345100")]
|
|
get
|
|
{
|
|
return this.batch;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170002DB RID: 731
|
|
// (get) Token: 0x06002A91 RID: 10897 RVA: 0x0005C718 File Offset: 0x0005A918
|
|
[Token(Token = "0x170002DB")]
|
|
public int ConstraintCount
|
|
{
|
|
[Token(Token = "0x6002A91")]
|
|
[Address(RVA = "0x3CA350", Offset = "0x3C8B50", VA = "0x1803CA350")]
|
|
get
|
|
{
|
|
return this.constraintCount;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170002DC RID: 732
|
|
// (get) Token: 0x06002A92 RID: 10898 RVA: 0x0005C72C File Offset: 0x0005A92C
|
|
[Token(Token = "0x170002DC")]
|
|
public bool IsCooked
|
|
{
|
|
[Token(Token = "0x6002A92")]
|
|
[Address(RVA = "0x41ECE0", Offset = "0x41D4E0", VA = "0x18041ECE0")]
|
|
get
|
|
{
|
|
return this.cooked;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170002DD RID: 733
|
|
// (get) Token: 0x06002A93 RID: 10899 RVA: 0x0005C740 File Offset: 0x0005A940
|
|
[Token(Token = "0x170002DD")]
|
|
public bool SharesParticles
|
|
{
|
|
[Token(Token = "0x6002A93")]
|
|
[Address(RVA = "0x606750", Offset = "0x604F50", VA = "0x180606750")]
|
|
get
|
|
{
|
|
return this.sharesParticles;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170002DE RID: 734
|
|
// (get) Token: 0x06002A94 RID: 10900 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x170002DE")]
|
|
public IEnumerable<int> ActiveConstraints
|
|
{
|
|
[Token(Token = "0x6002A94")]
|
|
[Address(RVA = "0x10D42C0", Offset = "0x10D2AC0", VA = "0x1810D42C0")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002A95 RID: 10901
|
|
[Token(Token = "0x6002A95")]
|
|
[Address(Slot = "4")]
|
|
public abstract Oni.ConstraintType GetConstraintType();
|
|
|
|
// Token: 0x06002A96 RID: 10902
|
|
[Token(Token = "0x6002A96")]
|
|
[Address(Slot = "5")]
|
|
public abstract void Clear();
|
|
|
|
// Token: 0x06002A97 RID: 10903 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A97")]
|
|
[Address(RVA = "0x29E8B0", Offset = "0x29D0B0", VA = "0x18029E8B0", Slot = "6")]
|
|
public virtual void Cook()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002A98 RID: 10904
|
|
[Token(Token = "0x6002A98")]
|
|
[Address(Slot = "7")]
|
|
protected abstract void OnAddToSolver(ObiBatchedConstraints constraints);
|
|
|
|
// Token: 0x06002A99 RID: 10905
|
|
[Token(Token = "0x6002A99")]
|
|
[Address(Slot = "8")]
|
|
protected abstract void OnRemoveFromSolver(ObiBatchedConstraints constraints);
|
|
|
|
// Token: 0x06002A9A RID: 10906
|
|
[Token(Token = "0x6002A9A")]
|
|
[Address(Slot = "9")]
|
|
public abstract void PushDataToSolver(ObiBatchedConstraints constraints);
|
|
|
|
// Token: 0x06002A9B RID: 10907
|
|
[Token(Token = "0x6002A9B")]
|
|
[Address(Slot = "10")]
|
|
public abstract void PullDataFromSolver(ObiBatchedConstraints constraints);
|
|
|
|
// Token: 0x06002A9C RID: 10908
|
|
[Token(Token = "0x6002A9C")]
|
|
[Address(Slot = "11")]
|
|
public abstract List<int> GetConstraintsInvolvingParticle(int particleIndex);
|
|
|
|
// Token: 0x06002A9D RID: 10909 RVA: 0x0005C754 File Offset: 0x0005A954
|
|
[Token(Token = "0x6002A9D")]
|
|
[Address(RVA = "0x10D4070", Offset = "0x10D2870", VA = "0x1810D4070")]
|
|
protected float StiffnessToCompliance(float stiffness)
|
|
{
|
|
float num = Mathf.Max(this.minYoungModulus, 1E-05f);
|
|
float num2 = this.minYoungModulus;
|
|
float num3 = Mathf.Max(this.maxYoungModulus, num2);
|
|
return Mathf.Lerp(1f, 1f, stiffness);
|
|
}
|
|
|
|
// Token: 0x06002A9E RID: 10910 RVA: 0x0005C798 File Offset: 0x0005A998
|
|
[Token(Token = "0x6002A9E")]
|
|
[Address(RVA = "0x10D3DD0", Offset = "0x10D25D0", VA = "0x1810D3DD0")]
|
|
public void ActivateConstraint(int index)
|
|
{
|
|
if (!this.activeConstraints.Contains(index))
|
|
{
|
|
this.activeConstraints.Add(index);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002A9F RID: 10911 RVA: 0x0005C7C8 File Offset: 0x0005A9C8
|
|
[Token(Token = "0x6002A9F")]
|
|
[Address(RVA = "0x10D3EE0", Offset = "0x10D26E0", VA = "0x1810D3EE0")]
|
|
public void DeactivateConstraint(int index)
|
|
{
|
|
bool flag = this.activeConstraints.Remove(index);
|
|
}
|
|
|
|
// Token: 0x06002AA0 RID: 10912 RVA: 0x0005C7E8 File Offset: 0x0005A9E8
|
|
[Token(Token = "0x6002AA0")]
|
|
[Address(RVA = "0x10D41E0", Offset = "0x10D29E0", VA = "0x1810D41E0")]
|
|
public ObiConstraintBatch(bool cooked, bool sharesParticles)
|
|
{
|
|
List<int> list = new List();
|
|
this.activeConstraints = list;
|
|
List<int> list2 = new List();
|
|
this.phaseSizes = list2;
|
|
this.Cook();
|
|
this.cooked = cooked;
|
|
this.sharesParticles = sharesParticles;
|
|
}
|
|
|
|
// Token: 0x06002AA1 RID: 10913 RVA: 0x0005C83C File Offset: 0x0005AA3C
|
|
[Token(Token = "0x6002AA1")]
|
|
[Address(RVA = "0x10D40E0", Offset = "0x10D28E0", VA = "0x1810D40E0")]
|
|
public ObiConstraintBatch(bool cooked, bool sharesParticles, float minYoungModulus, float maxYoungModulus)
|
|
{
|
|
List<int> list = new List();
|
|
this.activeConstraints = list;
|
|
List<int> list2 = new List();
|
|
this.phaseSizes = list2;
|
|
this.Cook();
|
|
this.minYoungModulus = minYoungModulus;
|
|
this.cooked = cooked;
|
|
this.sharesParticles = sharesParticles;
|
|
this.maxYoungModulus = (float)0;
|
|
}
|
|
|
|
// Token: 0x06002AA2 RID: 10914 RVA: 0x0005C89C File Offset: 0x0005AA9C
|
|
[Token(Token = "0x6002AA2")]
|
|
[Address(RVA = "0x10D3E50", Offset = "0x10D2650", VA = "0x1810D3E50")]
|
|
public void AddToSolver(ObiBatchedConstraints constraints)
|
|
{
|
|
Oni.ConstraintType constraintType = this.GetConstraintType();
|
|
bool flag = this.cooked;
|
|
IntPtr intPtr = Oni.CreateBatch((int)constraintType, flag);
|
|
this.batch = intPtr;
|
|
ObiSolver solver = constraints.actor.solver;
|
|
bool flag2 = this.sharesParticles;
|
|
IntPtr intPtr2 = Oni.AddBatch(solver.oniSolver, intPtr, flag2);
|
|
Oni.ConstraintType constraintType2 = this.GetConstraintType();
|
|
}
|
|
|
|
// Token: 0x06002AA3 RID: 10915 RVA: 0x0005C8F8 File Offset: 0x0005AAF8
|
|
[Token(Token = "0x6002AA3")]
|
|
[Address(RVA = "0x10D3F60", Offset = "0x10D2760", VA = "0x1810D3F60")]
|
|
public void RemoveFromSolver(ObiBatchedConstraints constraints)
|
|
{
|
|
this.OnRemoveFromSolver(constraints);
|
|
ObiSolver solver = constraints.actor.solver;
|
|
IntPtr intPtr = this.batch;
|
|
Oni.RemoveBatch(solver.oniSolver, intPtr);
|
|
this.batch = (IntPtr)((ulong)0L);
|
|
}
|
|
|
|
// Token: 0x06002AA4 RID: 10916 RVA: 0x0005C93C File Offset: 0x0005AB3C
|
|
[Token(Token = "0x6002AA4")]
|
|
[Address(RVA = "0x10D3FF0", Offset = "0x10D27F0", VA = "0x1810D3FF0")]
|
|
public void SetActiveConstraints()
|
|
{
|
|
List<int> list = this.activeConstraints;
|
|
IntPtr intPtr = this.batch;
|
|
int[] array = list.ToArray();
|
|
int size = this.activeConstraints._size;
|
|
int num = Oni.SetActiveConstraints(intPtr, array, size);
|
|
}
|
|
|
|
// Token: 0x06002AA5 RID: 10917 RVA: 0x0005C97C File Offset: 0x0005AB7C
|
|
[Token(Token = "0x6002AA5")]
|
|
[Address(RVA = "0x10D3F50", Offset = "0x10D2750", VA = "0x1810D3F50")]
|
|
public void Enable()
|
|
{
|
|
bool flag = Oni.EnableBatch(this.batch, true);
|
|
}
|
|
|
|
// Token: 0x06002AA6 RID: 10918 RVA: 0x0005C998 File Offset: 0x0005AB98
|
|
[Token(Token = "0x6002AA6")]
|
|
[Address(RVA = "0x10D3F40", Offset = "0x10D2740", VA = "0x1810D3F40")]
|
|
public void Disable()
|
|
{
|
|
IntPtr intPtr = this.batch;
|
|
int num = 0;
|
|
bool flag = Oni.EnableBatch(intPtr, num != 0);
|
|
}
|
|
|
|
// Token: 0x04003388 RID: 13192
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4003388")]
|
|
protected IntPtr batch;
|
|
|
|
// Token: 0x04003389 RID: 13193
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x4003389")]
|
|
public float maxYoungModulus = 0.02f;
|
|
|
|
// Token: 0x0400338A RID: 13194
|
|
[FieldOffset(Offset = "0x1C")]
|
|
[Token(Token = "0x400338A")]
|
|
public float minYoungModulus = 0.0001f;
|
|
|
|
// Token: 0x0400338B RID: 13195
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400338B")]
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
protected int constraintCount;
|
|
|
|
// Token: 0x0400338C RID: 13196
|
|
[FieldOffset(Offset = "0x24")]
|
|
[Token(Token = "0x400338C")]
|
|
[HideInInspector]
|
|
[SerializeField]
|
|
protected bool cooked;
|
|
|
|
// Token: 0x0400338D RID: 13197
|
|
[FieldOffset(Offset = "0x25")]
|
|
[Token(Token = "0x400338D")]
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
protected bool sharesParticles;
|
|
|
|
// Token: 0x0400338E RID: 13198
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400338E")]
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
protected List<int> activeConstraints;
|
|
|
|
// Token: 0x0400338F RID: 13199
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400338F")]
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
protected List<int> phaseSizes;
|
|
}
|
|
}
|