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

// Token: 0x0200037C RID: 892
public class CharacterPushTest : MonoBehaviour
{
	// Token: 0x17002883 RID: 10371
	// (get) Token: 0x060075C5 RID: 30149 RVA: 0x001DF47C File Offset: 0x001DD67C
	public unsafe MoveController Move
	{
		[CallerCount(10)]
		[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		get
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CharacterPushTest.NativeMethodInfoPtr_get_Move_Public_get_MoveController_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new MoveController(intPtr3) : null;
		}
	}

	// Token: 0x060075C6 RID: 30150 RVA: 0x001DF4D4 File Offset: 0x001DD6D4
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 615266, XrefRangeEnd = 615267, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void SetForcePush(Vector3 direction)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref direction;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CharacterPushTest.NativeMethodInfoPtr_SetForcePush_Public_Void_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x060075C7 RID: 30151 RVA: 0x001DF528 File Offset: 0x001DD728
	[CallerCount(67)]
	[CachedScanResults(RefRangeStart = 166362, RefRangeEnd = 166429, XrefRangeStart = 166362, XrefRangeEnd = 166429, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe CharacterPushTest()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CharacterPushTest>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CharacterPushTest.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060075C8 RID: 30152 RVA: 0x001DF574 File Offset: 0x001DD774
	// Note: this type is marked as 'beforefieldinit'.
	static CharacterPushTest()
	{
		Il2CppClassPointerStore<CharacterPushTest>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "CharacterPushTest");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CharacterPushTest>.NativeClassPtr);
		CharacterPushTest.NativeFieldInfoPtr_move = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CharacterPushTest>.NativeClassPtr, "move");
		CharacterPushTest.NativeFieldInfoPtr_controller = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CharacterPushTest>.NativeClassPtr, "controller");
		CharacterPushTest.NativeMethodInfoPtr_get_Move_Public_get_MoveController_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CharacterPushTest>.NativeClassPtr, 100672123);
		CharacterPushTest.NativeMethodInfoPtr_SetForcePush_Public_Void_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CharacterPushTest>.NativeClassPtr, 100672124);
		CharacterPushTest.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CharacterPushTest>.NativeClassPtr, 100672125);
	}

	// Token: 0x060075C9 RID: 30153 RVA: 0x0000351C File Offset: 0x0000171C
	public CharacterPushTest(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17002881 RID: 10369
	// (get) Token: 0x060075CA RID: 30154 RVA: 0x001DF608 File Offset: 0x001DD808
	// (set) Token: 0x060075CB RID: 30155 RVA: 0x001DF63C File Offset: 0x001DD83C
	public unsafe MoveController move
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CharacterPushTest.NativeFieldInfoPtr_move);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new MoveController(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CharacterPushTest.NativeFieldInfoPtr_move), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17002882 RID: 10370
	// (get) Token: 0x060075CC RID: 30156 RVA: 0x001DF664 File Offset: 0x001DD864
	// (set) Token: 0x060075CD RID: 30157 RVA: 0x001DF698 File Offset: 0x001DD898
	public unsafe CharacterController controller
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CharacterPushTest.NativeFieldInfoPtr_controller);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new CharacterController(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CharacterPushTest.NativeFieldInfoPtr_controller), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04004E74 RID: 20084
	private static readonly IntPtr NativeFieldInfoPtr_move;

	// Token: 0x04004E75 RID: 20085
	private static readonly IntPtr NativeFieldInfoPtr_controller;

	// Token: 0x04004E76 RID: 20086
	private static readonly IntPtr NativeMethodInfoPtr_get_Move_Public_get_MoveController_0;

	// Token: 0x04004E77 RID: 20087
	private static readonly IntPtr NativeMethodInfoPtr_SetForcePush_Public_Void_Vector3_0;

	// Token: 0x04004E78 RID: 20088
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
