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

// Token: 0x0200016D RID: 365
public class GameSkinAttribute : PropertyAttribute
{
	// Token: 0x17001950 RID: 6480
	// (get) Token: 0x060044D4 RID: 17620 RVA: 0x0010FB34 File Offset: 0x0010DD34
	public unsafe bool ForDLC
	{
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 6864, RefRangeEnd = 6865, XrefRangeStart = 6864, XrefRangeEnd = 6865, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		get
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameSkinAttribute.NativeMethodInfoPtr_get_ForDLC_Public_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}
	}

	// Token: 0x060044D5 RID: 17621 RVA: 0x0010FB84 File Offset: 0x0010DD84
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 556423, XrefRangeEnd = 556424, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe GameSkinAttribute(bool forDLC)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<GameSkinAttribute>.NativeClassPtr))
	{
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref forDLC;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameSkinAttribute.NativeMethodInfoPtr__ctor_Public_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x060044D6 RID: 17622 RVA: 0x0010FBE4 File Offset: 0x0010DDE4
	// Note: this type is marked as 'beforefieldinit'.
	static GameSkinAttribute()
	{
		Il2CppClassPointerStore<GameSkinAttribute>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "GameSkinAttribute");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<GameSkinAttribute>.NativeClassPtr);
		GameSkinAttribute.NativeFieldInfoPtr__ForDLC_k__BackingField = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSkinAttribute>.NativeClassPtr, "<ForDLC>k__BackingField");
		GameSkinAttribute.NativeMethodInfoPtr_get_ForDLC_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameSkinAttribute>.NativeClassPtr, 100667579);
		GameSkinAttribute.NativeMethodInfoPtr__ctor_Public_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameSkinAttribute>.NativeClassPtr, 100667580);
	}

	// Token: 0x060044D7 RID: 17623 RVA: 0x0010FC50 File Offset: 0x0010DE50
	public GameSkinAttribute(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x1700194F RID: 6479
	// (get) Token: 0x060044D8 RID: 17624 RVA: 0x0010FC5C File Offset: 0x0010DE5C
	// (set) Token: 0x060044D9 RID: 17625 RVA: 0x0010FC84 File Offset: 0x0010DE84
	public unsafe bool _ForDLC_k__BackingField
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSkinAttribute.NativeFieldInfoPtr__ForDLC_k__BackingField);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSkinAttribute.NativeFieldInfoPtr__ForDLC_k__BackingField)) = value;
		}
	}

	// Token: 0x04002CF0 RID: 11504
	private static readonly IntPtr NativeFieldInfoPtr__ForDLC_k__BackingField;

	// Token: 0x04002CF1 RID: 11505
	private static readonly IntPtr NativeMethodInfoPtr_get_ForDLC_Public_get_Boolean_0;

	// Token: 0x04002CF2 RID: 11506
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_0;
}
