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

namespace UnityStandardAssets.Utility
{
	// Token: 0x020005A8 RID: 1448
	public class AutoMoveAndRotate : MonoBehaviour
	{
		// Token: 0x0600994B RID: 39243 RVA: 0x002756EC File Offset: 0x002738EC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618251, XrefRangeEnd = 618252, 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: 0x0600994C RID: 39244 RVA: 0x00275730 File Offset: 0x00273930
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618252, XrefRangeEnd = 618259, 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: 0x0600994D RID: 39245 RVA: 0x00275774 File Offset: 0x00273974
		[CallerCount(63)]
		[CachedScanResults(RefRangeStart = 222154, RefRangeEnd = 222217, XrefRangeStart = 222154, XrefRangeEnd = 222217, 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: 0x0600994E RID: 39246 RVA: 0x002757C0 File Offset: 0x002739C0
		// 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, 100675223);
			AutoMoveAndRotate.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr, 100675224);
			AutoMoveAndRotate.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AutoMoveAndRotate>.NativeClassPtr, 100675225);
		}

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

		// Token: 0x170033E1 RID: 13281
		// (get) Token: 0x06009950 RID: 39248 RVA: 0x0027587C File Offset: 0x00273A7C
		// (set) Token: 0x06009951 RID: 39249 RVA: 0x002758B0 File Offset: 0x00273AB0
		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: 0x170033E2 RID: 13282
		// (get) Token: 0x06009952 RID: 39250 RVA: 0x002758D8 File Offset: 0x00273AD8
		// (set) Token: 0x06009953 RID: 39251 RVA: 0x0027590C File Offset: 0x00273B0C
		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: 0x170033E3 RID: 13283
		// (get) Token: 0x06009954 RID: 39252 RVA: 0x00275934 File Offset: 0x00273B34
		// (set) Token: 0x06009955 RID: 39253 RVA: 0x0027595C File Offset: 0x00273B5C
		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: 0x170033E4 RID: 13284
		// (get) Token: 0x06009956 RID: 39254 RVA: 0x00275980 File Offset: 0x00273B80
		// (set) Token: 0x06009957 RID: 39255 RVA: 0x002759A8 File Offset: 0x00273BA8
		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: 0x040066C5 RID: 26309
		private static readonly IntPtr NativeFieldInfoPtr_moveUnitsPerSecond;

		// Token: 0x040066C6 RID: 26310
		private static readonly IntPtr NativeFieldInfoPtr_rotateDegreesPerSecond;

		// Token: 0x040066C7 RID: 26311
		private static readonly IntPtr NativeFieldInfoPtr_ignoreTimescale;

		// Token: 0x040066C8 RID: 26312
		private static readonly IntPtr NativeFieldInfoPtr_m_LastRealTime;

		// Token: 0x040066C9 RID: 26313
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x040066CA RID: 26314
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x040066CB RID: 26315
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020005A9 RID: 1449
		[Serializable]
		public class Vector3andSpace : Il2CppSystem.Object
		{
			// Token: 0x06009958 RID: 39256 RVA: 0x002759CC File Offset: 0x00273BCC
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 618250, XrefRangeEnd = 618251, 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: 0x06009959 RID: 39257 RVA: 0x00275A18 File Offset: 0x00273C18
			// 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, 100675226);
			}

			// Token: 0x0600995A RID: 39258 RVA: 0x0000A688 File Offset: 0x00008888
			public Vector3andSpace(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170033E5 RID: 13285
			// (get) Token: 0x0600995B RID: 39259 RVA: 0x00275A80 File Offset: 0x00273C80
			// (set) Token: 0x0600995C RID: 39260 RVA: 0x00275AA8 File Offset: 0x00273CA8
			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: 0x170033E6 RID: 13286
			// (get) Token: 0x0600995D RID: 39261 RVA: 0x00275ACC File Offset: 0x00273CCC
			// (set) Token: 0x0600995E RID: 39262 RVA: 0x00275AF4 File Offset: 0x00273CF4
			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: 0x040066CC RID: 26316
			private static readonly IntPtr NativeFieldInfoPtr_value;

			// Token: 0x040066CD RID: 26317
			private static readonly IntPtr NativeFieldInfoPtr_space;

			// Token: 0x040066CE RID: 26318
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
		}
	}
}
