using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion
{
	// Token: 0x020003F6 RID: 1014
	[Token(Token = "0x20003F6")]
	public static class LayerMaskExtensions
	{
		// Token: 0x06002584 RID: 9604 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002584")]
		[Address(RVA = "0x10543E0", Offset = "0x10533E0", VA = "0x1810543E0")]
		public static bool Contains(LayerMask mask, int layer)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002585 RID: 9605 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002585")]
		[Address(RVA = "0x1054420", Offset = "0x1053420", VA = "0x181054420")]
		public static LayerMask Create(params string[] layerNames)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002586 RID: 9606 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002586")]
		[Address(RVA = "0x10544C0", Offset = "0x10534C0", VA = "0x1810544C0")]
		public static LayerMask Create(params int[] layerNumbers)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002587 RID: 9607 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002587")]
		[Address(RVA = "0x1054420", Offset = "0x1053420", VA = "0x181054420")]
		public static LayerMask NamesToMask(params string[] layerNames)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002588 RID: 9608 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002588")]
		[Address(RVA = "0x10544C0", Offset = "0x10534C0", VA = "0x1810544C0")]
		public static LayerMask LayerNumbersToMask(params int[] layerNumbers)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002589 RID: 9609 RVA: 0x000573B0 File Offset: 0x000555B0
		[Token(Token = "0x6002589")]
		[Address(RVA = "0x1054540", Offset = "0x1053540", VA = "0x181054540")]
		public static LayerMask Inverse(this LayerMask original)
		{
			return original;
		}

		// Token: 0x0600258A RID: 9610 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600258A")]
		[Address(RVA = "0x1054310", Offset = "0x1053310", VA = "0x181054310")]
		public static LayerMask AddToMask(this LayerMask original, params string[] layerNames)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600258B RID: 9611 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600258B")]
		[Address(RVA = "0x10549C0", Offset = "0x10539C0", VA = "0x1810549C0")]
		public static LayerMask RemoveFromMask(this LayerMask original, params string[] layerNames)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600258C RID: 9612 RVA: 0x000573C8 File Offset: 0x000555C8
		[Token(Token = "0x600258C")]
		[Address(RVA = "0x1054560", Offset = "0x1053560", VA = "0x181054560")]
		public static string[] MaskToNames(this LayerMask original)
		{
			int mask = original.m_Mask;
			List<string> list = new List();
			int num = 0;
			if (mask == (uint)1)
			{
				string text = LayerMask.LayerToName(num);
				if (!string.IsNullOrEmpty(text))
				{
					list.Add(text);
				}
			}
			num++;
			return list.ToArray();
		}

		// Token: 0x0600258D RID: 9613 RVA: 0x00057418 File Offset: 0x00055618
		[Token(Token = "0x600258D")]
		[Address(RVA = "0x1054670", Offset = "0x1053670", VA = "0x181054670")]
		public static int[] MaskToNumbers(this LayerMask original)
		{
			int mask = original.m_Mask;
			List<int> list = new List();
			int num = 0;
			if (mask == (uint)1)
			{
				list.Add(num);
			}
			num++;
			return list.ToArray();
		}

		// Token: 0x0600258E RID: 9614 RVA: 0x00057458 File Offset: 0x00055658
		[Token(Token = "0x600258E")]
		[Address(RVA = "0x1054760", Offset = "0x1053760", VA = "0x181054760")]
		public static string MaskToString(this LayerMask original)
		{
			int mask = original.m_Mask;
			List<string> list = new List();
			int num = 0;
			if (mask == (uint)1)
			{
				string text = LayerMask.LayerToName(num);
				if (!string.IsNullOrEmpty(text))
				{
					list.Add(text);
				}
			}
			num++;
			string[] array = list.ToArray();
			return string.Join(", ", array);
		}

		// Token: 0x0600258F RID: 9615 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600258F")]
		[Address(RVA = "0x10548A0", Offset = "0x10538A0", VA = "0x1810548A0")]
		public static string MaskToString(this LayerMask original, string delimiter)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}
}
