|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|