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 eventHandler = new EventHandler(this.Actor_OnAddedToSolver); obiActor2.OnAddedToSolver -= eventHandler; ObiActor obiActor3 = this.actor1; EventHandler 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 eventHandler3 = new EventHandler(this.Actor_OnAddedToSolver); obiActor6.OnAddedToSolver += eventHandler3; ObiActor obiActor7 = this.actor1; EventHandler 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 eventHandler = new EventHandler(this.Actor_OnAddedToSolver); obiActor2.OnAddedToSolver -= eventHandler; ObiActor obiActor3 = this.actor2; EventHandler 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 eventHandler3 = new EventHandler(this.Actor_OnAddedToSolver); obiActor6.OnAddedToSolver += eventHandler3; ObiActor obiActor7 = this.actor2; EventHandler 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 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 eventHandler = new EventHandler(this.Actor_OnAddedToSolver); obiActor2.OnAddedToSolver += eventHandler; ObiActor obiActor3 = this.actor1; EventHandler eventHandler2 = new EventHandler(this.Actor_OnRemovedFromSolver); obiActor3.OnRemovedFromSolver += eventHandler2; } ObiActor obiActor4 = this.actor2; int num2 = 0; if (obiActor4 != num2) { ObiActor obiActor5 = this.actor2; EventHandler eventHandler3 = new EventHandler(this.Actor_OnAddedToSolver); obiActor5.OnAddedToSolver += eventHandler3; ObiActor obiActor6 = this.actor2; EventHandler 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 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 list = new List(); this.stitches = list; base..ctor(); } // Token: 0x0400331B RID: 13083 [FieldOffset(Offset = "0x18")] [Token(Token = "0x400331B")] [HideInInspector] [SerializeField] private List 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; } } }