using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.Demos
{
	// Token: 0x020003EF RID: 1007
	[Token(Token = "0x20003EF")]
	public class SlowMo : MonoBehaviour
	{
		// Token: 0x0600241C RID: 9244 RVA: 0x0005234C File Offset: 0x0005054C
		[Token(Token = "0x600241C")]
		[Address(RVA = "0x11F3A90", Offset = "0x11F2890", VA = "0x1811F3A90")]
		private void Update()
		{
			if ((!this.mouse0 || !Input.GetMouseButton(0)) && (!this.mouse1 || !Input.GetMouseButton(1)))
			{
				KeyCode[] array = this.keyCodes;
				int num = 0;
				if (num >= array.Length)
				{
					Time.timeScale = 1f;
					return;
				}
				if (!Input.GetKeyInt(array[num]))
				{
					KeyCode[] array2 = this.keyCodes;
					num++;
				}
			}
			Time.timeScale = this.slowMoTimeScale;
		}

		// Token: 0x0600241D RID: 9245 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600241D")]
		[Address(RVA = "0x11F39E0", Offset = "0x11F27E0", VA = "0x1811F39E0")]
		private bool IsSlowMotion()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600241E RID: 9246 RVA: 0x000523C8 File Offset: 0x000505C8
		[Token(Token = "0x600241E")]
		[Address(RVA = "0x11F3B50", Offset = "0x11F2950", VA = "0x1811F3B50")]
		public SlowMo()
		{
		}

		// Token: 0x04002DED RID: 11757
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002DED")]
		[SerializeField]
		private KeyCode[] keyCodes;

		// Token: 0x04002DEE RID: 11758
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002DEE")]
		[SerializeField]
		private bool mouse0;

		// Token: 0x04002DEF RID: 11759
		[FieldOffset(Offset = "0x21")]
		[Token(Token = "0x4002DEF")]
		[SerializeField]
		private bool mouse1;

		// Token: 0x04002DF0 RID: 11760
		[FieldOffset(Offset = "0x24")]
		[Token(Token = "0x4002DF0")]
		[SerializeField]
		private float slowMoTimeScale = 0.3f;
	}
}
