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

namespace Obi
{
	// Token: 0x020004EF RID: 1263
	[Token(Token = "0x20004EF")]
	public static class ObiUtils
	{
		// Token: 0x06002C33 RID: 11315 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002C33")]
		[Address(RVA = "0xD356C0", Offset = "0xD344C0", VA = "0x180D356C0")]
		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: 0x06002C34 RID: 11316 RVA: 0x0005FD78 File Offset: 0x0005DF78
		[Token(Token = "0x6002C34")]
		[Address(RVA = "0x4EC800", Offset = "0x4EB600", VA = "0x1804EC800")]
		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: 0x06002C35 RID: 11317 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002C35")]
		[Address(RVA = "0x4ECA00", Offset = "0x4EB800", VA = "0x1804ECA00")]
		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: 0x06002C36 RID: 11318 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002C36")]
		[Address(RVA = "0x4EC7A0", Offset = "0x4EB5A0", VA = "0x1804EC7A0")]
		public static void AddRange<T>(ref T[] array, T[] other)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002C37 RID: 11319 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002C37")]
		[Address(RVA = "0x4EC8A0", Offset = "0x4EB6A0", VA = "0x1804EC8A0")]
		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: 0x06002C38 RID: 11320 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002C38")]
		[Address(RVA = "0xD35930", Offset = "0xD34730", VA = "0x180D35930")]
		public static Bounds Transform(this Bounds b, Matrix4x4 m)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002C39 RID: 11321 RVA: 0x0005FDDC File Offset: 0x0005DFDC
		[Token(Token = "0x6002C39")]
		[Address(RVA = "0xD35910", Offset = "0xD34710", VA = "0x180D35910")]
		public static float Remap(this float value, float from1, float to1, float from2, float to2)
		{
			return value;
		}

		// Token: 0x06002C3A RID: 11322 RVA: 0x0005FDEC File Offset: 0x0005DFEC
		[Token(Token = "0x6002C3A")]
		[Address(RVA = "0xD358D0", Offset = "0xD346D0", VA = "0x180D358D0")]
		public static float Mod(float a, float b)
		{
			return a;
		}

		// Token: 0x06002C3B RID: 11323 RVA: 0x0005FDFC File Offset: 0x0005DFFC
		[Token(Token = "0x6002C3B")]
		[Address(RVA = "0xD36190", Offset = "0xD34F90", VA = "0x180D36190")]
		public static float TriangleArea(Vector3 p1, Vector3 p2, Vector3 p3)
		{
			Vector3 vector = Vector3.Cross(p1, p2);
			return p1.sqrMagnitude * 0.5f;
		}
	}
}
