using System;
using Cpp2IlInjected;
using UnityEngine;

namespace Obi
{
	// Token: 0x02000500 RID: 1280
	[Token(Token = "0x2000500")]
	[ExecuteInEditMode]
	[RequireComponent(typeof(Rigidbody))]
	public class ObiRigidbody : MonoBehaviour
	{
		// Token: 0x17000304 RID: 772
		// (get) Token: 0x06002D09 RID: 11529 RVA: 0x0006341C File Offset: 0x0006161C
		[Token(Token = "0x17000304")]
		public IntPtr OniRigidbody
		{
			[Token(Token = "0x6002D09")]
			[Address(RVA = "0x2990A0", Offset = "0x2980A0", VA = "0x1802990A0")]
			get
			{
				return this.oniRigidbody;
			}
		}

		// Token: 0x06002D0A RID: 11530 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D0A")]
		[Address(RVA = "0xE58E60", Offset = "0xE57E60", VA = "0x180E58E60")]
		public void Awake()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D0B RID: 11531 RVA: 0x00063430 File Offset: 0x00061630
		[Token(Token = "0x6002D0B")]
		[Address(RVA = "0xE58F60", Offset = "0xE57F60", VA = "0x180E58F60")]
		public void OnDestroy()
		{
			Oni.DestroyRigidbody(this.oniRigidbody);
			this.oniRigidbody = (IntPtr)((ulong)0L);
		}

		// Token: 0x06002D0C RID: 11532 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D0C")]
		[Address(RVA = "0xE58FA0", Offset = "0xE57FA0", VA = "0x180E58FA0")]
		public void UpdateIfNeeded()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D0D RID: 11533 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D0D")]
		[Address(RVA = "0xE59050", Offset = "0xE58050", VA = "0x180E59050")]
		public void UpdateVelocities()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D0E RID: 11534 RVA: 0x00063454 File Offset: 0x00061654
		[Token(Token = "0x6002D0E")]
		[Address(RVA = "0xE59260", Offset = "0xE58260", VA = "0x180E59260")]
		public ObiRigidbody()
		{
		}

		// Token: 0x0400361D RID: 13853
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x400361D")]
		public bool kinematicForParticles;

		// Token: 0x0400361E RID: 13854
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x400361E")]
		private IntPtr oniRigidbody = (IntPtr)((ulong)0L);

		// Token: 0x0400361F RID: 13855
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x400361F")]
		private Rigidbody unityRigidbody;

		// Token: 0x04003620 RID: 13856
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4003620")]
		private bool dirty = true;

		// Token: 0x04003621 RID: 13857
		[FieldOffset(Offset = "0x31")]
		[Token(Token = "0x4003621")]
		private Oni.Rigidbody adaptor;

		// Token: 0x04003622 RID: 13858
		[FieldOffset(Offset = "0x75")]
		[Token(Token = "0x4003622")]
		private Oni.RigidbodyVelocities oniVelocities;

		// Token: 0x04003623 RID: 13859
		[FieldOffset(Offset = "0x90")]
		[Token(Token = "0x4003623")]
		private Vector3 velocity;

		// Token: 0x04003624 RID: 13860
		[FieldOffset(Offset = "0x9C")]
		[Token(Token = "0x4003624")]
		private Vector3 angularVelocity;
	}
}
