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

namespace UnityStandardAssets.Utility
{
	// Token: 0x02000600 RID: 1536
	public class AutoMoveAndRotate : MonoBehaviour
	{
		// Token: 0x0600A19E RID: 41374 RVA: 0x00298428 File Offset: 0x00296628
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 650549, XrefRangeEnd = 650550, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AutoMoveAndRotate.NativeMethodInfoPtr_Start_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A19F RID: 41375 RVA: 0x0029846C File Offset: 0x0029666C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 650550, XrefRangeEnd = 650557, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AutoMoveAndRotate.NativeMethodInfoPtr_Update_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A1A0 RID: 41376 RVA: 0x002984B0 File Offset: 0x002966B0
		[CallerCount(67)]
		[CachedScanResults(RefRangeStart = 166362, RefRangeEnd = 166429, XrefRangeStart = 166362, XrefRangeEnd = 166429, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe AutoMoveAndRotate()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AutoMoveAndRotate.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A1A1 RID: 41377 RVA: 0x002984FC File Offset: 0x002966FC
		// Note: this type is marked as 'beforefieldinit'.
		static AutoMoveAndRotate()
		{
			Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "UnityStandardAssets.Utility", "AutoMoveAndRotate");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr);
			AutoMoveAndRotate.NativeFieldInfoPtr_moveUnitsPerSecond = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr, "moveUnitsPerSecond");
			AutoMoveAndRotate.NativeFieldInfoPtr_rotateDegreesPerSecond = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr, "rotateDegreesPerSecond");
			AutoMoveAndRotate.NativeFieldInfoPtr_ignoreTimescale = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr, "ignoreTimescale");
			AutoMoveAndRotate.NativeFieldInfoPtr_m_LastRealTime = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr, "m_LastRealTime");
			AutoMoveAndRotate.NativeMethodInfoPtr_Start_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr, 100675936);
			AutoMoveAndRotate.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr, 100675937);
			AutoMoveAndRotate.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr, 100675938);
		}

		// Token: 0x0600A1A2 RID: 41378 RVA: 0x0000351C File Offset: 0x0000171C
		public AutoMoveAndRotate(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700367C RID: 13948
		// (get) Token: 0x0600A1A3 RID: 41379 RVA: 0x002985B8 File Offset: 0x002967B8
		// (set) Token: 0x0600A1A4 RID: 41380 RVA: 0x002985EC File Offset: 0x002967EC
		public unsafe AutoMoveAndRotate.Vector3andSpace moveUnitsPerSecond
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.NativeFieldInfoPtr_moveUnitsPerSecond);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AutoMoveAndRotate.Vector3andSpace(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.NativeFieldInfoPtr_moveUnitsPerSecond), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700367D RID: 13949
		// (get) Token: 0x0600A1A5 RID: 41381 RVA: 0x00298614 File Offset: 0x00296814
		// (set) Token: 0x0600A1A6 RID: 41382 RVA: 0x00298648 File Offset: 0x00296848
		public unsafe AutoMoveAndRotate.Vector3andSpace rotateDegreesPerSecond
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.NativeFieldInfoPtr_rotateDegreesPerSecond);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AutoMoveAndRotate.Vector3andSpace(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.NativeFieldInfoPtr_rotateDegreesPerSecond), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700367E RID: 13950
		// (get) Token: 0x0600A1A7 RID: 41383 RVA: 0x00298670 File Offset: 0x00296870
		// (set) Token: 0x0600A1A8 RID: 41384 RVA: 0x00298698 File Offset: 0x00296898
		public unsafe bool ignoreTimescale
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.NativeFieldInfoPtr_ignoreTimescale);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.NativeFieldInfoPtr_ignoreTimescale)) = value;
			}
		}

		// Token: 0x1700367F RID: 13951
		// (get) Token: 0x0600A1A9 RID: 41385 RVA: 0x002986BC File Offset: 0x002968BC
		// (set) Token: 0x0600A1AA RID: 41386 RVA: 0x002986E4 File Offset: 0x002968E4
		public unsafe float m_LastRealTime
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.NativeFieldInfoPtr_m_LastRealTime);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.NativeFieldInfoPtr_m_LastRealTime)) = value;
			}
		}

		// Token: 0x04006C6E RID: 27758
		private static readonly IntPtr NativeFieldInfoPtr_moveUnitsPerSecond;

		// Token: 0x04006C6F RID: 27759
		private static readonly IntPtr NativeFieldInfoPtr_rotateDegreesPerSecond;

		// Token: 0x04006C70 RID: 27760
		private static readonly IntPtr NativeFieldInfoPtr_ignoreTimescale;

		// Token: 0x04006C71 RID: 27761
		private static readonly IntPtr NativeFieldInfoPtr_m_LastRealTime;

		// Token: 0x04006C72 RID: 27762
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x04006C73 RID: 27763
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x04006C74 RID: 27764
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000601 RID: 1537
		[Serializable]
		public class Vector3andSpace : Il2CppSystem.Object
		{
			// Token: 0x0600A1AB RID: 41387 RVA: 0x00298708 File Offset: 0x00296908
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 650548, XrefRangeEnd = 650549, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe Vector3andSpace()
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<AutoMoveAndRotate.Vector3andSpace>.NativeClassPtr))
			{
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AutoMoveAndRotate.Vector3andSpace.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x0600A1AC RID: 41388 RVA: 0x00298754 File Offset: 0x00296954
			// Note: this type is marked as 'beforefieldinit'.
			static Vector3andSpace()
			{
				Il2CppClassPointerStore<AutoMoveAndRotate.Vector3andSpace>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr, "Vector3andSpace");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<AutoMoveAndRotate.Vector3andSpace>.NativeClassPtr);
				AutoMoveAndRotate.Vector3andSpace.NativeFieldInfoPtr_value = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AutoMoveAndRotate.Vector3andSpace>.NativeClassPtr, "value");
				AutoMoveAndRotate.Vector3andSpace.NativeFieldInfoPtr_space = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AutoMoveAndRotate.Vector3andSpace>.NativeClassPtr, "space");
				AutoMoveAndRotate.Vector3andSpace.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AutoMoveAndRotate.Vector3andSpace>.NativeClassPtr, 100675939);
			}

			// Token: 0x0600A1AD RID: 41389 RVA: 0x0000A74C File Offset: 0x0000894C
			public Vector3andSpace(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17003680 RID: 13952
			// (get) Token: 0x0600A1AE RID: 41390 RVA: 0x002987BC File Offset: 0x002969BC
			// (set) Token: 0x0600A1AF RID: 41391 RVA: 0x002987E4 File Offset: 0x002969E4
			public unsafe Vector3 value
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.Vector3andSpace.NativeFieldInfoPtr_value);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.Vector3andSpace.NativeFieldInfoPtr_value)) = value;
				}
			}

			// Token: 0x17003681 RID: 13953
			// (get) Token: 0x0600A1B0 RID: 41392 RVA: 0x00298808 File Offset: 0x00296A08
			// (set) Token: 0x0600A1B1 RID: 41393 RVA: 0x00298830 File Offset: 0x00296A30
			public unsafe Space space
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.Vector3andSpace.NativeFieldInfoPtr_space);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AutoMoveAndRotate.Vector3andSpace.NativeFieldInfoPtr_space)) = value;
				}
			}

			// Token: 0x04006C75 RID: 27765
			private static readonly IntPtr NativeFieldInfoPtr_value;

			// Token: 0x04006C76 RID: 27766
			private static readonly IntPtr NativeFieldInfoPtr_space;

			// Token: 0x04006C77 RID: 27767
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
		}
	}
}
