private static void NextCycleNumberOf(ushort cycle, ushort next, bool succeed) { bool actualSucceed = HistoricalUnityVersions.NextCycleNumberOf(cycle, out var actualNext); Assert.AreEqual(succeed, actualSucceed); if (actualSucceed) { Assert.AreEqual(next, actualNext); } }
public void CycleNumberingStyleOf() { Assert.AreEqual(NumberingStyle.Traditional, HistoricalUnityVersions.CycleNumberingStyleOf(2)); Assert.AreEqual(NumberingStyle.Traditional, HistoricalUnityVersions.CycleNumberingStyleOf(5)); Assert.AreEqual(NumberingStyle.DateBased, HistoricalUnityVersions.CycleNumberingStyleOf(2017)); Assert.AreEqual(NumberingStyle.DateBased, HistoricalUnityVersions.CycleNumberingStyleOf(2018)); Assert.Throws <ArgumentOutOfRangeException>(() => HistoricalUnityVersions.CycleNumberingStyleOf(100)); Assert.Throws <ArgumentOutOfRangeException>(() => HistoricalUnityVersions.CycleNumberingStyleOf(3211)); }
public static UnityPlugins CreateTemplate() { var assemblyReferences = CreateAssemblyReferencesTemplate(); var managedProjects = new ProjectDict { ["Full path to your .csproj file."] = new UnityManagedPluginProject { Versions = new VersionInfoDict { ["5.6"] = new VersionInfo { AssemblyReferences = assemblyReferences }, ["2017.1"] = new VersionInfo { AssemblyReferences = assemblyReferences }, ["2017.4"] = new VersionInfo { AssemblyReferences = assemblyReferences } } }, ["Full path to your another .csproj file."] = new UnityManagedPluginProject { ForEditor = true } }; var fallbackVersions = new VersionInfoDict(); var ver = HistoricalUnityVersions.Unity_5_3; do { fallbackVersions.Add(ver.ToString(true), new VersionInfo { AssemblyReferences = assemblyReferences }); } while (HistoricalUnityVersions.NextMajorVersion(ver, out ver)); return(new UnityPlugins { ManagedProjects = managedProjects, DefaultVersions = fallbackVersions }); }
private static string GetDefineConstantsForUnity(bool isDebug, bool forUnityEditor, UnityVersion version) { var directives = new List <string> { "TRACE" }; if (isDebug) { directives.Add("DEBUG"); } if (forUnityEditor) { directives.Add("UNITY_EDITOR"); } if (version != null) { if (version.Major == null) { throw new ArgumentException("Major version number is required.", nameof(version)); } // Unity-5.3 is the minimum unity version that defines X_X_OR_NEWER constants. var directiveVer = HistoricalUnityVersions.Unity_5_3; while (directiveVer != null && directiveVer <= version) { directives.Add($"UNITY_{directiveVer.Cycle}_{directiveVer.Major.Value}_OR_NEWER"); if (!HistoricalUnityVersions.NextMajorVersion(directiveVer, out directiveVer)) { break; } } directives.Add($"UNITY_{version.Cycle}_{version.Major}"); directives.Add($"UNITY_{version.Cycle}"); } return(string.Join(";", directives)); }
private static void NextMajorVersion(UnityVersion current, UnityVersion next) { Assert.IsTrue(HistoricalUnityVersions.NextMajorVersion(current, out var actualNext)); Assert.AreEqual(next, actualNext); }