using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;
using Il2CppSystem.Collections.Generic;
using UnityEngine;

namespace Obi
{
	// Token: 0x020004A4 RID: 1188
	public class ObiStitcher : MonoBehaviour
	{
		// Token: 0x17002F8E RID: 12174
		// (get) Token: 0x06008B88 RID: 35720 RVA: 0x0023CEB0 File Offset: 0x0023B0B0
		// (set) Token: 0x06008B87 RID: 35719 RVA: 0x0023CE54 File Offset: 0x0023B054
		public unsafe ObiActor Actor1
		{
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 7321, RefRangeEnd = 7322, XrefRangeStart = 7321, XrefRangeEnd = 7322, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_get_Actor1_Public_get_ObiActor_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new ObiActor(intPtr3) : null;
			}
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 606911, RefRangeEnd = 606912, XrefRangeStart = 606863, XrefRangeEnd = 606911, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			set
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(value);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_set_Actor1_Public_set_Void_ObiActor_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x17002F8F RID: 12175
		// (get) Token: 0x06008B8A RID: 35722 RVA: 0x0023CF64 File Offset: 0x0023B164
		// (set) Token: 0x06008B89 RID: 35721 RVA: 0x0023CF08 File Offset: 0x0023B108
		public unsafe ObiActor Actor2
		{
			[CallerCount(3)]
			[CachedScanResults(RefRangeStart = 11029, RefRangeEnd = 11032, XrefRangeStart = 11029, XrefRangeEnd = 11032, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_get_Actor2_Public_get_ObiActor_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new ObiActor(intPtr3) : null;
			}
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 606960, RefRangeEnd = 606961, XrefRangeStart = 606912, XrefRangeEnd = 606960, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			set
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(value);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_set_Actor2_Public_set_Void_ObiActor_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x17002F90 RID: 12176
		// (get) Token: 0x06008B8B RID: 35723 RVA: 0x0023CFBC File Offset: 0x0023B1BC
		public unsafe int StitchCount
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 606961, XrefRangeEnd = 606962, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_get_StitchCount_Public_get_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x17002F91 RID: 12177
		// (get) Token: 0x06008B8C RID: 35724 RVA: 0x0023D00C File Offset: 0x0023B20C
		public unsafe IEnumerable<ObiStitcher.Stitch> Stitches
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 606962, XrefRangeEnd = 606966, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_get_Stitches_Public_get_IEnumerable_1_Stitch_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new IEnumerable<ObiStitcher.Stitch>(intPtr3) : null;
			}
		}

