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

// Token: 0x0200009F RID: 159
[Token(Token = "0x200009F")]
public class LockPointsManager
{
	// Token: 0x060006F1 RID: 1777 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60006F1")]
	[Address(RVA = "0x3FCB50", Offset = "0x3FB950", VA = "0x1803FCB50")]
	public void Init()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060006F2 RID: 1778 RVA: 0x00010684 File Offset: 0x0000E884
	[Token(Token = "0x60006F2")]
	[Address(RVA = "0x3FC030", Offset = "0x3FAE30", VA = "0x1803FC030")]
	public void AddLockPoints(LockPoint[] lockPointArr)
	{
		int num = 0;
		int length = lockPointArr.Length;
		if (num < length)
		{
			List<LockPoint> list = this.lockPoints;
			LockPoint lockPoint = lockPointArr[num];
			list.Add(lockPoint);
			num++;
		}
	}

	// Token: 0x060006F3 RID: 1779 RVA: 0x000106C0 File Offset: 0x0000E8C0
	[Token(Token = "0x60006F3")]
	[Address(RVA = "0x3FC910", Offset = "0x3FB710", VA = "0x1803FC910")]
	public int GetLockPointsCount()
	{
		return this.lockPoints._size;
	}

	// Token: 0x060006F4 RID: 1780 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60006F4")]
	[Address(RVA = "0x3FC890", Offset = "0x3FB690", VA = "0x1803FC890")]
	public LockPoint GetLockPoint(int i)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060006F5 RID: 1781 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60006F5")]
	[Address(RVA = "0x3FC800", Offset = "0x3FB600", VA = "0x1803FC800")]
	public LockPoint GetLockPoint(LockPoint lockPoint)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060006F6 RID: 1782 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60006F6")]
	[Address(RVA = "0x3FCD50", Offset = "0x3FBB50", VA = "0x1803FCD50")]
	public void LockReset()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060006F7 RID: 1783 RVA: 0x000106E0 File Offset: 0x0000E8E0
	[Token(Token = "0x60006F7")]
	[Address(RVA = "0x3FC9B0", Offset = "0x3FB7B0", VA = "0x1803FC9B0")]
	public int GetLockedOnPointsCount()
	{
		return this.lockedOnPoints._size;
	}

	// Token: 0x060006F8 RID: 1784 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60006F8")]
	[Address(RVA = "0x3FC9F0", Offset = "0x3FB7F0", VA = "0x1803FC9F0")]
	public Transform[] GetLockedOnTargetArray()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060006F9 RID: 1785 RVA: 0x00010700 File Offset: 0x0000E900
	[Token(Token = "0x60006F9")]
	[Address(RVA = "0x3FD260", Offset = "0x3FC060", VA = "0x1803FD260")]
	public void SetPerspectiveLockEnabled(bool isEnabled)
	{
		this.isPerspectiveLockEnabled = isEnabled;
	}

	// Token: 0x060006FA RID: 1786 RVA: 0x00010714 File Offset: 0x0000E914
	[Token(Token = "0x60006FA")]
	[Address(RVA = "0x3FCB40", Offset = "0x3FB940", VA = "0x1803FCB40")]
	public bool GetPerspectiveLockEnabled()
	{
		return this.isPerspectiveLockEnabled;
	}

	// Token: 0x060006FB RID: 1787 RVA: 0x00010728 File Offset: 0x0000E928
	[Token(Token = "0x60006FB")]
	[Address(RVA = "0x31E390", Offset = "0x31D190", VA = "0x18031E390")]
	public LockPoint GetPerspectiveLockTarget()
	{
		return this.perspectiveLockTarget;
	}

	// Token: 0x060006FC RID: 1788 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60006FC")]
	[Address(RVA = "0x3FC630", Offset = "0x3FB430", VA = "0x1803FC630")]
	public void ClearPerspectiveLockTarget()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060006FD RID: 1789 RVA: 0x0001073C File Offset: 0x0000E93C
	[Token(Token = "0x60006FD")]
	[Address(RVA = "0x38DB30", Offset = "0x38C930", VA = "0x18038DB30")]
	public float GetPerspectiveLockDistance()
	{
		return this.perspectiveLockDistance;
	}

	// Token: 0x060006FE RID: 1790 RVA: 0x00010750 File Offset: 0x0000E950
	[Token(Token = "0x60006FE")]
	[Address(RVA = "0x38DBA0", Offset = "0x38C9A0", VA = "0x18038DBA0")]
	public void SetPerspectiveLockDistance(float lockDistance)
	{
		this.perspectiveLockDistance = lockDistance;
	}

