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

// Token: 0x02000324 RID: 804
public class CharacterPushTest : MonoBehaviour
{
	// Token: 0x170025E8 RID: 9704
	// (get) Token: 0x06006D72 RID: 28018 RVA: 0x001BC734 File Offset: 0x001BA934
	public unsafe MoveController Move
	{
		[CallerCount(10)]
		[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, 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: 0x06006D73 RID: 28019 RVA: 0x001BC78C File Offset: 0x001BA98C
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 583082, XrefRangeEnd = 583083, 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: 0x06006D74 RID: 28020 RVA: 0x001BC7E0 File Offset: 0x001BA9E0
	[CallerCount(63)]
	[CachedScanResults(RefRangeStart = 222154, RefRangeEnd = 222217, XrefRangeStart = 222154, XrefRangeEnd = 222217, 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: 0x06006D75 RID: 28021 RVA: 0x001BC82C File Offset: 0x001BAA2C
	// 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, 100671410);
		CharacterPushTest.NativeMethodInfoPtr_SetForcePush_Public_Void_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CharacterPushTest>.NativeClassPtr, 100671411);
		CharacterPushTest.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CharacterPushTest>.NativeClassPtr, 100671412);
	}

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

	// Token: 0x170025E6 RID: 9702
	// (get) Token: 0x06006D77 RID: 28023 RVA: 0x001BC8C0 File Offset: 0x001BAAC0
	// (set) Token: 0x06006D78 RID: 28024 RVA: 0x001BC8F4 File Offset: 0x001BAAF4
	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: 0x170025E7 RID: 9703
	// (get) Token: 0x06006D79 RID: 28025 RVA: 0x001BC91C File Offset: 0x001BAB1C
	// (set) Token: 0x06006D7A RID: 28026 RVA: 0x001BC950 File Offset: 0x001BAB50
	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: 0x040048CB RID: 18635
	private static readonly IntPtr NativeFieldInfoPtr_move;

	// Token: 0x040048CC RID: 18636
	private static readonly IntPtr NativeFieldInfoPtr_controller;

	// Token: 0x040048CD RID: 18637
	private static readonly IntPtr NativeMethodInfoPtr_get_Move_Public_get_MoveController_0;

	// Token: 0x040048CE RID: 18638
	private static readonly IntPtr NativeMethodInfoPtr_SetForcePush_Public_Void_Vector3_0;

	// Token: 0x040048CF RID: 18639
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
