A game about forced loneliness, made by TACStudios
1using System;
2
3using UnityEngine;
4
5namespace Unity.PlasticSCM.Editor.UI
6{
7 internal class EditorVersion
8 {
9 internal int Year;
10 internal int Release;
11 internal int Update;
12
13 EditorVersion(int year, int release, int update)
14 {
15 Year = year;
16 Release = release;
17 Update = update;
18 }
19
20
21 public override string ToString()
22 {
23 return String.Format("{0}.{1}.{2}", Year, Release, Update);
24 }
25
26 internal static bool IsCurrentEditorOlderThan(string version)
27 {
28 return IsEditorOlderThan(Application.unityVersion, version);
29 }
30
31 internal static bool IsEditorOlderThan(string versionA, string versionB)
32 {
33 var editorA = Parse(versionA);
34 var editorB = Parse(versionB);
35 if (editorA.Year == editorB.Year)
36 {
37 if (editorA.Release == editorB.Release)
38 {
39 return editorA.Update < editorB.Update;
40 }
41 return editorA.Release < editorB.Release;
42 }
43 return editorA.Year < editorB.Year;
44 }
45
46 static int ParseUpdateString(string version)
47 {
48 int pos = 0;
49 char[] characters = version.ToCharArray();
50 while (Char.IsDigit(characters[pos]))
51 {
52 ++pos;
53 }
54 return int.Parse(version.Substring(0, pos));
55 }
56
57 static EditorVersion Parse(string version)
58 {
59 var versions = version.Split('.');
60
61 var year = 0;
62 year = int.Parse(versions[0]);
63 var release = 0;
64 release = int.Parse(versions[1]);
65 var update = 0;
66 update = ParseUpdateString(versions[2]);
67
68 return new EditorVersion(year, release, update);
69 }
70 }
71}