using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.Demos
{
	// Token: 0x02000447 RID: 1095
	[Token(Token = "0x2000447")]
	public class SlowMo : MonoBehaviour
	{
		// Token: 0x060026E5 RID: 9957 RVA: 0x000595AC File Offset: 0x000577AC
		[Token(Token = "0x60026E5")]
		[Address(RVA = "0x1461A40", Offset = "0x1460A40", VA = "0x181461A40")]
		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: 0x060026E6 RID: 9958 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60026E6")]
		[Address(RVA = "0x1461990", Offset = "0x1460990", VA = "0x181461990")]
		private bool IsSlowMotion()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060026E7 RID: 9959 RVA: 0x00059628 File Offset: 0x00057828
		[Token(Token = "0x60026E7")]
		[Address(RVA = "0x1461B00", Offset = "0x1460B00", VA = "0x181461B00")]
		public SlowMo()
		{
		}

		// Token: 0x040030D7 RID: 12503
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40030D7")]
		[SerializeField]
		private KeyCode[] keyCodes;

		// Token: 0x040030D8 RID: 12504
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40030D8")]
		[SerializeField]
		private bool mouse0;

		// Token: 0x040030D9 RID: 12505
		[FieldOffset(Offset = "0x21")]
		[Token(Token = "0x40030D9")]
		[SerializeField]
		private bool mouse1;

		// Token: 0x040030DA RID: 12506
		[FieldOffset(Offset = "0x24")]
		[Token(Token = "0x40030DA")]
		[SerializeField]
		private float slowMoTimeScale = 0.3f;
	}
}
