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

namespace UnitySA.Utility
{
	// Token: 0x020005F1 RID: 1521
	[Serializable]
	public class CurveCtrlBob : Il2CppSystem.Object
	{
		// Token: 0x06009E15 RID: 40469 RVA: 0x00287814 File Offset: 0x00285A14
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 622476, RefRangeEnd = 622477, XrefRangeStart = 622471, XrefRangeEnd = 622476, 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: 0x06009E16 RID: 40470 RVA: 0x00287880 File Offset: 0x00285A80
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 622481, RefRangeEnd = 622482, XrefRangeStart = 622477, XrefRangeEnd = 622481, 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: 0x06009E17 RID: 40471 RVA: 0x002878E4 File Offset: 0x00285AE4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 622496, RefRangeEnd = 622497, XrefRangeStart = 622482, XrefRangeEnd = 622496, 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: 0x06009E18 RID: 40472 RVA: 0x00287930 File Offset: 0x00285B30
		// 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, 100675455);
			CurveCtrlBob.NativeMethodInfoPtr_DoHeadBob_Public_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, 100675456);
			CurveCtrlBob.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CurveCtrlBob>.NativeClassPtr, 100675457);
		}

		// Token: 0x06009E19 RID: 40473 RVA: 0x0000A688 File Offset: 0x00008888
		public CurveCtrlBob(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170035B2 RID: 13746
		// (get) Token: 0x06009E1A RID: 40474 RVA: 0x00287A50 File Offset: 0x00285C50
		// (set) Token: 0x06009E1B RID: 40475 RVA: 0x00287A78 File Offset: 0x00285C78
		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: 0x170035B3 RID: 13747
		// (get) Token: 0x06009E1C RID: 40476 RVA: 0x00287A9C File Offset: 0x00285C9C
		// (set) Token: 0x06009E1D RID: 40477 RVA: 0x00287AC4 File Offset: 0x00285CC4
		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: 0x170035B4 RID: 13748
		// (get) Token: 0x06009E1E RID: 40478 RVA: 0x00287AE8 File Offset: 0x00285CE8
		// (set) Token: 0x06009E1F RID: 40479 RVA: 0x00287B1C File Offset: 0x00285D1C
		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: 0x170035B5 RID: 13749
		// (get) Token: 0x06009E20 RID: 40480 RVA: 0x00287B44 File Offset: 0x00285D44
		// (set) Token: 0x06009E21 RID: 40481 RVA: 0x00287B6C File Offset: 0x00285D6C
		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: 0x170035B6 RID: 13750
		// (get) Token: 0x06009E22 RID: 40482 RVA: 0x00287B90 File Offset: 0x00285D90
		// (set) Token: 0x06009E23 RID: 40483 RVA: 0x00287BB8 File Offset: 0x00285DB8
		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: 0x170035B7 RID: 13751
		// (get) Token: 0x06009E24 RID: 40484 RVA: 0x00287BDC File Offset: 0x00285DDC
		// (set) Token: 0x06009E25 RID: 40485 RVA: 0x00287C04 File Offset: 0x00285E04
		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: 0x170035B8 RID: 13752
		// (get) Token: 0x06009E26 RID: 40486 RVA: 0x00287C28 File Offset: 0x00285E28
		// (set) Token: 0x06009E27 RID: 40487 RVA: 0x00287C50 File Offset: 0x00285E50
		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: 0x170035B9 RID: 13753
		// (get) Token: 0x06009E28 RID: 40488 RVA: 0x00287C74 File Offset: 0x00285E74
		// (set) Token: 0x06009E29 RID: 40489 RVA: 0x00287C9C File Offset: 0x00285E9C
		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: 0x170035BA RID: 13754
		// (get) Token: 0x06009E2A RID: 40490 RVA: 0x00287CC0 File Offset: 0x00285EC0
		// (set) Token: 0x06009E2B RID: 40491 RVA: 0x00287CE8 File Offset: 0x00285EE8
		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: 0x040069F2 RID: 27122
		private static readonly IntPtr NativeFieldInfoPtr_HorizontalBobRange;

		// Token: 0x040069F3 RID: 27123
		private static readonly IntPtr NativeFieldInfoPtr_VerticalBobRange;

		// Token: 0x040069F4 RID: 27124
		private static readonly IntPtr NativeFieldInfoPtr_Bobcurve;

		// Token: 0x040069F5 RID: 27125
		private static readonly IntPtr NativeFieldInfoPtr_VerticaltoHorizontalRatio;

		// Token: 0x040069F6 RID: 27126
		private static readonly IntPtr NativeFieldInfoPtr_m_CyclePositionX;

		// Token: 0x040069F7 RID: 27127
		private static readonly IntPtr NativeFieldInfoPtr_m_CyclePositionY;

		// Token: 0x040069F8 RID: 27128
		private static readonly IntPtr NativeFieldInfoPtr_m_BobBaseInterval;

		// Token: 0x040069F9 RID: 27129
		private static readonly IntPtr NativeFieldInfoPtr_m_OriginalCameraPosition;

		// Token: 0x040069FA RID: 27130
		private static readonly IntPtr NativeFieldInfoPtr_m_Time;

		// Token: 0x040069FB RID: 27131
		private static readonly IntPtr NativeMethodInfoPtr_Setup_Public_Void_Camera_Single_0;

		// Token: 0x040069FC RID: 27132
		private static readonly IntPtr NativeMethodInfoPtr_DoHeadBob_Public_Vector3_Single_0;

		// Token: 0x040069FD RID: 27133
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
