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

namespace Obi.CrossPlatformInput
{
	// Token: 0x0200055B RID: 1371
	[Token(Token = "0x200055B")]
	public abstract class VirtualInput
	{
		// Token: 0x17000343 RID: 835
		// (get) Token: 0x06002F70 RID: 12144 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06002F71 RID: 12145 RVA: 0x00067CF4 File Offset: 0x00065EF4
		[Token(Token = "0x17000343")]
		public Vector3 virtualMousePosition
		{
			[Token(Token = "0x6002F70")]
			[Address(RVA = "0x491550", Offset = "0x490550", VA = "0x180491550")]
			[CompilerGenerated]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002F71")]
			[Address(RVA = "0x4B2350", Offset = "0x4B1350", VA = "0x1804B2350")]
			[CompilerGenerated]
			private set
			{
				float z = value.z;
				this.<virtualMousePosition>k__BackingField.z = z;
			}
		}

		// Token: 0x06002F72 RID: 12146 RVA: 0x00067D14 File Offset: 0x00065F14
		[Token(Token = "0x6002F72")]
		[Address(RVA = "0x4B1CC0", Offset = "0x4B0CC0", VA = "0x1804B1CC0")]
		public bool AxisExists(string name)
		{
			return this.m_VirtualAxes.ContainsKey(name);
		}

		// Token: 0x06002F73 RID: 12147 RVA: 0x00067D34 File Offset: 0x00065F34
		[Token(Token = "0x6002F73")]
		[Address(RVA = "0x4B1D20", Offset = "0x4B0D20", VA = "0x1804B1D20")]
		public bool ButtonExists(string name)
		{
			return this.m_VirtualButtons.ContainsKey(name);
		}

		// Token: 0x06002F74 RID: 12148 RVA: 0x00067D54 File Offset: 0x00065F54
		[Token(Token = "0x6002F74")]
		[Address(RVA = "0x4B1D80", Offset = "0x4B0D80", VA = "0x1804B1D80")]
		public void RegisterVirtualAxis(CrossPlatformInputManager.VirtualAxis axis)
		{
			Dictionary<string, CrossPlatformInputManager.VirtualAxis> virtualAxes = this.m_VirtualAxes;
			throw new NullReferenceException();
		}

		// Token: 0x06002F75 RID: 12149 RVA: 0x00067DC8 File Offset: 0x00065FC8
		[Token(Token = "0x6002F75")]
		[Address(RVA = "0x4B1EC0", Offset = "0x4B0EC0", VA = "0x1804B1EC0")]
		public void RegisterVirtualButton(CrossPlatformInputManager.VirtualButton button)
		{
			Dictionary<string, CrossPlatformInputManager.VirtualButton> virtualButtons = this.m_VirtualButtons;
			throw new NullReferenceException();
		}

		// Token: 0x06002F76 RID: 12150 RVA: 0x00067E3C File Offset: 0x0006603C
		[Token(Token = "0x6002F76")]
		[Address(RVA = "0x4B20C0", Offset = "0x4B10C0", VA = "0x1804B20C0")]
		public void UnRegisterVirtualAxis(string name)
		{
			Dictionary<string, CrossPlatformInputManager.VirtualAxis> virtualAxes = this.m_VirtualAxes;
			throw new NullReferenceException();
		}

		// Token: 0x06002F77 RID: 12151 RVA: 0x00067E70 File Offset: 0x00066070
		[Token(Token = "0x6002F77")]
		[Address(RVA = "0x4B2140", Offset = "0x4B1140", VA = "0x1804B2140")]
		public void UnRegisterVirtualButton(string name)
		{
			Dictionary<string, CrossPlatformInputManager.VirtualButton> virtualButtons = this.m_VirtualButtons;
			throw new NullReferenceException();
		}

		// Token: 0x06002F78 RID: 12152 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002F78")]
		[Address(RVA = "0x4B21C0", Offset = "0x4B11C0", VA = "0x1804B21C0")]
		public CrossPlatformInputManager.VirtualAxis VirtualAxisReference(string name)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F79 RID: 12153 RVA: 0x00067EA4 File Offset: 0x000660A4
		[Token(Token = "0x6002F79")]
		[Address(RVA = "0x4B2000", Offset = "0x4B1000", VA = "0x1804B2000")]
		public void SetVirtualMousePositionX(float f)
		{
			float z = this.<virtualMousePosition>k__BackingField.z;
			this.<virtualMousePosition>k__BackingField.z = z;
		}

		// Token: 0x06002F7A RID: 12154 RVA: 0x00067ECC File Offset: 0x000660CC
		[Token(Token = "0x6002F7A")]
		[Address(RVA = "0x4B2040", Offset = "0x4B1040", VA = "0x1804B2040")]
		public void SetVirtualMousePositionY(float f)
		{
			float z = this.<virtualMousePosition>k__BackingField.z;
			this.<virtualMousePosition>k__BackingField.z = z;
		}

		// Token: 0x06002F7B RID: 12155 RVA: 0x00067EF4 File Offset: 0x000660F4
		[Token(Token = "0x6002F7B")]
		[Address(RVA = "0x4B2080", Offset = "0x4B1080", VA = "0x1804B2080")]
		public void SetVirtualMousePositionZ(float f)
		{
			float z = this.<virtualMousePosition>k__BackingField.z;
			this.<virtualMousePosition>k__BackingField.z = f;
		}

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

		// Token: 0x06002F7D RID: 12157
		[Token(Token = "0x6002F7D")]
		[Address(Slot = "5")]
		public abstract bool GetButton(string name);

		// Token: 0x06002F7E RID: 12158
		[Token(Token = "0x6002F7E")]
		[Address(Slot = "6")]
		public abstract bool GetButtonDown(string name);

		// Token: 0x06002F7F RID: 12159
		[Token(Token = "0x6002F7F")]
		[Address(Slot = "7")]
		public abstract bool GetButtonUp(string name);

		// Token: 0x06002F80 RID: 12160
		[Token(Token = "0x6002F80")]
		[Address(Slot = "8")]
		public abstract void SetButtonDown(string name);

		// Token: 0x06002F81 RID: 12161
		[Token(Token = "0x6002F81")]
		[Address(Slot = "9")]
		public abstract void SetButtonUp(string name);

		// Token: 0x06002F82 RID: 12162
		[Token(Token = "0x6002F82")]
		[Address(Slot = "10")]
		public abstract void SetAxisPositive(string name);

		// Token: 0x06002F83 RID: 12163
		[Token(Token = "0x6002F83")]
		[Address(Slot = "11")]
		public abstract void SetAxisNegative(string name);

		// Token: 0x06002F84 RID: 12164
		[Token(Token = "0x6002F84")]
		[Address(Slot = "12")]
		public abstract void SetAxisZero(string name);

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

		// Token: 0x06002F86 RID: 12166
		[Token(Token = "0x6002F86")]
		[Address(Slot = "14")]
		public abstract Vector3 MousePosition();

		// Token: 0x06002F87 RID: 12167 RVA: 0x00067F1C File Offset: 0x0006611C
		[Token(Token = "0x6002F87")]
		[Address(RVA = "0x4B2250", Offset = "0x4B1250", VA = "0x1804B2250")]
		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: 0x040037EA RID: 14314
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40037EA")]
		protected Dictionary<string, CrossPlatformInputManager.VirtualAxis> m_VirtualAxes;

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

		// Token: 0x040037EC RID: 14316
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x40037EC")]
		protected List<string> m_AlwaysUseVirtual;
	}
}
