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

namespace Obi
{
	// Token: 0x02000547 RID: 1351
	[Token(Token = "0x2000547")]
	public static class ObiUtils
	{
		// Token: 0x06002EFC RID: 12028 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002EFC")]
		[Address(RVA = "0xE66840", Offset = "0xE65840", VA = "0x180E66840")]
		public static void DrawArrowGizmo(float bodyLenght, float bodyWidth, float headLenght, float headWidth)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002EFD RID: 12029 RVA: 0x0006700C File Offset: 0x0006520C
		[Token(Token = "0x6002EFD")]
		[Address(RVA = "0x5865C0", Offset = "0x5855C0", VA = "0x1805865C0")]
		public static void ArrayFill<T>(T[] arrayToFill, T[] fillValue)
		{
			int length = fillValue.Length;
			Array.Copy(fillValue, arrayToFill, length);
			int num = arrayToFill.Length;
			int num2 = fillValue.Length;
			num -= arrayToFill;
			int num3 = arrayToFill.Length;
			if (num2 < num3)
			{
				num3 -= num2;
				if (num2 <= num)
				{
					num3 = num2;
				}
				int num4 = 0;
				Array.Copy(arrayToFill, num4, arrayToFill, num2, num3);
				num2 += num2;
			}
		}

		// Token: 0x06002EFE RID: 12030 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002EFE")]
		[Address(RVA = "0x5867C0", Offset = "0x5857C0", VA = "0x1805867C0")]
		public static IList<T> Swap<T>(this IList<T> list, int indexA, int indexB)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002EFF RID: 12031 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002EFF")]
		[Address(RVA = "0x586560", Offset = "0x585560", VA = "0x180586560")]
		public static void AddRange<T>(ref T[] array, T[] other)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F00 RID: 12032 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002F00")]
		[Address(RVA = "0x586660", Offset = "0x585660", VA = "0x180586660")]
		public static void RemoveRange<T>(ref T[] array, int index, int count)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F01 RID: 12033 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002F01")]
		[Address(RVA = "0xE66AB0", Offset = "0xE65AB0", VA = "0x180E66AB0")]
		public static Bounds Transform(this Bounds b, Matrix4x4 m)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F02 RID: 12034 RVA: 0x00067070 File Offset: 0x00065270
		[Token(Token = "0x6002F02")]
		[Address(RVA = "0xE66A90", Offset = "0xE65A90", VA = "0x180E66A90")]
		public static float Remap(this float value, float from1, float to1, float from2, float to2)
		{
			return value;
		}

		// Token: 0x06002F03 RID: 12035 RVA: 0x00067080 File Offset: 0x00065280
		[Token(Token = "0x6002F03")]
		[Address(RVA = "0xE66A50", Offset = "0xE65A50", VA = "0x180E66A50")]
		public static float Mod(float a, float b)
		{
			return a;
		}

		// Token: 0x06002F04 RID: 12036 RVA: 0x00067090 File Offset: 0x00065290
		[Token(Token = "0x6002F04")]
		[Address(RVA = "0xE67310", Offset = "0xE66310", VA = "0x180E67310")]
		public static float TriangleArea(Vector3 p1, Vector3 p2, Vector3 p3)
		{
			Vector3 vector = Vector3.Cross(p1, p2);
			return p1.sqrMagnitude * 0.5f;
		}
	}
}