	// Token: 0x060006FF RID: 1791 RVA: 0x00010764 File Offset: 0x0000E964
	[Token(Token = "0x60006FF")]
	[Address(RVA = "0x3FC650", Offset = "0x3FB450", VA = "0x1803FC650")]
	public void DefaultPerspectiveLockDistance()
	{
		this.perspectiveLockDistance = 30f;
	}

	// Token: 0x06000700 RID: 1792 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000700")]
	[Address(RVA = "0x3FC4D0", Offset = "0x3FB2D0", VA = "0x1803FC4D0")]
	public void CancelLock()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000701 RID: 1793 RVA: 0x0001077C File Offset: 0x0000E97C
	[Token(Token = "0x6000701")]
	[Address(RVA = "0x3FD1E0", Offset = "0x3FBFE0", VA = "0x1803FD1E0")]
	public void SetAimPointEnabled(bool isEnabled)
	{
		this.isAimPointEnabled = isEnabled;
	}

	// Token: 0x06000702 RID: 1794 RVA: 0x00010790 File Offset: 0x0000E990
	[Token(Token = "0x6000702")]
	[Address(RVA = "0x3FC660", Offset = "0x3FB460", VA = "0x1803FC660")]
	public bool GetAimPointEnabled()
	{
		return this.isAimPointEnabled;
	}

	// Token: 0x06000703 RID: 1795 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000703")]
	[Address(RVA = "0x3FDF30", Offset = "0x3FCD30", VA = "0x1803FDF30")]
	public void UpdateLockedOnPoint()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000704 RID: 1796 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000704")]
	[Address(RVA = "0x3FC130", Offset = "0x3FAF30", VA = "0x1803FC130")]
	public void AutoLockNearby(Vector3 v3PlayerPos, float fDistance)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000705 RID: 1797 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000705")]
	[Address(RVA = "0x3FC670", Offset = "0x3FB470", VA = "0x1803FC670")]
	public Transform GetClosest()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000706 RID: 1798 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000706")]
	[Address(RVA = "0x3FD270", Offset = "0x3FC070", VA = "0x1803FD270")]
	public void SwitchPerspectiveLockTarget(Vector2 direction, Vector2 rootPosition)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000707 RID: 1799 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000707")]
	[Address(RVA = "0x3FDBE0", Offset = "0x3FC9E0", VA = "0x1803FDBE0")]
	public bool TryUpdatePerspectiveLockTarget()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000708 RID: 1800 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000708")]
	[Address(RVA = "0x3FE950", Offset = "0x3FD750", VA = "0x1803FE950")]
	public void UpdateMagicLockMax(PlayerEffectPlay.Magic magicType)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000709 RID: 1801 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000709")]
	[Address(RVA = "0x3FD0F0", Offset = "0x3FBEF0", VA = "0x1803FD0F0")]
	public void ResetIceLockNumMax()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600070A RID: 1802 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600070A")]
	[Address(RVA = "0x3FD840", Offset = "0x3FC640", VA = "0x1803FD840")]
	private bool TryGetDistanceLockData(int index, LockPointsManager.LockSetupData lockSetupData, out LockPointsManager.LockResultData lockResultData)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600070B RID: 1803 RVA: 0x000107A4 File Offset: 0x0000E9A4
	[Token(Token = "0x600070B")]
	[Address(RVA = "0x3FC0D0", Offset = "0x3FAED0", VA = "0x1803FC0D0")]
	private void AddLockedOnPoint(LockPoint lockPoint)
	{
		this.lockedOnPoints.Add(lockPoint);
	}

	// Token: 0x0600070C RID: 1804 RVA: 0x000107C4 File Offset: 0x0000E9C4
	[Token(Token = "0x600070C")]
	[Address(RVA = "0x3FD1F0", Offset = "0x3FBFF0", VA = "0x1803FD1F0")]
	private void SetLockedOnPoint(int index, LockPoint lockPoint)
	{
		this.lockedOnPoints[index] = lockPoint;
	}

