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

namespace UnitySA.Utility
{
	// Token: 0x02000649 RID: 1609
	[Serializable]
	public class CurveCtrlBob : Il2CppSystem.Object
	{
		// Token: 0x0600A668 RID: 42600 RVA: 0x002AA550 File Offset: 0x002A8750
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 654778, RefRangeEnd = 654779, XrefRangeStart = 654773, XrefRangeEnd = 654778, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Setup(Camera camera, float bobBaseInterval)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(camera);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref bobBaseInterval;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CurveCtrlBob.NativeMethodInfoPtr_Setup_Public_Void_Camera_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A669 RID: 42601 RVA: 0x002AA5BC File Offset: 0x002A87BC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 654783, RefRangeEnd = 654784, XrefRangeStart = 654779, XrefRangeEnd = 654783, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 DoHeadBob(float speed)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref speed;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CurveCtrlBob.NativeMethodInfoPtr_DoHeadBob_Public_Vector3_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x0600A66A RID: 42602 RVA: 0x002AA620 File Offset: 0x002A8820
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 654798, RefRangeEnd = 654799, XrefRangeStart = 654784, XrefRangeEnd = 654798, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe CurveCtrlBob()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CurveCtrlBob.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A66B RID: 42603 RVA: 0x002AA66C File Offset: 0x002A886C
		// Note: this type is marked as 'beforefieldinit'.
		static CurveCtrlBob()
		{
			Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnitySA.Utility", "CurveCtrlBob");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr);
			CurveCtrlBob.NativeFieldInfoPtr_HorizontalBobRange = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, "HorizontalBobRange");
			CurveCtrlBob.NativeFieldInfoPtr_VerticalBobRange = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, "VerticalBobRange");
			CurveCtrlBob.NativeFieldInfoPtr_Bobcurve = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, "Bobcurve");
			CurveCtrlBob.NativeFieldInfoPtr_VerticaltoHorizontalRatio = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, "VerticaltoHorizontalRatio");
			CurveCtrlBob.NativeFieldInfoPtr_m_CyclePositionX = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, "m_CyclePositionX");
			CurveCtrlBob.NativeFieldInfoPtr_m_CyclePositionY = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, "m_CyclePositionY");
			CurveCtrlBob.NativeFieldInfoPtr_m_BobBaseInterval = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, "m_BobBaseInterval");
			CurveCtrlBob.NativeFieldInfoPtr_m_OriginalCameraPosition = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, "m_OriginalCameraPosition");
			CurveCtrlBob.NativeFieldInfoPtr_m_Time = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, "m_Time");
			CurveCtrlBob.NativeMethodInfoPtr_Setup_Public_Void_Camera_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, 100676168);
			CurveCtrlBob.NativeMethodInfoPtr_DoHeadBob_Public_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, 100676169);
			CurveCtrlBob.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, 100676170);
		}

		// Token: 0x0600A66C RID: 42604 RVA: 0x0000A74C File Offset: 0x0000894C
		public CurveCtrlBob(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700384D RID: 14413
		// (get) Token: 0x0600A66D RID: 42605 RVA: 0x002AA78C File Offset: 0x002A898C
		// (set) Token: 0x0600A66E RID: 42606 RVA: 0x002AA7B4 File Offset: 0x002A89B4
		public unsafe float HorizontalBobRange
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_HorizontalBobRange);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_HorizontalBobRange)) = value;
			}
		}

		// Token: 0x1700384E RID: 14414
		// (get) Token: 0x0600A66F RID: 42607 RVA: 0x002AA7D8 File Offset: 0x002A89D8
		// (set) Token: 0x0600A670 RID: 42608 RVA: 0x002AA800 File Offset: 0x002A8A00
		public unsafe float VerticalBobRange
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_VerticalBobRange);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_VerticalBobRange)) = value;
			}
		}

		// Token: 0x1700384F RID: 14415
		// (get) Token: 0x0600A671 RID: 42609 RVA: 0x002AA824 File Offset: 0x002A8A24
		// (set) Token: 0x0600A672 RID: 42610 RVA: 0x002AA858 File Offset: 0x002A8A58
		public unsafe AnimationCurve Bobcurve
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_Bobcurve);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AnimationCurve(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_Bobcurve), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003850 RID: 14416
		// (get) Token: 0x0600A673 RID: 42611 RVA: 0x002AA880 File Offset: 0x002A8A80
		// (set) Token: 0x0600A674 RID: 42612 RVA: 0x002AA8A8 File Offset: 0x002A8AA8
		public unsafe float VerticaltoHorizontalRatio
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_VerticaltoHorizontalRatio);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_VerticaltoHorizontalRatio)) = value;
			}
		}

		// Token: 0x17003851 RID: 14417
		// (get) Token: 0x0600A675 RID: 42613 RVA: 0x002AA8CC File Offset: 0x002A8ACC
		// (set) Token: 0x0600A676 RID: 42614 RVA: 0x002AA8F4 File Offset: 0x002A8AF4
		public unsafe float m_CyclePositionX
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_m_CyclePositionX);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_m_CyclePositionX)) = value;
			}
		}

		// Token: 0x17003852 RID: 14418
		// (get) Token: 0x0600A677 RID: 42615 RVA: 0x002AA918 File Offset: 0x002A8B18
		// (set) Token: 0x0600A678 RID: 42616 RVA: 0x002AA940 File Offset: 0x002A8B40
		public unsafe float m_CyclePositionY
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_m_CyclePositionY);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_m_CyclePositionY)) = value;
			}
		}

		// Token: 0x17003853 RID: 14419
		// (get) Token: 0x0600A679 RID: 42617 RVA: 0x002AA964 File Offset: 0x002A8B64
		// (set) Token: 0x0600A67A RID: 42618 RVA: 0x002AA98C File Offset: 0x002A8B8C
		public unsafe float m_BobBaseInterval
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_m_BobBaseInterval);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_m_BobBaseInterval)) = value;
			}
		}

		// Token: 0x17003854 RID: 14420
		// (get) Token: 0x0600A67B RID: 42619 RVA: 0x002AA9B0 File Offset: 0x002A8BB0
		// (set) Token: 0x0600A67C RID: 42620 RVA: 0x002AA9D8 File Offset: 0x002A8BD8
		public unsafe Vector3 m_OriginalCameraPosition
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_m_OriginalCameraPosition);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_m_OriginalCameraPosition)) = value;
			}
		}

		// Token: 0x17003855 RID: 14421
		// (get) Token: 0x0600A67D RID: 42621 RVA: 0x002AA9FC File Offset: 0x002A8BFC
		// (set) Token: 0x0600A67E RID: 42622 RVA: 0x002AAA24 File Offset: 0x002A8C24
		public unsafe float m_Time
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_m_Time);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CurveCtrlBob.NativeFieldInfoPtr_m_Time)) = value;
			}
		}

		// Token: 0x04006F9B RID: 28571
		private static readonly IntPtr NativeFieldInfoPtr_HorizontalBobRange;

		// Token: 0x04006F9C RID: 28572
		private static readonly IntPtr NativeFieldInfoPtr_VerticalBobRange;

		// Token: 0x04006F9D RID: 28573
		private static readonly IntPtr NativeFieldInfoPtr_Bobcurve;

		// Token: 0x04006F9E RID: 28574
		private static readonly IntPtr NativeFieldInfoPtr_VerticaltoHorizontalRatio;

		// Token: 0x04006F9F RID: 28575
		private static readonly IntPtr NativeFieldInfoPtr_m_CyclePositionX;

		// Token: 0x04006FA0 RID: 28576
		private static readonly IntPtr NativeFieldInfoPtr_m_CyclePositionY;

		// Token: 0x04006FA1 RID: 28577
		private static readonly IntPtr NativeFieldInfoPtr_m_BobBaseInterval;

		// Token: 0x04006FA2 RID: 28578
		private static readonly IntPtr NativeFieldInfoPtr_m_OriginalCameraPosition;

		// Token: 0x04006FA3 RID: 28579
		private static readonly IntPtr NativeFieldInfoPtr_m_Time;

		// Token: 0x04006FA4 RID: 28580
		private static readonly IntPtr NativeMethodInfoPtr_Setup_Public_Void_Camera_Single_0;

		// Token: 0x04006FA5 RID: 28581
		private static readonly IntPtr NativeMethodInfoPtr_DoHeadBob_Public_Vector3_Single_0;

		// Token: 0x04006FA6 RID: 28582
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
