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

namespace Obi.CrossPlatformInput
{
	// Token: 0x02000503 RID: 1283
	[Token(Token = "0x2000503")]
	public abstract class VirtualInput
	{
		// Token: 0x1700031E RID: 798
		// (get) Token: 0x06002CA7 RID: 11431 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06002CA8 RID: 11432 RVA: 0x00060A60 File Offset: 0x0005EC60
		[Token(Token = "0x1700031E")]
		public Vector3 virtualMousePosition
		{
			[Token(Token = "0x6002CA7")]
			[Address(RVA = "0x42E030", Offset = "0x42CE30", VA = "0x18042E030")]
			[CompilerGenerated]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002CA8")]
			[Address(RVA = "0x5FD260", Offset = "0x5FC060", VA = "0x1805FD260")]
			[CompilerGenerated]
			private set
			{
				float z = value.z;
				this.<virtualMousePosition>k__BackingField.z = z;
			}
		}

		// Token: 0x06002CA9 RID: 11433 RVA: 0x00060A80 File Offset: 0x0005EC80
		[Token(Token = "0x6002CA9")]
		[Address(RVA = "0x937CD0", Offset = "0x936AD0", VA = "0x180937CD0")]
		public bool AxisExists(string name)
		{
			return this.m_VirtualAxes.ContainsKey(name);
		}

		// Token: 0x06002CAA RID: 11434 RVA: 0x00060AA0 File Offset: 0x0005ECA0
		[Token(Token = "0x6002CAA")]
		[Address(RVA = "0x937D30", Offset = "0x936B30", VA = "0x180937D30")]
		public bool ButtonExists(string name)
		{
			return this.m_VirtualButtons.ContainsKey(name);
		}

		// Token: 0x06002CAB RID: 11435 RVA: 0x00060AC0 File Offset: 0x0005ECC0
		[Token(Token = "0x6002CAB")]
		[Address(RVA = "0x937D90", Offset = "0x936B90", VA = "0x180937D90")]
		public void RegisterVirtualAxis(CrossPlatformInputManager.VirtualAxis axis)
		{
			Dictionary<string, CrossPlatformInputManager.VirtualAxis> virtualAxes = this.m_VirtualAxes;
			throw new NullReferenceException();
		}

		// Token: 0x06002CAC RID: 11436 RVA: 0x00060B34 File Offset: 0x0005ED34
		[Token(Token = "0x6002CAC")]
		[Address(RVA = "0x937ED0", Offset = "0x936CD0", VA = "0x180937ED0")]
		public void RegisterVirtualButton(CrossPlatformInputManager.VirtualButton button)
		{
			Dictionary<string, CrossPlatformInputManager.VirtualButton> virtualButtons = this.m_VirtualButtons;
			throw new NullReferenceException();
		}

		// Token: 0x06002CAD RID: 11437 RVA: 0x00060BA8 File Offset: 0x0005EDA8
		[Token(Token = "0x6002CAD")]
		[Address(RVA = "0x9380D0", Offset = "0x936ED0", VA = "0x1809380D0")]
		public void UnRegisterVirtualAxis(string name)
		{
			Dictionary<string, CrossPlatformInputManager.VirtualAxis> virtualAxes = this.m_VirtualAxes;
			throw new NullReferenceException();
		}

		// Token: 0x06002CAE RID: 11438 RVA: 0x00060BDC File Offset: 0x0005EDDC
		[Token(Token = "0x6002CAE")]
		[Address(RVA = "0x938150", Offset = "0x936F50", VA = "0x180938150")]
		public void UnRegisterVirtualButton(string name)
		{
			Dictionary<string, CrossPlatformInputManager.VirtualButton> virtualButtons = this.m_VirtualButtons;
			throw new NullReferenceException();
		}

		// Token: 0x06002CAF RID: 11439 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002CAF")]
		[Address(RVA = "0x9381D0", Offset = "0x936FD0", VA = "0x1809381D0")]
		public CrossPlatformInputManager.VirtualAxis VirtualAxisReference(string name)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002CB0 RID: 11440 RVA: 0x00060C10 File Offset: 0x0005EE10
		[Token(Token = "0x6002CB0")]
		[Address(RVA = "0x938010", Offset = "0x936E10", VA = "0x180938010")]
		public void SetVirtualMousePositionX(float f)
		{
			float z = this.<virtualMousePosition>k__BackingField.z;
			this.<virtualMousePosition>k__BackingField.z = z;
		}

