using System;
using Cpp2IlInjected;
using UnityEngine;

namespace Obi
{
	// Token: 0x020004A8 RID: 1192
	[Token(Token = "0x20004A8")]
	[ExecuteInEditMode]
	[RequireComponent(typeof(Rigidbody))]
	public class ObiRigidbody : MonoBehaviour
	{
		// Token: 0x170002DF RID: 735
		// (get) Token: 0x06002A40 RID: 10816 RVA: 0x0005C058 File Offset: 0x0005A258
		[Token(Token = "0x170002DF")]
		public IntPtr OniRigidbody
		{
			[Token(Token = "0x6002A40")]
			[Address(RVA = "0x28C210", Offset = "0x28B010", VA = "0x18028C210")]
			get
			{
				return this.oniRigidbody;
			}
		}

		// Token: 0x06002A41 RID: 10817 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A41")]
		[Address(RVA = "0xD27CF0", Offset = "0xD26AF0", VA = "0x180D27CF0")]
		public void Awake()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A42 RID: 10818 RVA: 0x0005C06C File Offset: 0x0005A26C
		[Token(Token = "0x6002A42")]
		[Address(RVA = "0xD27DF0", Offset = "0xD26BF0", VA = "0x180D27DF0")]
		public void OnDestroy()
		{
			Oni.DestroyRigidbody(this.oniRigidbody);
			this.oniRigidbody = (IntPtr)((ulong)0L);
		}

		// Token: 0x06002A43 RID: 10819 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A43")]
		[Address(RVA = "0xD27E30", Offset = "0xD26C30", VA = "0x180D27E30")]
		public void UpdateIfNeeded()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A44 RID: 10820 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A44")]
		[Address(RVA = "0xD27EE0", Offset = "0xD26CE0", VA = "0x180D27EE0")]
		public void UpdateVelocities()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A45 RID: 10821 RVA: 0x0005C090 File Offset: 0x0005A290
		[Token(Token = "0x6002A45")]
		[Address(RVA = "0xD280F0", Offset = "0xD26EF0", VA = "0x180D280F0")]
		public ObiRigidbody()
		{
		}

		// Token: 0x04003333 RID: 13107
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003333")]
		public bool kinematicForParticles;

		// Token: 0x04003334 RID: 13108
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4003334")]
		private IntPtr oniRigidbody = (IntPtr)((ulong)0L);

		// Token: 0x04003335 RID: 13109
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4003335")]
		private Rigidbody unityRigidbody;

		// Token: 0x04003336 RID: 13110
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4003336")]
		private bool dirty = true;

		// Token: 0x04003337 RID: 13111
		[FieldOffset(Offset = "0x31")]
		[Token(Token = "0x4003337")]
		private Oni.Rigidbody adaptor;

		// Token: 0x04003338 RID: 13112
		[FieldOffset(Offset = "0x75")]
		[Token(Token = "0x4003338")]
		private Oni.RigidbodyVelocities oniVelocities;

		// Token: 0x04003339 RID: 13113
		[FieldOffset(Offset = "0x90")]
		[Token(Token = "0x4003339")]
		private Vector3 velocity;

		// Token: 0x0400333A RID: 13114
		[FieldOffset(Offset = "0x9C")]
		[Token(Token = "0x400333A")]
		private Vector3 angularVelocity;
	}
}
