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

namespace Obi
{
	// Token: 0x020004FC RID: 1276
	public class ObiStitcher : MonoBehaviour
	{
		// Token: 0x17003229 RID: 12841
		// (get) Token: 0x060093DB RID: 37851 RVA: 0x0025FBEC File Offset: 0x0025DDEC
		// (set) Token: 0x060093DA RID: 37850 RVA: 0x0025FB90 File Offset: 0x0025DD90
		public unsafe ObiActor Actor1
		{
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 7615, RefRangeEnd = 7616, XrefRangeStart = 7615, XrefRangeEnd = 7616, 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 = 639221, RefRangeEnd = 639222, XrefRangeStart = 639173, XrefRangeEnd = 639221, 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: 0x1700322A RID: 12842
		// (get) Token: 0x060093DD RID: 37853 RVA: 0x0025FCA0 File Offset: 0x0025DEA0
		// (set) Token: 0x060093DC RID: 37852 RVA: 0x0025FC44 File Offset: 0x0025DE44
		public unsafe ObiActor Actor2
		{
			[CallerCount(3)]
			[CachedScanResults(RefRangeStart = 11345, RefRangeEnd = 11348, XrefRangeStart = 11345, XrefRangeEnd = 11348, 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 = 639270, RefRangeEnd = 639271, XrefRangeStart = 639222, XrefRangeEnd = 639270, 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: 0x1700322B RID: 12843
		// (get) Token: 0x060093DE RID: 37854 RVA: 0x0025FCF8 File Offset: 0x0025DEF8
		public unsafe int StitchCount
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639271, XrefRangeEnd = 639272, 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: 0x1700322C RID: 12844
		// (get) Token: 0x060093DF RID: 37855 RVA: 0x0025FD48 File Offset: 0x0025DF48
		public unsafe IEnumerable<ObiStitcher.Stitch> Stitches
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639272, XrefRangeEnd = 639276, 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: 0x060093E0 RID: 37856 RVA: 0x0025FDA0 File Offset: 0x0025DFA0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639276, XrefRangeEnd = 639318, 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: 0x060093E1 RID: 37857 RVA: 0x0025FDE4 File Offset: 0x0025DFE4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639318, XrefRangeEnd = 639319, 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: 0x060093E2 RID: 37858 RVA: 0x0025FE28 File Offset: 0x0025E028
		[CallerCount(4)]
		[CachedScanResults(RefRangeStart = 639327, RefRangeEnd = 639331, XrefRangeStart = 639319, XrefRangeEnd = 639327, 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: 0x060093E3 RID: 37859 RVA: 0x0025FEA0 File Offset: 0x0025E0A0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639331, XrefRangeEnd = 639335, 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: 0x060093E4 RID: 37860 RVA: 0x0025FEF4 File Offset: 0x0025E0F4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639335, XrefRangeEnd = 639340, 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: 0x060093E5 RID: 37861 RVA: 0x0025FF38 File Offset: 0x0025E138
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 639342, RefRangeEnd = 639344, XrefRangeStart = 639340, XrefRangeEnd = 639342, 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: 0x060093E6 RID: 37862 RVA: 0x0025FFAC File Offset: 0x0025E1AC
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 639355, RefRangeEnd = 639357, XrefRangeStart = 639344, XrefRangeEnd = 639355, 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: 0x060093E7 RID: 37863 RVA: 0x00260020 File Offset: 0x0025E220
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639357, XrefRangeEnd = 639362, 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: 0x060093E8 RID: 37864 RVA: 0x00260088 File Offset: 0x0025E288
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639362, XrefRangeEnd = 639364, 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: 0x060093E9 RID: 37865 RVA: 0x002600F0 File Offset: 0x0025E2F0
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 639380, RefRangeEnd = 639383, XrefRangeStart = 639364, XrefRangeEnd = 639380, 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: 0x060093EA RID: 37866 RVA: 0x00260144 File Offset: 0x0025E344
		[CallerCount(5874)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5898, XrefRangeStart = 24, XrefRangeEnd = 5898, 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: 0x060093EB RID: 37867 RVA: 0x00260198 File Offset: 0x0025E398
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639383, XrefRangeEnd = 639391, 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: 0x060093EC RID: 37868 RVA: 0x002601E4 File Offset: 0x0025E3E4
		// 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, 100674719);
			ObiStitcher.NativeMethodInfoPtr_get_Actor1_Public_get_ObiActor_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674720);
			ObiStitcher.NativeMethodInfoPtr_set_Actor2_Public_set_Void_ObiActor_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674721);
			ObiStitcher.NativeMethodInfoPtr_get_Actor2_Public_get_ObiActor_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674722);
			ObiStitcher.NativeMethodInfoPtr_get_StitchCount_Public_get_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674723);
			ObiStitcher.NativeMethodInfoPtr_get_Stitches_Public_get_IEnumerable_1_Stitch_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674724);
			ObiStitcher.NativeMethodInfoPtr_OnEnable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674725);
			ObiStitcher.NativeMethodInfoPtr_OnDisable_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674726);
			ObiStitcher.NativeMethodInfoPtr_AddStitch_Public_Int32_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674727);
			ObiStitcher.NativeMethodInfoPtr_RemoveStitch_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674728);
			ObiStitcher.NativeMethodInfoPtr_Clear_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674729);
			ObiStitcher.NativeMethodInfoPtr_Actor_OnRemovedFromSolver_Private_Void_Object_ObiActorSolverArgs_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674730);
			ObiStitcher.NativeMethodInfoPtr_Actor_OnAddedToSolver_Private_Void_Object_ObiActorSolverArgs_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674731);
			ObiStitcher.NativeMethodInfoPtr_AddToSolver_Public_Virtual_Final_New_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674732);
			ObiStitcher.NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Final_New_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674733);
			ObiStitcher.NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Final_New_Void_ParticleData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674734);
			ObiStitcher.NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Final_New_Void_ParticleData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674735);
			ObiStitcher.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiStitcher>.NativeClassPtr, 100674736);
		}

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

		// Token: 0x17003224 RID: 12836
		// (get) Token: 0x060093EE RID: 37870 RVA: 0x002603E0 File Offset: 0x0025E5E0
		// (set) Token: 0x060093EF RID: 37871 RVA: 0x00260414 File Offset: 0x0025E614
		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: 0x17003225 RID: 12837
		// (get) Token: 0x060093F0 RID: 37872 RVA: 0x0026043C File Offset: 0x0025E63C
		// (set) Token: 0x060093F1 RID: 37873 RVA: 0x00260470 File Offset: 0x0025E670
		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: 0x17003226 RID: 12838
		// (get) Token: 0x060093F2 RID: 37874 RVA: 0x00260498 File Offset: 0x0025E698
		// (set) Token: 0x060093F3 RID: 37875 RVA: 0x002604CC File Offset: 0x0025E6CC
		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: 0x17003227 RID: 12839
		// (get) Token: 0x060093F4 RID: 37876 RVA: 0x002604F4 File Offset: 0x0025E6F4
		// (set) Token: 0x060093F5 RID: 37877 RVA: 0x0026051C File Offset: 0x0025E71C
		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: 0x17003228 RID: 12840
		// (get) Token: 0x060093F6 RID: 37878 RVA: 0x00260540 File Offset: 0x0025E740
		// (set) Token: 0x060093F7 RID: 37879 RVA: 0x00260568 File Offset: 0x0025E768
		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: 0x040062B3 RID: 25267
		private static readonly IntPtr NativeFieldInfoPtr_stitches;

		// Token: 0x040062B4 RID: 25268
		private static readonly IntPtr NativeFieldInfoPtr_actor1;

		// Token: 0x040062B5 RID: 25269
		private static readonly IntPtr NativeFieldInfoPtr_actor2;

		// Token: 0x040062B6 RID: 25270
		private static readonly IntPtr NativeFieldInfoPtr_batch;

		// Token: 0x040062B7 RID: 25271
		private static readonly IntPtr NativeFieldInfoPtr_inSolver;

		// Token: 0x040062B8 RID: 25272
		private static readonly IntPtr NativeMethodInfoPtr_set_Actor1_Public_set_Void_ObiActor_0;

		// Token: 0x040062B9 RID: 25273
		private static readonly IntPtr NativeMethodInfoPtr_get_Actor1_Public_get_ObiActor_0;

		// Token: 0x040062BA RID: 25274
		private static readonly IntPtr NativeMethodInfoPtr_set_Actor2_Public_set_Void_ObiActor_0;

		// Token: 0x040062BB RID: 25275
		private static readonly IntPtr NativeMethodInfoPtr_get_Actor2_Public_get_ObiActor_0;

		// Token: 0x040062BC RID: 25276
		private static readonly IntPtr NativeMethodInfoPtr_get_StitchCount_Public_get_Int32_0;

		// Token: 0x040062BD RID: 25277
		private static readonly IntPtr NativeMethodInfoPtr_get_Stitches_Public_get_IEnumerable_1_Stitch_0;

		// Token: 0x040062BE RID: 25278
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Public_Void_0;

		// Token: 0x040062BF RID: 25279
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Public_Void_0;

		// Token: 0x040062C0 RID: 25280
		private static readonly IntPtr NativeMethodInfoPtr_AddStitch_Public_Int32_Int32_Int32_0;

		// Token: 0x040062C1 RID: 25281
		private static readonly IntPtr NativeMethodInfoPtr_RemoveStitch_Public_Void_Int32_0;

		// Token: 0x040062C2 RID: 25282
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Void_0;

		// Token: 0x040062C3 RID: 25283
		private static readonly IntPtr NativeMethodInfoPtr_Actor_OnRemovedFromSolver_Private_Void_Object_ObiActorSolverArgs_0;

		// Token: 0x040062C4 RID: 25284
		private static readonly IntPtr NativeMethodInfoPtr_Actor_OnAddedToSolver_Private_Void_Object_ObiActorSolverArgs_0;

		// Token: 0x040062C5 RID: 25285
		private static readonly IntPtr NativeMethodInfoPtr_AddToSolver_Public_Virtual_Final_New_Boolean_Object_0;

		// Token: 0x040062C6 RID: 25286
		private static readonly IntPtr NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Final_New_Boolean_Object_0;

		// Token: 0x040062C7 RID: 25287
		private static readonly IntPtr NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Final_New_Void_ParticleData_0;

		// Token: 0x040062C8 RID: 25288
		private static readonly IntPtr NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Final_New_Void_ParticleData_0;

		// Token: 0x040062C9 RID: 25289
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020004FD RID: 1277
		[Serializable]
		public class Stitch : Il2CppSystem.Object
		{
			// Token: 0x060093F8 RID: 37880 RVA: 0x0026058C File Offset: 0x0025E78C
			[CallerCount(31)]
			[CachedScanResults(RefRangeStart = 376286, RefRangeEnd = 376317, XrefRangeStart = 376286, XrefRangeEnd = 376317, 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: 0x060093F9 RID: 37881 RVA: 0x002605FC File Offset: 0x0025E7FC
			// 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, 100674737);
			}

			// Token: 0x060093FA RID: 37882 RVA: 0x0000A74C File Offset: 0x0000894C
			public Stitch(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x1700322D RID: 12845
			// (get) Token: 0x060093FB RID: 37883 RVA: 0x00260664 File Offset: 0x0025E864
			// (set) Token: 0x060093FC RID: 37884 RVA: 0x0026068C File Offset: 0x0025E88C
			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: 0x1700322E RID: 12846
			// (get) Token: 0x060093FD RID: 37885 RVA: 0x002606B0 File Offset: 0x0025E8B0
			// (set) Token: 0x060093FE RID: 37886 RVA: 0x002606D8 File Offset: 0x0025E8D8
			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: 0x040062CA RID: 25290
			private static readonly IntPtr NativeFieldInfoPtr_particleIndex1;

			// Token: 0x040062CB RID: 25291
			private static readonly IntPtr NativeFieldInfoPtr_particleIndex2;

			// Token: 0x040062CC RID: 25292
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_0;
		}
	}
}
