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

namespace MTAssets.UltimateLODSystem
{
	// Token: 0x0200065D RID: 1629
	public class ChangeLodAutoManagement : MonoBehaviour
	{
		// Token: 0x0600A74F RID: 42831 RVA: 0x002ADF98 File Offset: 0x002AC198
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 655239, XrefRangeEnd = 655262, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ChangeLodAutoManagement.NativeMethodInfoPtr_Update_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600A750 RID: 42832 RVA: 0x002ADFDC File Offset: 0x002AC1DC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 655262, XrefRangeEnd = 655274, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void buttonEnableAutoManagement()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ChangeLodAutoManagement.NativeMethodInfoPtr_buttonEnableAutoManagement_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

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

		// Token: 0x0600A752 RID: 42834 RVA: 0x002AE06C File Offset: 0x002AC26C
		// Note: this type is marked as 'beforefieldinit'.
		static ChangeLodAutoManagement()
		{
			Il2CppClassPointerStore<ChangeLodAutoManagement>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "MTAssets.UltimateLODSystem", "ChangeLodAutoManagement");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ChangeLodAutoManagement>.NativeClassPtr);
			ChangeLodAutoManagement.NativeFieldInfoPtr_buttonText = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ChangeLodAutoManagement>.NativeClassPtr, "buttonText");
			ChangeLodAutoManagement.NativeFieldInfoPtr_explanation = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ChangeLodAutoManagement>.NativeClassPtr, "explanation");
			ChangeLodAutoManagement.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ChangeLodAutoManagement>.NativeClassPtr, 100676237);
			ChangeLodAutoManagement.NativeMethodInfoPtr_buttonEnableAutoManagement_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ChangeLodAutoManagement>.NativeClassPtr, 100676238);
			ChangeLodAutoManagement.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ChangeLodAutoManagement>.NativeClassPtr, 100676239);
		}

		// Token: 0x0600A753 RID: 42835 RVA: 0x0000351C File Offset: 0x0000171C
		public ChangeLodAutoManagement(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003894 RID: 14484
		// (get) Token: 0x0600A754 RID: 42836 RVA: 0x002AE100 File Offset: 0x002AC300
		// (set) Token: 0x0600A755 RID: 42837 RVA: 0x002AE134 File Offset: 0x002AC334
		public unsafe Text buttonText
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ChangeLodAutoManagement.NativeFieldInfoPtr_buttonText);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Text(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ChangeLodAutoManagement.NativeFieldInfoPtr_buttonText), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003895 RID: 14485
		// (get) Token: 0x0600A756 RID: 42838 RVA: 0x002AE15C File Offset: 0x002AC35C
		// (set) Token: 0x0600A757 RID: 42839 RVA: 0x002AE190 File Offset: 0x002AC390
		public unsafe Text explanation
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ChangeLodAutoManagement.NativeFieldInfoPtr_explanation);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Text(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ChangeLodAutoManagement.NativeFieldInfoPtr_explanation), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04007025 RID: 28709
		private static readonly IntPtr NativeFieldInfoPtr_buttonText;

		// Token: 0x04007026 RID: 28710
		private static readonly IntPtr NativeFieldInfoPtr_explanation;

		// Token: 0x04007027 RID: 28711
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x04007028 RID: 28712
		private static readonly IntPtr NativeMethodInfoPtr_buttonEnableAutoManagement_Public_Void_0;

		// Token: 0x04007029 RID: 28713
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
