using System;
using Cpp2IlInjected;
using UnityEngine;

namespace AmplifyColor
{
	// Token: 0x02000672 RID: 1650
	[Token(Token = "0x2000672")]
	[Serializable]
	public class VersionInfo
	{
		// Token: 0x060033E1 RID: 13281 RVA: 0x0006DFC0 File Offset: 0x0006C1C0
		[Token(Token = "0x60033E1")]
		[Address(RVA = "0x4AFA10", Offset = "0x4AEA10", VA = "0x1804AFA10")]
		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: 0x060033E2 RID: 13282 RVA: 0x0006DFF8 File Offset: 0x0006C1F8
		[Token(Token = "0x60033E2")]
		[Address(RVA = "0x4AFB00", Offset = "0x4AEB00", VA = "0x1804AFB00", 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: 0x170003E5 RID: 997
		// (get) Token: 0x060033E3 RID: 13283 RVA: 0x0006E044 File Offset: 0x0006C244
		[Token(Token = "0x170003E5")]
		public int Number
		{
			[Token(Token = "0x60033E3")]
			[Address(RVA = "0x4AFCF0", Offset = "0x4AECF0", VA = "0x1804AFCF0")]
			get
			{
				return this.m_release;
			}
		}

		// Token: 0x060033E4 RID: 13284 RVA: 0x0006E058 File Offset: 0x0006C258
		[Token(Token = "0x60033E4")]
		[Address(RVA = "0x4AFC70", Offset = "0x4AEC70", VA = "0x1804AFC70")]
		private VersionInfo()
		{
			this.m_major = (int)((ulong)1L);
			this.m_minor = (int)((ulong)8L);
			this.m_release = (int)((ulong)2L);
		}

		// Token: 0x060033E5 RID: 13285 RVA: 0x0006E088 File Offset: 0x0006C288
		[Token(Token = "0x60033E5")]
		[Address(RVA = "0x4AFCA0", Offset = "0x4AECA0", VA = "0x1804AFCA0")]
		private VersionInfo(byte major, byte minor, byte release)
		{
			this.m_major = (int)major;
			this.m_release = (int)release;
			this.m_minor = (int)minor;
		}

		// Token: 0x060033E6 RID: 13286 RVA: 0x0006E0B0 File Offset: 0x0006C2B0
		[Token(Token = "0x60033E6")]
		[Address(RVA = "0x4AF980", Offset = "0x4AE980", VA = "0x1804AF980")]
		public static VersionInfo Current()
		{
			return new VersionInfo
			{
				m_major = (int)((ulong)1L),
				m_minor = (int)((ulong)8L),
				m_release = (int)((ulong)2L)
			};
		}

		// Token: 0x060033E7 RID: 13287 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60033E7")]
		[Address(RVA = "0x4AF9E0", Offset = "0x4AE9E0", VA = "0x1804AF9E0")]
		public static bool Matches(VersionInfo version)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060033E8 RID: 13288 RVA: 0x000020D3 File Offset: 0x000002D3
		// Note: this type is marked as 'beforefieldinit'.
		[Token(Token = "0x60033E8")]
		[Address(RVA = "0x4AFC00", Offset = "0x4AEC00", VA = "0x1804AFC00")]
		static VersionInfo()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003DDF RID: 15839
		[Token(Token = "0x4003DDF")]
		public const byte Major = 1;

		// Token: 0x04003DE0 RID: 15840
		[Token(Token = "0x4003DE0")]
		public const byte Minor = 8;

		// Token: 0x04003DE1 RID: 15841
		[Token(Token = "0x4003DE1")]
		public const byte Release = 2;

		// Token: 0x04003DE2 RID: 15842
		[Token(Token = "0x4003DE2")]
		private static string StageSuffix;

		// Token: 0x04003DE3 RID: 15843
		[Token(Token = "0x4003DE3")]
		private static string TrialSuffix;

		// Token: 0x04003DE4 RID: 15844
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4003DE4")]
		[SerializeField]
		private int m_major;

		// Token: 0x04003DE5 RID: 15845
		[FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4003DE5")]
		[SerializeField]
		private int m_minor;

		// Token: 0x04003DE6 RID: 15846
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003DE6")]
		[SerializeField]
		private int m_release;
	}
}