		// Token: 0x06002CB1 RID: 11441 RVA: 0x00060C38 File Offset: 0x0005EE38
		[Token(Token = "0x6002CB1")]
		[Address(RVA = "0x938050", Offset = "0x936E50", VA = "0x180938050")]
		public void SetVirtualMousePositionY(float f)
		{
			float z = this.<virtualMousePosition>k__BackingField.z;
			this.<virtualMousePosition>k__BackingField.z = z;
		}

		// Token: 0x06002CB2 RID: 11442 RVA: 0x00060C60 File Offset: 0x0005EE60
		[Token(Token = "0x6002CB2")]
		[Address(RVA = "0x938090", Offset = "0x936E90", VA = "0x180938090")]
		public void SetVirtualMousePositionZ(float f)
		{
			float z = this.<virtualMousePosition>k__BackingField.z;
			this.<virtualMousePosition>k__BackingField.z = f;
		}

		// Token: 0x06002CB3 RID: 11443
		[Token(Token = "0x6002CB3")]
		[Address(Slot = "4")]
		public abstract float GetAxis(string name, bool raw);

		// Token: 0x06002CB4 RID: 11444
		[Token(Token = "0x6002CB4")]
		[Address(Slot = "5")]
		public abstract bool GetButton(string name);

		// Token: 0x06002CB5 RID: 11445
		[Token(Token = "0x6002CB5")]
		[Address(Slot = "6")]
		public abstract bool GetButtonDown(string name);

		// Token: 0x06002CB6 RID: 11446
		[Token(Token = "0x6002CB6")]
		[Address(Slot = "7")]
		public abstract bool GetButtonUp(string name);

		// Token: 0x06002CB7 RID: 11447
		[Token(Token = "0x6002CB7")]
		[Address(Slot = "8")]
		public abstract void SetButtonDown(string name);

		// Token: 0x06002CB8 RID: 11448
		[Token(Token = "0x6002CB8")]
		[Address(Slot = "9")]
		public abstract void SetButtonUp(string name);

		// Token: 0x06002CB9 RID: 11449
		[Token(Token = "0x6002CB9")]
		[Address(Slot = "10")]
		public abstract void SetAxisPositive(string name);

		// Token: 0x06002CBA RID: 11450
		[Token(Token = "0x6002CBA")]
		[Address(Slot = "11")]
		public abstract void SetAxisNegative(string name);

		// Token: 0x06002CBB RID: 11451
		[Token(Token = "0x6002CBB")]
		[Address(Slot = "12")]
		public abstract void SetAxisZero(string name);

		// Token: 0x06002CBC RID: 11452
		[Token(Token = "0x6002CBC")]
		[Address(Slot = "13")]
		public abstract void SetAxis(string name, float value);

		// Token: 0x06002CBD RID: 11453
		[Token(Token = "0x6002CBD")]
		[Address(Slot = "14")]
		public abstract Vector3 MousePosition();

		// Token: 0x06002CBE RID: 11454 RVA: 0x00060C88 File Offset: 0x0005EE88
		[Token(Token = "0x6002CBE")]
		[Address(RVA = "0x938260", Offset = "0x937060", VA = "0x180938260")]
		protected VirtualInput()
		{
			Dictionary<string, CrossPlatformInputManager.VirtualAxis> dictionary = new Dictionary();
			this.m_VirtualAxes = dictionary;
			Dictionary<string, CrossPlatformInputManager.VirtualButton> dictionary2 = new Dictionary();
			this.m_VirtualButtons = dictionary2;
			List<string> list = new List();
			this.m_AlwaysUseVirtual = list;
			base..ctor();
		}

		// Token: 0x04003500 RID: 13568
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4003500")]
		protected Dictionary<string, CrossPlatformInputManager.VirtualAxis> m_VirtualAxes;

		// Token: 0x04003501 RID: 13569
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4003501")]
		protected Dictionary<string, CrossPlatformInputManager.VirtualButton> m_VirtualButtons;

		// Token: 0x04003502 RID: 13570
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4003502")]
		protected List<string> m_AlwaysUseVirtual;
	}
}
