using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using UnityEngine;
using UnityEngine.EventSystems;

namespace Obi.CrossPlatformInput
{
	// Token: 0x02000505 RID: 1285
	public class AxisTouchButton : MonoBehaviour
	{
		// Token: 0x0600920E RID: 37390 RVA: 0x002593C0 File Offset: 0x002575C0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613678, XrefRangeEnd = 613696, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnEnable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTouchButton.NativeMethodInfoPtr_OnEnable_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600920F RID: 37391 RVA: 0x00259404 File Offset: 0x00257604
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 613715, RefRangeEnd = 613717, XrefRangeStart = 613696, XrefRangeEnd = 613715, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void FindPairedButton()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTouchButton.NativeMethodInfoPtr_FindPairedButton_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009210 RID: 37392 RVA: 0x00259448 File Offset: 0x00257648
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613717, XrefRangeEnd = 613719, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTouchButton.NativeMethodInfoPtr_OnDisable_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009211 RID: 37393 RVA: 0x0025948C File Offset: 0x0025768C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613719, XrefRangeEnd = 613726, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual void OnPointerDown(PointerEventData data)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(data);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTouchButton.NativeMethodInfoPtr_OnPointerDown_Public_Virtual_Final_New_Void_PointerEventData_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06009212 RID: 37394 RVA: 0x002594E8 File Offset: 0x002576E8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613726, XrefRangeEnd = 613728, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual void OnPointerUp(PointerEventData data)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(data);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTouchButton.NativeMethodInfoPtr_OnPointerUp_Public_Virtual_Final_New_Void_PointerEventData_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06009213 RID: 37395 RVA: 0x00259544 File Offset: 0x00257744
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 613728, XrefRangeEnd = 613732, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe AxisTouchButton()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTouchButton.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009214 RID: 37396 RVA: 0x00259590 File Offset: 0x00257790
		// Note: this type is marked as 'beforefieldinit'.
		static AxisTouchButton()
		{
			Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi.CrossPlatformInput", "AxisTouchButton");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr);
			AxisTouchButton.NativeFieldInfoPtr_axisName = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, "axisName");
			AxisTouchButton.NativeFieldInfoPtr_axisValue = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, "axisValue");
			AxisTouchButton.NativeFieldInfoPtr_responseSpeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, "responseSpeed");
			AxisTouchButton.NativeFieldInfoPtr_returnToCentreSpeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, "returnToCentreSpeed");
			AxisTouchButton.NativeFieldInfoPtr_m_PairedWith = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, "m_PairedWith");
			AxisTouchButton.NativeFieldInfoPtr_m_Axis = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, "m_Axis");
			AxisTouchButton.NativeMethodInfoPtr_OnEnable_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, 100674635);
			AxisTouchButton.NativeMethodInfoPtr_FindPairedButton_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, 100674636);
			AxisTouchButton.NativeMethodInfoPtr_OnDisable_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, 100674637);
			AxisTouchButton.NativeMethodInfoPtr_OnPointerDown_Public_Virtual_Final_New_Void_PointerEventData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, 100674638);
			AxisTouchButton.NativeMethodInfoPtr_OnPointerUp_Public_Virtual_Final_New_Void_PointerEventData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, 100674639);
			AxisTouchButton.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTouchButton>.NativeClassPtr, 100674640);
		}

		// Token: 0x06009215 RID: 37397 RVA: 0x0000351C File Offset: 0x0000171C
		public AxisTouchButton(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17003180 RID: 12672
		// (get) Token: 0x06009216 RID: 37398 RVA: 0x002596B0 File Offset: 0x002578B0
		// (set) Token: 0x06009217 RID: 37399 RVA: 0x002596D9 File Offset: 0x002578D9
		public unsafe string axisName
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_axisName);
				return IL2CPP.Il2CppStringToManaged(*intPtr);
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_axisName), IL2CPP.ManagedStringToIl2Cpp(value));
			}
		}

		// Token: 0x17003181 RID: 12673
		// (get) Token: 0x06009218 RID: 37400 RVA: 0x00259700 File Offset: 0x00257900
		// (set) Token: 0x06009219 RID: 37401 RVA: 0x00259728 File Offset: 0x00257928
		public unsafe float axisValue
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_axisValue);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_axisValue)) = value;
			}
		}

		// Token: 0x17003182 RID: 12674
		// (get) Token: 0x0600921A RID: 37402 RVA: 0x0025974C File Offset: 0x0025794C
		// (set) Token: 0x0600921B RID: 37403 RVA: 0x00259774 File Offset: 0x00257974
		public unsafe float responseSpeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_responseSpeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_responseSpeed)) = value;
			}
		}

		// Token: 0x17003183 RID: 12675
		// (get) Token: 0x0600921C RID: 37404 RVA: 0x00259798 File Offset: 0x00257998
		// (set) Token: 0x0600921D RID: 37405 RVA: 0x002597C0 File Offset: 0x002579C0
		public unsafe float returnToCentreSpeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_returnToCentreSpeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_returnToCentreSpeed)) = value;
			}
		}

		// Token: 0x17003184 RID: 12676
		// (get) Token: 0x0600921E RID: 37406 RVA: 0x002597E4 File Offset: 0x002579E4
		// (set) Token: 0x0600921F RID: 37407 RVA: 0x00259818 File Offset: 0x00257A18
		public unsafe AxisTouchButton m_PairedWith
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_m_PairedWith);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AxisTouchButton(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_m_PairedWith), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17003185 RID: 12677
		// (get) Token: 0x06009220 RID: 37408 RVA: 0x00259840 File Offset: 0x00257A40
		// (set) Token: 0x06009221 RID: 37409 RVA: 0x00259874 File Offset: 0x00257A74
		public unsafe CrossPlatformInputManager.VirtualAxis m_Axis
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_m_Axis);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new CrossPlatformInputManager.VirtualAxis(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(AxisTouchButton.NativeFieldInfoPtr_m_Axis), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04006159 RID: 24921
		private static readonly IntPtr NativeFieldInfoPtr_axisName;

		// Token: 0x0400615A RID: 24922
		private static readonly IntPtr NativeFieldInfoPtr_axisValue;

		// Token: 0x0400615B RID: 24923
		private static readonly IntPtr NativeFieldInfoPtr_responseSpeed;

		// Token: 0x0400615C RID: 24924
		private static readonly IntPtr NativeFieldInfoPtr_returnToCentreSpeed;

		// Token: 0x0400615D RID: 24925
		private static readonly IntPtr NativeFieldInfoPtr_m_PairedWith;

		// Token: 0x0400615E RID: 24926
		private static readonly IntPtr NativeFieldInfoPtr_m_Axis;

		// Token: 0x0400615F RID: 24927
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Private_Void_0;

		// Token: 0x04006160 RID: 24928
		private static readonly IntPtr NativeMethodInfoPtr_FindPairedButton_Private_Void_0;

		// Token: 0x04006161 RID: 24929
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Private_Void_0;

		// Token: 0x04006162 RID: 24930
		private static readonly IntPtr NativeMethodInfoPtr_OnPointerDown_Public_Virtual_Final_New_Void_PointerEventData_0;

		// Token: 0x04006163 RID: 24931
		private static readonly IntPtr NativeMethodInfoPtr_OnPointerUp_Public_Virtual_Final_New_Void_PointerEventData_0;

		// Token: 0x04006164 RID: 24932
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
