407 lines
13 KiB
C#
407 lines
13 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cpp2IlInjected;
|
|
using UnityEngine;
|
|
|
|
namespace Obi
|
|
{
|
|
// Token: 0x0200049E RID: 1182
|
|
[Token(Token = "0x200049E")]
|
|
[ExecuteInEditMode]
|
|
[AddComponentMenu("Physics/Obi/Obi Stitcher")]
|
|
public class ObiStitcher : MonoBehaviour, IObiSolverClient
|
|
{
|
|
// Token: 0x170002CC RID: 716
|
|
// (get) Token: 0x06002A09 RID: 10761 RVA: 0x0005B83C File Offset: 0x00059A3C
|
|
// (set) Token: 0x06002A08 RID: 10760 RVA: 0x0005B718 File Offset: 0x00059918
|
|
[Token(Token = "0x170002CC")]
|
|
public ObiActor Actor1
|
|
{
|
|
[Token(Token = "0x6002A09")]
|
|
[Address(RVA = "0x2990A0", Offset = "0x2978A0", VA = "0x1802990A0")]
|
|
get
|
|
{
|
|
return this.actor1;
|
|
}
|
|
[Token(Token = "0x6002A08")]
|
|
[Address(RVA = "0xE7D7D0", Offset = "0xE7BFD0", VA = "0x180E7D7D0")]
|
|
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: 0x170002CD RID: 717
|
|
// (get) Token: 0x06002A0B RID: 10763 RVA: 0x0005B974 File Offset: 0x00059B74
|
|
// (set) Token: 0x06002A0A RID: 10762 RVA: 0x0005B850 File Offset: 0x00059A50
|
|
[Token(Token = "0x170002CD")]
|
|
public ObiActor Actor2
|
|
{
|
|
[Token(Token = "0x6002A0B")]
|
|
[Address(RVA = "0x4FC850", Offset = "0x4FB050", VA = "0x1804FC850")]
|
|
get
|
|
{
|
|
return this.actor2;
|
|
}
|
|
[Token(Token = "0x6002A0A")]
|
|
[Address(RVA = "0xE7DAC0", Offset = "0xE7C2C0", VA = "0x180E7DAC0")]
|
|
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: 0x170002CE RID: 718
|
|
// (get) Token: 0x06002A0C RID: 10764 RVA: 0x0005B988 File Offset: 0x00059B88
|
|
[Token(Token = "0x170002CE")]
|
|
public int StitchCount
|
|
{
|
|
[Token(Token = "0x6002A0C")]
|
|
[Address(RVA = "0xE7D740", Offset = "0xE7BF40", VA = "0x180E7D740")]
|
|
get
|
|
{
|
|
return this.stitches._size;
|
|
}
|
|
}
|
|
|
|
// Token: 0x170002CF RID: 719
|
|
// (get) Token: 0x06002A0D RID: 10765 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x170002CF")]
|
|
public IEnumerable<ObiStitcher.Stitch> Stitches
|
|
{
|
|
[Token(Token = "0x6002A0D")]
|
|
[Address(RVA = "0xE7D780", Offset = "0xE7BF80", VA = "0x180E7D780")]
|
|
get
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
}
|
|
|
|
// Token: 0x06002A0E RID: 10766 RVA: 0x0005B9A8 File Offset: 0x00059BA8
|
|
[Token(Token = "0x6002A0E")]
|
|
[Address(RVA = "0xE7D040", Offset = "0xE7B840", VA = "0x180E7D040")]
|
|
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: 0x06002A0F RID: 10767 RVA: 0x0005BA9C File Offset: 0x00059C9C
|
|
[Token(Token = "0x6002A0F")]
|
|
[Address(RVA = "0xE7D030", Offset = "0xE7B830", VA = "0x180E7D030")]
|
|
public void OnDisable()
|
|
{
|
|
IntPtr intPtr = this.batch;
|
|
int num = 0;
|
|
bool flag = Oni.EnableBatch(intPtr, num != 0);
|
|
}
|
|
|
|
// Token: 0x06002A10 RID: 10768 RVA: 0x0005BABC File Offset: 0x00059CBC
|
|
[Token(Token = "0x6002A10")]
|
|
[Address(RVA = "0xE7CE60", Offset = "0xE7B660", VA = "0x180E7CE60")]
|
|
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: 0x06002A11 RID: 10769 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A11")]
|
|
[Address(RVA = "0xE7D650", Offset = "0xE7BE50", VA = "0x180E7D650")]
|
|
public void RemoveStitch(int index)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002A12 RID: 10770 RVA: 0x0005BAF0 File Offset: 0x00059CF0
|
|
[Token(Token = "0x6002A12")]
|
|
[Address(RVA = "0xE7CFD0", Offset = "0xE7B7D0", VA = "0x180E7CFD0")]
|
|
public void Clear()
|
|
{
|
|
this.stitches.Clear();
|
|
int num = 0;
|
|
this.PushDataToSolver((ParticleData)num);
|
|
}
|
|
|
|
// Token: 0x06002A13 RID: 10771 RVA: 0x0005BB18 File Offset: 0x00059D18
|
|
[Token(Token = "0x6002A13")]
|
|
[Address(RVA = "0xE7CDF0", Offset = "0xE7B5F0", VA = "0x180E7CDF0")]
|
|
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: 0x06002A14 RID: 10772 RVA: 0x0005BB5C File Offset: 0x00059D5C
|
|
[Token(Token = "0x6002A14")]
|
|
[Address(RVA = "0xE7CC60", Offset = "0xE7B460", VA = "0x180E7CC60")]
|
|
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: 0x06002A15 RID: 10773 RVA: 0x0005BC2C File Offset: 0x00059E2C
|
|
[Token(Token = "0x6002A15")]
|
|
[Address(RVA = "0xE7CF30", Offset = "0xE7B730", VA = "0x180E7CF30", 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: 0x06002A16 RID: 10774 RVA: 0x0005BCAC File Offset: 0x00059EAC
|
|
[Token(Token = "0x6002A16")]
|
|
[Address(RVA = "0xE7D5E0", Offset = "0xE7BDE0", VA = "0x180E7D5E0", 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: 0x06002A17 RID: 10775 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A17")]
|
|
[Address(RVA = "0xE7D2B0", Offset = "0xE7BAB0", VA = "0x180E7D2B0", Slot = "6")]
|
|
public void PushDataToSolver(ParticleData data = ParticleData.NONE)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06002A18 RID: 10776 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6002A18")]
|
|
[Address(RVA = "0x29E8B0", Offset = "0x29D0B0", 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: 0x06002A19 RID: 10777 RVA: 0x0005BCF0 File Offset: 0x00059EF0
|
|
[Token(Token = "0x6002A19")]
|
|
[Address(RVA = "0xE7D6C0", Offset = "0xE7BEC0", VA = "0x180E7D6C0")]
|
|
public ObiStitcher()
|
|
{
|
|
List<ObiStitcher.Stitch> list = new List();
|
|
this.stitches = list;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400331B RID: 13083
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400331B")]
|
|
[HideInInspector]
|
|
[SerializeField]
|
|
private List<ObiStitcher.Stitch> stitches;
|
|
|
|
// Token: 0x0400331C RID: 13084
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400331C")]
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
private ObiActor actor1;
|
|
|
|
// Token: 0x0400331D RID: 13085
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400331D")]
|
|
[SerializeField]
|
|
[HideInInspector]
|
|
private ObiActor actor2;
|
|
|
|
// Token: 0x0400331E RID: 13086
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x400331E")]
|
|
private IntPtr batch;
|
|
|
|
// Token: 0x0400331F RID: 13087
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x400331F")]
|
|
private bool inSolver;
|
|
|
|
// Token: 0x0200049F RID: 1183
|
|
[Token(Token = "0x200049F")]
|
|
[Serializable]
|
|
public class Stitch
|
|
{
|
|
// Token: 0x06002A1A RID: 10778 RVA: 0x0005BD10 File Offset: 0x00059F10
|
|
[Token(Token = "0x6002A1A")]
|
|
[Address(RVA = "0x69A310", Offset = "0x698B10", VA = "0x18069A310")]
|
|
public Stitch(int particleIndex1, int particleIndex2)
|
|
{
|
|
this.particleIndex1 = particleIndex1;
|
|
this.particleIndex2 = particleIndex2;
|
|
}
|
|
|
|
// Token: 0x04003320 RID: 13088
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x4003320")]
|
|
public int particleIndex1;
|
|
|
|
// Token: 0x04003321 RID: 13089
|
|
[FieldOffset(Offset = "0x14")]
|
|
[Token(Token = "0x4003321")]
|
|
public int particleIndex2;
|
|
}
|
|
}
|
|
}
|