		// Token: 0x06008B8D RID: 35725 RVA: 0x0023D064 File Offset: 0x0023B264
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 606966, XrefRangeEnd = 607008, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnEnable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_OnEnable_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008B8E RID: 35726 RVA: 0x0023D0A8 File Offset: 0x0023B2A8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607008, XrefRangeEnd = 607009, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_OnDisable_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008B8F RID: 35727 RVA: 0x0023D0EC File Offset: 0x0023B2EC
		[CallerCount(4)]
		[CachedScanResults(RefRangeStart = 607017, RefRangeEnd = 607021, XrefRangeStart = 607009, XrefRangeEnd = 607017, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe int AddStitch(int particle1, int particle2)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref particle1;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref particle2;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_AddStitch_Public_Int32_Int32_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06008B90 RID: 35728 RVA: 0x0023D164 File Offset: 0x0023B364
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607021, XrefRangeEnd = 607025, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RemoveStitch(int index)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref index;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_RemoveStitch_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008B91 RID: 35729 RVA: 0x0023D1B8 File Offset: 0x0023B3B8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607025, XrefRangeEnd = 607030, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Clear()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_Clear_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008B92 RID: 35730 RVA: 0x0023D1FC File Offset: 0x0023B3FC
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 607032, RefRangeEnd = 607034, XrefRangeStart = 607030, XrefRangeEnd = 607032, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Actor_OnRemovedFromSolver(Il2CppSystem.Object sender, ObiActor.ObiActorSolverArgs e)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(sender);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(e);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_Actor_OnRemovedFromSolver_Private_Void_Object_ObiActorSolverArgs_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008B93 RID: 35731 RVA: 0x0023D270 File Offset: 0x0023B470
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 607045, RefRangeEnd = 607047, XrefRangeStart = 607034, XrefRangeEnd = 607045, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Actor_OnAddedToSolver(Il2CppSystem.Object sender, ObiActor.ObiActorSolverArgs e)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(sender);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(e);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_Actor_OnAddedToSolver_Private_Void_Object_ObiActorSolverArgs_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008B94 RID: 35732 RVA: 0x0023D2E4 File Offset: 0x0023B4E4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607047, XrefRangeEnd = 607052, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual bool AddToSolver(Il2CppSystem.Object info)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(info);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_AddToSolver_Public_Virtual_Final_New_Boolean_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06008B95 RID: 35733 RVA: 0x0023D34C File Offset: 0x0023B54C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607052, XrefRangeEnd = 607054, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual bool RemoveFromSolver(Il2CppSystem.Object info)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(info);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Final_New_Boolean_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06008B96 RID: 35734 RVA: 0x0023D3B4 File Offset: 0x0023B5B4
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 607070, RefRangeEnd = 607073, XrefRangeStart = 607054, XrefRangeEnd = 607070, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual void PushDataToSolver(ParticleData data = ParticleData.NONE)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref data;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Final_New_Void_ParticleData_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008B97 RID: 35735 RVA: 0x0023D408 File Offset: 0x0023B608
		[CallerCount(5585)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5609, XrefRangeStart = 24, XrefRangeEnd = 5609, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual void PullDataFromSolver(ParticleData data = ParticleData.NONE)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref data;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Final_New_Void_ParticleData_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008B98 RID: 35736 RVA: 0x0023D45C File Offset: 0x0023B65C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607073, XrefRangeEnd = 607081, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiStitcher()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008B99 RID: 35737 RVA: 0x0023D4A8 File Offset: 0x0023B6A8
		// Note: this type is marked as 'beforefieldinit'.
		static ObiStitcher()
		{
			Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiStitcher");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr);
			ObiStitcher.NativeFieldInfoPtr_stitches = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, "stitches");
			ObiStitcher.NativeFieldInfoPtr_actor1 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, "actor1");
			ObiStitcher.NativeFieldInfoPtr_actor2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, "actor2");
			ObiStitcher.NativeFieldInfoPtr_batch = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, "batch");
			ObiStitcher.NativeFieldInfoPtr_inSolver = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, "inSolver");
			ObiStitcher.NativeMethodInfoPtr_set_Actor1_Public_set_Void_ObiActor_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674006);
			ObiStitcher.NativeMethodInfoPtr_get_Actor1_Public_get_ObiActor_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674007);
			ObiStitcher.NativeMethodInfoPtr_set_Actor2_Public_set_Void_ObiActor_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674008);
			ObiStitcher.NativeMethodInfoPtr_get_Actor2_Public_get_ObiActor_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674009);
			ObiStitcher.NativeMethodInfoPtr_get_StitchCount_Public_get_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674010);
			ObiStitcher.NativeMethodInfoPtr_get_Stitches_Public_get_IEnumerable_1_Stitch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674011);
			ObiStitcher.NativeMethodInfoPtr_OnEnable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674012);
			ObiStitcher.NativeMethodInfoPtr_OnDisable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674013);
			ObiStitcher.NativeMethodInfoPtr_AddStitch_Public_Int32_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674014);
			ObiStitcher.NativeMethodInfoPtr_RemoveStitch_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674015);
			ObiStitcher.NativeMethodInfoPtr_Clear_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674016);
			ObiStitcher.NativeMethodInfoPtr_Actor_OnRemovedFromSolver_Private_Void_Object_ObiActorSolverArgs_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674017);
			ObiStitcher.NativeMethodInfoPtr_Actor_OnAddedToSolver_Private_Void_Object_ObiActorSolverArgs_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674018);
			ObiStitcher.NativeMethodInfoPtr_AddToSolver_Public_Virtual_Final_New_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674019);
			ObiStitcher.NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Final_New_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674020);
			ObiStitcher.NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Final_New_Void_ParticleData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674021);
			ObiStitcher.NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Final_New_Void_ParticleData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674022);
			ObiStitcher.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674023);
		}

		// Token: 0x06008B9A RID: 35738 RVA: 0x0000351C File Offset: 0x0000171C
		public ObiStitcher(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002F89 RID: 12169
		// (get) Token: 0x06008B9B RID: 35739 RVA: 0x0023D6A4 File Offset: 0x0023B8A4
		// (set) Token: 0x06008B9C RID: 35740 RVA: 0x0023D6D8 File Offset: 0x0023B8D8
		public unsafe List<ObiStitcher.Stitch> stitches
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.NativeFieldInfoPtr_stitches);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<ObiStitcher.Stitch>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.NativeFieldInfoPtr_stitches), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002F8A RID: 12170
		// (get) Token: 0x06008B9D RID: 35741 RVA: 0x0023D700 File Offset: 0x0023B900
		// (set) Token: 0x06008B9E RID: 35742 RVA: 0x0023D734 File Offset: 0x0023B934
		public unsafe ObiActor actor1
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.NativeFieldInfoPtr_actor1);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new ObiActor(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.NativeFieldInfoPtr_actor1), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002F8B RID: 12171
		// (get) Token: 0x06008B9F RID: 35743 RVA: 0x0023D75C File Offset: 0x0023B95C
		// (set) Token: 0x06008BA0 RID: 35744 RVA: 0x0023D790 File Offset: 0x0023B990
		public unsafe ObiActor actor2
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.NativeFieldInfoPtr_actor2);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new ObiActor(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.NativeFieldInfoPtr_actor2), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002F8C RID: 12172
		// (get) Token: 0x06008BA1 RID: 35745 RVA: 0x0023D7B8 File Offset: 0x0023B9B8
		// (set) Token: 0x06008BA2 RID: 35746 RVA: 0x0023D7E0 File Offset: 0x0023B9E0
		public unsafe IntPtr batch
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.NativeFieldInfoPtr_batch);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.NativeFieldInfoPtr_batch)) = value;
			}
		}

		// Token: 0x17002F8D RID: 12173
		// (get) Token: 0x06008BA3 RID: 35747 RVA: 0x0023D804 File Offset: 0x0023BA04
		// (set) Token: 0x06008BA4 RID: 35748 RVA: 0x0023D82C File Offset: 0x0023BA2C
		public unsafe bool inSolver
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.NativeFieldInfoPtr_inSolver);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.NativeFieldInfoPtr_inSolver)) = value;
			}
		}

		// Token: 0x04005D0A RID: 23818
		private static readonly IntPtr NativeFieldInfoPtr_stitches;

		// Token: 0x04005D0B RID: 23819
		private static readonly IntPtr NativeFieldInfoPtr_actor1;

		// Token: 0x04005D0C RID: 23820
		private static readonly IntPtr NativeFieldInfoPtr_actor2;

		// Token: 0x04005D0D RID: 23821
		private static readonly IntPtr NativeFieldInfoPtr_batch;

		// Token: 0x04005D0E RID: 23822
		private static readonly IntPtr NativeFieldInfoPtr_inSolver;

		// Token: 0x04005D0F RID: 23823
		private static readonly IntPtr NativeMethodInfoPtr_set_Actor1_Public_set_Void_ObiActor_0;

		// Token: 0x04005D10 RID: 23824
		private static readonly IntPtr NativeMethodInfoPtr_get_Actor1_Public_get_ObiActor_0;

		// Token: 0x04005D11 RID: 23825
		private static readonly IntPtr NativeMethodInfoPtr_set_Actor2_Public_set_Void_ObiActor_0;

		// Token: 0x04005D12 RID: 23826
		private static readonly IntPtr NativeMethodInfoPtr_get_Actor2_Public_get_ObiActor_0;

		// Token: 0x04005D13 RID: 23827
		private static readonly IntPtr NativeMethodInfoPtr_get_StitchCount_Public_get_Int32_0;

		// Token: 0x04005D14 RID: 23828
		private static readonly IntPtr NativeMethodInfoPtr_get_Stitches_Public_get_IEnumerable_1_Stitch_0;

		// Token: 0x04005D15 RID: 23829
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Public_Void_0;

		// Token: 0x04005D16 RID: 23830
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Public_Void_0;

		// Token: 0x04005D17 RID: 23831
		private static readonly IntPtr NativeMethodInfoPtr_AddStitch_Public_Int32_Int32_Int32_0;

		// Token: 0x04005D18 RID: 23832
		private static readonly IntPtr NativeMethodInfoPtr_RemoveStitch_Public_Void_Int32_0;

		// Token: 0x04005D19 RID: 23833
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Void_0;

		// Token: 0x04005D1A RID: 23834
		private static readonly IntPtr NativeMethodInfoPtr_Actor_OnRemovedFromSolver_Private_Void_Object_ObiActorSolverArgs_0;

		// Token: 0x04005D1B RID: 23835
		private static readonly IntPtr NativeMethodInfoPtr_Actor_OnAddedToSolver_Private_Void_Object_ObiActorSolverArgs_0;

		// Token: 0x04005D1C RID: 23836
		private static readonly IntPtr NativeMethodInfoPtr_AddToSolver_Public_Virtual_Final_New_Boolean_Object_0;

		// Token: 0x04005D1D RID: 23837
		private static readonly IntPtr NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Final_New_Boolean_Object_0;

		// Token: 0x04005D1E RID: 23838
		private static readonly IntPtr NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Final_New_Void_ParticleData_0;

		// Token: 0x04005D1F RID: 23839
		private static readonly IntPtr NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Final_New_Void_ParticleData_0;

		// Token: 0x04005D20 RID: 23840
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020004A5 RID: 1189
		[Serializable]
		public class Stitch : Il2CppSystem.Object
		{
			// Token: 0x06008BA5 RID: 35749 RVA: 0x0023D850 File Offset: 0x0023BA50
			[CallerCount(31)]
			[CachedScanResults(RefRangeStart = 369561, RefRangeEnd = 369592, XrefRangeStart = 369561, XrefRangeEnd = 369592, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe Stitch(int particleIndex1, int particleIndex2)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiStitcher.Stitch>.NativeClassPtr))
			{
				IntPtr* ptr;
				checked
				{
					ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref particleIndex1;
				}
				ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref particleIndex2;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiStitcher.Stitch.NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06008BA6 RID: 35750 RVA: 0x0023D8C0 File Offset: 0x0023BAC0
			// Note: this type is marked as 'beforefieldinit'.
			static Stitch()
			{
				Il2CppClassPointerStore<ObiStitcher.Stitch>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, "Stitch");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiStitcher.Stitch>.NativeClassPtr);
				ObiStitcher.Stitch.NativeFieldInfoPtr_particleIndex1 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiStitcher.Stitch>.NativeClassPtr, "particleIndex1");
				ObiStitcher.Stitch.NativeFieldInfoPtr_particleIndex2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiStitcher.Stitch>.NativeClassPtr, "particleIndex2");
				ObiStitcher.Stitch.NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher.Stitch>.NativeClassPtr, 100674024);
			}

			// Token: 0x06008BA7 RID: 35751 RVA: 0x0000A688 File Offset: 0x00008888
			public Stitch(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17002F92 RID: 12178
			// (get) Token: 0x06008BA8 RID: 35752 RVA: 0x0023D928 File Offset: 0x0023BB28
			// (set) Token: 0x06008BA9 RID: 35753 RVA: 0x0023D950 File Offset: 0x0023BB50
			public unsafe int particleIndex1
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.Stitch.NativeFieldInfoPtr_particleIndex1);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.Stitch.NativeFieldInfoPtr_particleIndex1)) = value;
				}
			}

			// Token: 0x17002F93 RID: 12179
			// (get) Token: 0x06008BAA RID: 35754 RVA: 0x0023D974 File Offset: 0x0023BB74
			// (set) Token: 0x06008BAB RID: 35755 RVA: 0x0023D99C File Offset: 0x0023BB9C
			public unsafe int particleIndex2
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.Stitch.NativeFieldInfoPtr_particleIndex2);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiStitcher.Stitch.NativeFieldInfoPtr_particleIndex2)) = value;
				}
			}

			// Token: 0x04005D21 RID: 23841
			private static readonly IntPtr NativeFieldInfoPtr_particleIndex1;

			// Token: 0x04005D22 RID: 23842
			private static readonly IntPtr NativeFieldInfoPtr_particleIndex2;

			// Token: 0x04005D23 RID: 23843
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_0;
		}
	}
}
