You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CrowdControl/Assets/BuildReport/Scripts/Editor/Utility/DldUtil_UnityVersion.cs

88 lines
2.3 KiB
C#

using System;
using UnityEngine;
using System.Collections;
namespace DldUtil
{
public static class UnityVersion
{
public static void GetUnityVersionNumbers(string unityVersionString, out int major, out int minor, out int patch)
{
var splits = unityVersionString.Split(new[] {"Unity", ".", "a", "b", "rc", "f"}, StringSplitOptions.RemoveEmptyEntries);
major = -1;
minor = -1;
patch = -1;
if (splits.Length >= 1)
{
int.TryParse(splits[0], out major);
}
if (splits.Length >= 2)
{
int.TryParse(splits[1], out minor);
}
if (splits.Length >= 3)
{
int.TryParse(splits[2], out patch);
}
}
public static void GetUnityVersionNumbers(out int major, out int minor, out int patch)
{
GetUnityVersionNumbers(Application.unityVersion, out major, out minor, out patch);
//Debug.LogFormat("major: {0}, minor: {1}, patch: {2}", major, minor, patch);
}
public static bool IsUnityVersionAtLeast(int majorAtLeast, int minorAtLeast, int patchAtLeast)
{
int unityMajor;
int unityMinor;
int unityPatch;
GetUnityVersionNumbers(out unityMajor, out unityMinor, out unityPatch);
return (unityMajor >= majorAtLeast) && (unityMinor >= minorAtLeast) && (unityPatch >= patchAtLeast);
}
public static bool IsUnityVersionAtMost(int majorAtMost, int minorAtMost, int patchAtMost)
{
int unityMajor;
int unityMinor;
int unityPatch;
GetUnityVersionNumbers(out unityMajor, out unityMinor, out unityPatch);
return (unityMajor <= majorAtMost) && (unityMinor <= minorAtMost) && (unityPatch <= patchAtMost);
}
public static bool IsUnityVersionAtLeast(string unityVersionString, int majorAtLeast, int minorAtLeast, int patchAtLeast)
{
int unityMajor;
int unityMinor;
int unityPatch;
GetUnityVersionNumbers(unityVersionString, out unityMajor, out unityMinor, out unityPatch);
return (unityMajor >= majorAtLeast) && (unityMinor >= minorAtLeast) && (unityPatch >= patchAtLeast);
}
public static bool IsUnityVersionAtMost(string unityVersionString, int majorAtMost, int minorAtMost, int patchAtMost)
{
int unityMajor;
int unityMinor;
int unityPatch;
GetUnityVersionNumbers(unityVersionString, out unityMajor, out unityMinor, out unityPatch);
return (unityMajor <= majorAtMost) && (unityMinor <= minorAtMost) && (unityPatch <= patchAtMost);
}
}
}