	// Token: 0x0600070D RID: 1805 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600070D")]
	[Address(RVA = "0x3FCF70", Offset = "0x3FBD70", VA = "0x1803FCF70")]
	private void RemoveLockedOnPoint(int index)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600070E RID: 1806 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600070E")]
	[Address(RVA = "0x3FC950", Offset = "0x3FB750", VA = "0x1803FC950")]
	private LockPoint GetLockedOnPoint(int index)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600070F RID: 1807 RVA: 0x000107E4 File Offset: 0x0000E9E4
	[Token(Token = "0x600070F")]
	[Address(RVA = "0x3FC5E0", Offset = "0x3FB3E0", VA = "0x1803FC5E0")]
	private void ClearLockedOnPoints()
	{
		this.lockedOnPoints.Clear();
	}

	// Token: 0x06000710 RID: 1808 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000710")]
	[Address(RVA = "0x3FCE40", Offset = "0x3FBC40", VA = "0x1803FCE40")]
	private void RefreshLockedOnPoints()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000711 RID: 1809 RVA: 0x00010804 File Offset: 0x0000EA04
	[Token(Token = "0x6000711")]
	[Address(RVA = "0x3FEAB0", Offset = "0x3FD8B0", VA = "0x1803FEAB0")]
	public LockPointsManager()
	{
	}

	// Token: 0x04000803 RID: 2051
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4000803")]
	private List<LockPoint> lockPoints;

	// Token: 0x04000804 RID: 2052
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4000804")]
	private List<LockPoint> lockedOnPoints;

	// Token: 0x04000805 RID: 2053
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4000805")]
	private LayerMask lockMask;

	// Token: 0x04000806 RID: 2054
	[FieldOffset(Offset = "0x24")]
	[Token(Token = "0x4000806")]
	private bool isAimPointEnabled;

	// Token: 0x04000807 RID: 2055
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4000807")]
	private float lockWaitDelta = 0.5f;

	// Token: 0x04000808 RID: 2056
	[FieldOffset(Offset = "0x2C")]
	[Token(Token = "0x4000808")]
	private float lockWaitValue;

	// Token: 0x04000809 RID: 2057
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x4000809")]
	private int magicLockMax;

	// Token: 0x0400080A RID: 2058
	[FieldOffset(Offset = "0x34")]
	[Token(Token = "0x400080A")]
	private float iceLockRange = 300f;

	// Token: 0x0400080B RID: 2059
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x400080B")]
	private float iceLockWorldRange = 25f;

	// Token: 0x0400080C RID: 2060
	[FieldOffset(Offset = "0x3C")]
	[Token(Token = "0x400080C")]
	private bool isPerspectiveLockEnabled;

	// Token: 0x0400080D RID: 2061
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x400080D")]
	private LockPoint perspectiveLockTarget;

	// Token: 0x0400080E RID: 2062
	[Token(Token = "0x400080E")]
	private const float PERSPECTIVE_LOCK_DISTANCE = 30f;

	// Token: 0x0400080F RID: 2063
	[FieldOffset(Offset = "0x48")]
	[Token(Token = "0x400080F")]
	private float perspectiveLockDistance;

	// Token: 0x020000A0 RID: 160
	[Token(Token = "0x20000A0")]
	private struct LockSetupData
	{
		// Token: 0x17000031 RID: 49
		// (get) Token: 0x06000712 RID: 1810 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000031")]
		public static LockPointsManager.LockSetupData Default
		{
			[Token(Token = "0x6000712")]
			[Address(RVA = "0x14EDA40", Offset = "0x14EC840", VA = "0x1814EDA40")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x04000810 RID: 2064
		[FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4000810")]
		public Vector3 PlayerCamPos;

		// Token: 0x04000811 RID: 2065
		[FieldOffset(Offset = "0xC")]
		[Token(Token = "0x4000811")]
		public Vector3 PlayerPos;

		// Token: 0x04000812 RID: 2066
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4000812")]
		public Vector3 ScreenCentre;
	}

	// Token: 0x020000A1 RID: 161
	[Token(Token = "0x20000A1")]
	private struct LockResultData
	{
		// Token: 0x04000813 RID: 2067
		[FieldOffset(Offset = "0x0")]
		[Token(Token = "0x4000813")]
		public float WorldDistance;

		// Token: 0x04000814 RID: 2068
		[FieldOffset(Offset = "0x4")]
		[Token(Token = "0x4000814")]
		public Vector3 ScreenPos;

		// Token: 0x04000815 RID: 2069
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4000815")]
		public float ScreenDistance;

		// Token: 0x04000816 RID: 2070
		[FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4000816")]
		public float PlayerDistance;
	}
}
