using System;
using Cpp2IlInjected;
using UnityEngine;

namespace AmplifyColor
{
	// Token: 0x0200061A RID: 1562
	[Token(Token = "0x200061A")]
	[Serializable]
	public class VersionInfo
	{
		// Token: 0x06003118 RID: 12568 RVA: 0x00066E00 File Offset: 0x00065000
		[Token(Token = "0x6003118")]
		[Address(RVA = "0x8C6810", Offset = "0x8C5610", VA = "0x1808C6810")]
		public static string StaticToString()
		{
			byte b;
			byte b2;
			byte b3;
			string text = string.Format("{0}.{1}.{2}", b, b2, b3);
			string trialSuffix = VersionInfo.TrialSuffix;
			string stageSuffix = VersionInfo.StageSuffix;
			return text + stageSuffix + trialSuffix;
		}

		// Token: 0x06003119 RID: 12569 RVA: 0x00066E38 File Offset: 0x00065038
		[Token(Token = "0x6003119")]
		[Address(RVA = "0x8C6900", Offset = "0x8C5700", VA = "0x1808C6900", Slot = "3")]
		public override string ToString()
		{
			int major = this.m_major;
			int minor = this.m_minor;
			int release = this.m_release;
			string text = string.Format("{0}.{1}.{2}", major, major, major);
			string trialSuffix = VersionInfo.TrialSuffix;
			string stageSuffix = VersionInfo.StageSuffix;
			return text + stageSuffix + trialSuffix;
		}

		// Token: 0x170003C0 RID: 960
		// (get) Token: 0x0600311A RID: 12570 RVA: 0x00066E84 File Offset: 0x00065084
		[Token(Token = "0x170003C0")]
		public int Number
		{
			[Token(Token = "0x600311A")]
			[Address(RVA = "0x8C6AF0", Offset = "0x8C58F0", VA = "0x1808C6AF0")]
			get
			{
				return this.m_release;
			}
		}

		// Token: 0x0600311B RID: 12571 RVA: 0x00066E98 File Offset: 0x00065098
		[Token(Token = "0x600311B")]
		[Address(RVA = "0x8C6A70", Offset = "0x8C5870", VA = "0x1808C6A70")]
		private VersionInfo()
		{
			this.m_major = (int)((ulong)1L);
			this.m_minor = (int)((ulong)8L);
			this.m_release = (int)((ulong)2L);
		}

		// Token: 0x0600311C RID: 12572 RVA: 0x00066EC8 File Offset: 0x000650C8
		[Token(Token = "0x600311C")]
		[Address(RVA = "0x8C6AA0", Offset = "0x8C58A0", VA = "0x1808C6AA0")]
		private VersionInfo(byte major, byte minor, byte release)
		{
			this.m_major = (int)major;
			this.m_release = (int)release;
			this.m_minor = (int)minor;
		}

		// Token: 0x0600311D RID: 12573 RVA: 0x00066EF0 File Offset: 0x000650F0
		[Token(Token = "0x600311D")]
		[Address(RVA = "0x8C6780", Offset = "0x8C5580", VA = "0x1808C6780")]
		public static VersionInfo Current()
		{
			return new VersionInfo
			{
				m_major = (int)((ulong)1L),
				m_minor = (int)((ulong)8L),
				m_release = (int)((ulong)2L)
			};
		}

		// Token: 0x0600311E RID: 12574 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600311E")]
		[Address(RVA = "0x8C67E0", Offset = "0x8C55E0", VA = "0x1808C67E0")]
		public static bool Matches(VersionInfo version)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600311F RID: 12575 RVA: 0x000020D3 File Offset: 0x000002D3
		// Note: this type is marked as 'beforefieldinit'.
		[Token(Token = "0x600311F")]
		[Address(RVA = "0x8C6A00", Offset = "0x8C5800", VA = "0x1808C6A00")]
		static VersionInfo()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003AF5 RID: 15093
		[Token(Token = "0x4003AF5")]
		public const byte Major = 1;

		// Token: 0x04003AF6 RID: 15094
		[Token(Token = "0x4003AF6")]
		public const byte Minor = 8;

		// Token: 0x04003AF7 RID: 15095
		[Token(Token = "0x4003AF7")]
		public const byte Release = 2;

		// Token: 0x04003AF8 RID: 15096
		[Token(Token = "0x4003AF8")]
		private static string StageSuffix;

		// Token: 0x04003AF9 RID: 15097
		[Token(Token = "0x4003AF9")]
		private static string TrialSuffix;

		// Token: 0x04003AFA RID: 15098
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4003AFA")]
		[SerializeField]
		private int m_major;

		// Token: 0x04003AFB RID: 15099
		[FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4003AFB")]
		[SerializeField]
		private int m_minor;

		// Token: 0x04003AFC RID: 15100
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003AFC")]
		[SerializeField]
		private int m_release;
	}
}
