407 lines
13 KiB
C#
407 lines
13 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace Obi
|
|
{
|
|
// Token: 0x020004ED RID: 1261
|
|
[Token(Token = "0x20004ED")]
|
|
[ExecuteInEditMode]
|
|
[AddComponentMenu("Physics/Obi/Obi Stitcher")]
|
|
public class ObiStitcher : MonoBehaviour, IObiSolverClient
|
|
{
|
|
// Token: 0x170002F7 RID: 759
|
|
// (get) Token: 0x06002CA0 RID: 11424 RVA: 0x000627F8 File Offset: 0x000609F8
|
|
// (set) Token: 0x06002C9F RID: 11423 RVA: 0x000626D4 File Offset: 0x000608D4
|
|
[Token(Token = "0x170002F7")]
|
|
public ObiActor Actor1
|
|
{
|
|
[Token(Token = "0x6002CA0")]
|
|
[Address(RVA = "0x2990A0", Offset = "0x2980A0", VA = "0x1802990A0")]
|
|
get
|
|
{
|
|
return this.actor1;
|
|
}
|
|
[Token(Token = "0x6002C9F")]
|
|
[Address(RVA = "0xE604C0", Offset = "0xE5F4C0", VA = "0x180E604C0")]
|
|
set
|
|
{
|
|
if (this.actor1 != value)
|
|
{
|
|
ObiActor obiActor = this.actor1;
|
|
int num = 0;
|
|
if (obiActor != num)
|
|
{
|
|
ObiActor obiActor2 = this.actor1;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler = new EventHandler(this.Actor_OnAddedToSolver);
|
|
obiActor2.OnAddedToSolver -= eventHandler;
|
|
ObiActor obiActor3 = this.actor1;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler2 = new EventHandler(this.Actor_OnRemovedFromSolver);
|
|
obiActor3.OnRemovedFromSolver -= eventHandler2;
|
|
ObiActor obiActor4 = this.actor1;
|
|
if (obiActor4.inSolver)
|
|
{
|
|
ObiActor.ObiActorSolverArgs obiActorSolverArgs = new ObiActor.ObiActorSolverArgs(obiActor4.solver);
|
|
this.Actor_OnRemovedFromSolver(obiActor4, obiActorSolverArgs);
|
|
}
|
|
}
|
|
this.actor1 = value;
|
|
ObiActor obiActor5 = this.actor1;
|
|
int num2 = 0;
|
|
if (obiActor5 != num2)
|
|
{
|
|
ObiActor obiActor6 = this.actor1;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler3 = new EventHandler(this.Actor_OnAddedToSolver);
|
|
obiActor6.OnAddedToSolver += eventHandler3;
|
|
ObiActor obiActor7 = this.actor1;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler4 = new EventHandler(this.Actor_OnRemovedFromSolver);
|
|
obiActor7.OnRemovedFromSolver += eventHandler4;
|
|
ObiActor obiActor8 = this.actor1;
|
|
if (obiActor8.inSolver)
|
|
{
|
|
ObiActor.ObiActorSolverArgs obiActorSolverArgs2 = new ObiActor.ObiActorSolverArgs(obiActor8.solver);
|
|
this.Actor_OnAddedToSolver(obiActor8, obiActorSolverArgs2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x170002F8 RID: 760
|
|
// (get) Token: 0x06002CA2 RID: 11426 RVA: 0x00062930 File Offset: 0x00060B30
|
|
// (set) Token: 0x06002CA1 RID: 11425 RVA: 0x0006280C File Offset: 0x00060A0C
|
|
[Token(Token = "0x170002F8")]
|
|
public ObiActor Actor2
|
|
{
|
|
[Token(Token = "0x6002CA2")]
|
|
[Address(RVA = "0x36B6A0", Offset = "0x36A6A0", VA = "0x18036B6A0")]
|
|
get
|
|
{
|
|
return this.actor2;
|
|
}
|
|
[Token(Token = "0x6002CA1")]
|
|
[Address(RVA = "0xE607B0", Offset = "0xE5F7B0", VA = "0x180E607B0")]
|
|
set
|
|
{
|
|
if (this.actor2 != value)
|
|
{
|
|
ObiActor obiActor = this.actor2;
|
|
int num = 0;
|
|
if (obiActor != num)
|
|
{
|
|
ObiActor obiActor2 = this.actor2;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler = new EventHandler(this.Actor_OnAddedToSolver);
|
|
obiActor2.OnAddedToSolver -= eventHandler;
|
|
ObiActor obiActor3 = this.actor2;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler2 = new EventHandler(this.Actor_OnRemovedFromSolver);
|
|
obiActor3.OnRemovedFromSolver -= eventHandler2;
|
|
ObiActor obiActor4 = this.actor2;
|
|
if (obiActor4.inSolver)
|
|
{
|
|
ObiActor.ObiActorSolverArgs obiActorSolverArgs = new ObiActor.ObiActorSolverArgs(obiActor4.solver);
|
|
this.Actor_OnRemovedFromSolver(obiActor4, obiActorSolverArgs);
|
|
}
|
|
}
|
|
this.actor2 = value;
|
|
ObiActor obiActor5 = this.actor2;
|
|
int num2 = 0;
|
|
if (obiActor5 != num2)
|
|
{
|
|
ObiActor obiActor6 = this.actor2;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler3 = new EventHandler(this.Actor_OnAddedToSolver);
|
|
obiActor6.OnAddedToSolver += eventHandler3;
|
|
ObiActor obiActor7 = this.actor2;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler4 = new EventHandler(this.Actor_OnRemovedFromSolver);
|
|
obiActor7.OnRemovedFromSolver += eventHandler4;
|
|
ObiActor obiActor8 = this.actor2;
|
|
if (obiActor8.inSolver)
|
|
{
|
|
ObiActor.ObiActorSolverArgs obiActorSolverArgs2 = new ObiActor.ObiActorSolverArgs(obiActor8.solver);
|
|
this.Actor_OnAddedToSolver(obiActor8, obiActorSolverArgs2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x170002F9 RID: 761
|
|
// (get) Token: 0x06002CA3 RID: 11427 RVA: 0x00062944 File Offset: 0x00060B44
|
|
[Token(Token = "0x170002F9")]
|
|
public int StitchCount
|
|
{
|
|
[Token(Token = "0x6002CA3")]
|
|
[Address(RVA = "0xE60430", Offset = "0xE5F430", VA = "0x180E60430")]
|
|
get
|
|
{
|
|
return this.stitches._size;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170002FA RID: 762
|
|
// (get) Token: 0x06002CA4 RID: 11428 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x170002FA")]
|
|
public IEnumerable<ObiStitcher.Stitch> Stitches
|
|
{
|
|
[Token(Token = "0x6002CA4")]
|
|
[Address(RVA = "0xE60470", Offset = "0xE5F470", VA = "0x180E60470")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002CA5 RID: 11429 RVA: 0x00062964 File Offset: 0x00060B64
|
|
[Token(Token = "0x6002CA5")]
|
|
[Address(RVA = "0xE5FD30", Offset = "0xE5ED30", VA = "0x180E5FD30")]
|
|
public void OnEnable()
|
|
{
|
|
ObiActor obiActor = this.actor1;
|
|
int num = 0;
|
|
if (obiActor != num)
|
|
{
|
|
ObiActor obiActor2 = this.actor1;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler = new EventHandler(this.Actor_OnAddedToSolver);
|
|
obiActor2.OnAddedToSolver += eventHandler;
|
|
ObiActor obiActor3 = this.actor1;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler2 = new EventHandler(this.Actor_OnRemovedFromSolver);
|
|
obiActor3.OnRemovedFromSolver += eventHandler2;
|
|
}
|
|
ObiActor obiActor4 = this.actor2;
|
|
int num2 = 0;
|
|
if (obiActor4 != num2)
|
|
{
|
|
ObiActor obiActor5 = this.actor2;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler3 = new EventHandler(this.Actor_OnAddedToSolver);
|
|
obiActor5.OnAddedToSolver += eventHandler3;
|
|
ObiActor obiActor6 = this.actor2;
|
|
EventHandler<ObiActor.ObiActorSolverArgs> eventHandler4 = new EventHandler(this.Actor_OnRemovedFromSolver);
|
|
obiActor6.OnRemovedFromSolver += eventHandler4;
|
|
}
|
|
ObiActor obiActor7 = this.actor1;
|
|
int num3 = 0;
|
|
if (obiActor7 != num3)
|
|
{
|
|
ObiActor obiActor8 = this.actor2;
|
|
int num4 = 0;
|
|
if (obiActor8 != num4)
|
|
{
|
|
bool flag = Oni.EnableBatch(this.batch, true);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002CA6 RID: 11430 RVA: 0x00062A58 File Offset: 0x00060C58
|
|
[Token(Token = "0x6002CA6")]
|
|
[Address(RVA = "0xE5FD20", Offset = "0xE5ED20", VA = "0x180E5FD20")]
|
|
public void OnDisable()
|
|
{
|
|
IntPtr intPtr = this.batch;
|
|
int num = 0;
|
|
bool flag = Oni.EnableBatch(intPtr, num != 0);
|
|
}
|
|
|
|
// Token: 0x06002CA7 RID: 11431 RVA: 0x00062A78 File Offset: 0x00060C78
|
|
[Token(Token = "0x6002CA7")]
|
|
[Address(RVA = "0xE5FB50", Offset = "0xE5EB50", VA = "0x180E5FB50")]
|
|
public int AddStitch(int particle1, int particle2)
|
|
{
|
|
List<ObiStitcher.Stitch> list = this.stitches;
|
|
ObiStitcher.Stitch stitch = new ObiStitcher.Stitch(particle1, particle2);
|
|
list.Add(stitch);
|
|
return this.stitches._size;
|
|
}
|
|
|
|
// Token: 0x06002CA8 RID: 11432 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002CA8")]
|
|
[Address(RVA = "0xE60340", Offset = "0xE5F340", VA = "0x180E60340")]
|
|
public void RemoveStitch(int index)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002CA9 RID: 11433 RVA: 0x00062AAC File Offset: 0x00060CAC
|
|
[Token(Token = "0x6002CA9")]
|
|
[Address(RVA = "0xE5FCC0", Offset = "0xE5ECC0", VA = "0x180E5FCC0")]
|
|
public void Clear()
|
|
{
|
|
this.stitches.Clear();
|
|
int num = 0;
|
|
this.PushDataToSolver((ParticleData)num);
|
|
}
|
|
|
|
// Token: 0x06002CAA RID: 11434 RVA: 0x00062AD4 File Offset: 0x00060CD4
|
|
[Token(Token = "0x6002CAA")]
|
|
[Address(RVA = "0xE5FAE0", Offset = "0xE5EAE0", VA = "0x180E5FAE0")]
|
|
private void Actor_OnRemovedFromSolver(object sender, ObiActor.ObiActorSolverArgs e)
|
|
{
|
|
ObiSolver solver = this.actor1.solver;
|
|
IntPtr intPtr = this.batch;
|
|
Oni.RemoveBatch(solver.oniSolver, intPtr);
|
|
this.batch = (IntPtr)((ulong)0L);
|
|
this.inSolver = false;
|
|
}
|
|
|
|
// Token: 0x06002CAB RID: 11435 RVA: 0x00062B18 File Offset: 0x00060D18
|
|
[Token(Token = "0x6002CAB")]
|
|
[Address(RVA = "0xE5F950", Offset = "0xE5E950", VA = "0x180E5F950")]
|
|
private void Actor_OnAddedToSolver(object sender, ObiActor.ObiActorSolverArgs e)
|
|
{
|
|
ObiActor obiActor = this.actor1;
|
|
if (obiActor.inSolver)
|
|
{
|
|
ObiActor obiActor2 = this.actor2;
|
|
if (obiActor2.inSolver)
|
|
{
|
|
ObiSolver solver = obiActor2.solver;
|
|
if (obiActor.solver != solver)
|
|
{
|
|
Debug.LogError("ObiStitcher cannot handle actors in different solvers.");
|
|
return;
|
|
}
|
|
int num = 0;
|
|
IntPtr intPtr = Oni.CreateBatch(10, num != 0);
|
|
ObiActor obiActor3 = this.actor1;
|
|
this.batch = intPtr;
|
|
IntPtr oniSolver = obiActor3.solver.oniSolver;
|
|
int num2 = 0;
|
|
IntPtr intPtr2 = Oni.AddBatch(oniSolver, intPtr, num2 != 0);
|
|
this.inSolver = true;
|
|
int num3 = 0;
|
|
this.PushDataToSolver((ParticleData)num3);
|
|
if (!base.isActiveAndEnabled)
|
|
{
|
|
IntPtr intPtr3 = this.batch;
|
|
int num4 = 0;
|
|
bool flag = Oni.EnableBatch(intPtr3, num4 != 0);
|
|
return;
|
|
}
|
|
this.OnEnable();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002CAC RID: 11436 RVA: 0x00062BE8 File Offset: 0x00060DE8
|
|
[Token(Token = "0x6002CAC")]
|
|
[Address(RVA = "0xE5FC20", Offset = "0xE5EC20", VA = "0x180E5FC20", Slot = "4")]
|
|
public bool AddToSolver(object info)
|
|
{
|
|
int num = 0;
|
|
IntPtr intPtr = Oni.CreateBatch(10, num != 0);
|
|
ObiActor obiActor = this.actor1;
|
|
this.batch = intPtr;
|
|
IntPtr oniSolver = obiActor.solver.oniSolver;
|
|
int num2 = 0;
|
|
IntPtr intPtr2 = Oni.AddBatch(oniSolver, intPtr, num2 != 0);
|
|
this.inSolver = true;
|
|
int num3 = 0;
|
|
this.PushDataToSolver((ParticleData)num3);
|
|
if (!base.isActiveAndEnabled)
|
|
{
|
|
IntPtr intPtr3 = this.batch;
|
|
int num4 = 0;
|
|
bool flag = Oni.EnableBatch(intPtr3, num4 != 0);
|
|
return true;
|
|
}
|
|
this.OnEnable();
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06002CAD RID: 11437 RVA: 0x00062C68 File Offset: 0x00060E68
|
|
[Token(Token = "0x6002CAD")]
|
|
[Address(RVA = "0xE602D0", Offset = "0xE5F2D0", VA = "0x180E602D0", Slot = "5")]
|
|
public bool RemoveFromSolver(object info)
|
|
{
|
|
ObiSolver solver = this.actor1.solver;
|
|
IntPtr intPtr = this.batch;
|
|
Oni.RemoveBatch(solver.oniSolver, intPtr);
|
|
this.batch = (IntPtr)((ulong)0L);
|
|
this.inSolver = false;
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06002CAE RID: 11438 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002CAE")]
|
|
[Address(RVA = "0xE5FFA0", Offset = "0xE5EFA0", VA = "0x180E5FFA0", Slot = "6")]
|
|
public void PushDataToSolver(ParticleData data = ParticleData.NONE)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002CAF RID: 11439 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002CAF")]
|
|
[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "7")]
|
|
public void PullDataFromSolver(ParticleData data = ParticleData.NONE)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002CB0 RID: 11440 RVA: 0x00062CAC File Offset: 0x00060EAC
|
|
[Token(Token = "0x6002CB0")]
|
|
[Address(RVA = "0xE603B0", Offset = "0xE5F3B0", VA = "0x180E603B0")]
|
|
public ObiStitcher()
|
|
{
|
|
List<ObiStitcher.Stitch> list = new List();
|
|
this.stitches = list;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x040035C3 RID: 13763
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x40035C3")]
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
private List<ObiStitcher.Stitch> stitches;
|
|
|
|
// Token: 0x040035C4 RID: 13764
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x40035C4")]
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
private ObiActor actor1;
|
|
|
|
// Token: 0x040035C5 RID: 13765
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x40035C5")]
|
|
[HideInInspector]
|
|
[SerializeField]
|
|
private ObiActor actor2;
|
|
|
|
// Token: 0x040035C6 RID: 13766
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x40035C6")]
|
|
private IntPtr batch;
|
|
|
|
// Token: 0x040035C7 RID: 13767
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x40035C7")]
|
|
private bool inSolver;
|
|
|
|
// Token: 0x020004EE RID: 1262
|
|
[Token(Token = "0x20004EE")]
|
|
[Serializable]
|
|
public class Stitch
|
|
{
|
|
// Token: 0x06002CB1 RID: 11441 RVA: 0x00062CCC File Offset: 0x00060ECC
|
|
[Token(Token = "0x6002CB1")]
|
|
[Address(RVA = "0x69D4F0", Offset = "0x69C4F0", VA = "0x18069D4F0")]
|
|
public Stitch(int particleIndex1, int particleIndex2)
|
|
{
|
|
this.particleIndex1 = particleIndex1;
|
|
this.particleIndex2 = particleIndex2;
|
|
}
|
|
|
|
// Token: 0x040035C8 RID: 13768
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x40035C8")]
|
|
public int particleIndex1;
|
|
|
|
// Token: 0x040035C9 RID: 13769
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x40035C9")]
|
|
public int particleIndex2;
|
|
}
|
|
}
|
|
}
|