mirror of
https://github.com/aelurum/AssetStudio.git
synced 2026-11-14 11:18:47 -05:00
Extend UnityVersion class to compare build numbers
This commit is contained in:
@@ -753,7 +753,7 @@ namespace AssetStudio
|
||||
{
|
||||
m_Binding = new ValueArrayConstant(reader);
|
||||
}
|
||||
if (version.IsTuanjie && (version > (2022, 3, 48) || (version == (2022, 3, 48) && version.Build >= 3))) //2022.3.48t3(1.4.0) and up
|
||||
if (version.IsTuanjie && version >= (2022, 3, 48, 3)) //2022.3.48t3(1.4.0) and up
|
||||
{
|
||||
m_ACLClip = new ACLClip(reader);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
var m_UpdateMode = reader.ReadInt32();
|
||||
}
|
||||
|
||||
if (version.IsTuanjie && (version > (2022, 3, 48) || version == (2022, 3, 48) && version.Build >= 7)) //2022.3.48t7(1.4.4) and up
|
||||
if (version.IsTuanjie && version >= (2022, 3, 48, 7)) //2022.3.48t7(1.4.4) and up
|
||||
{
|
||||
var m_UpdateFrequencyMode = reader.ReadInt32();
|
||||
var m_UpdateFrequency = reader.ReadSingle();
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace AssetStudio
|
||||
}
|
||||
|
||||
var m_Layer = reader.ReadInt32();
|
||||
if (version.IsTuanjie && (version > (2022, 3, 2) || (version == (2022, 3, 2) && version.Build >= 11))) //2022.3.2t11(1.1.3) and up
|
||||
if (version.IsTuanjie && version >= (2022, 3, 2, 11)) //2022.3.2t11(1.1.3) and up
|
||||
{
|
||||
var m_HasEditorInfo = reader.ReadBoolean();
|
||||
reader.AlignStream();
|
||||
|
||||
@@ -805,7 +805,7 @@ namespace AssetStudio
|
||||
m_StreamData = new StreamingInfo(reader);
|
||||
}
|
||||
|
||||
if (version.IsTuanjie && (version > (2022, 3, 2) || (version == (2022, 3, 2) && version.Build >= 13))) //2022.3.2t13(1.2.0) and up
|
||||
if (version.IsTuanjie && version >= (2022, 3, 2, 13)) //2022.3.2t13(1.2.0) and up
|
||||
{
|
||||
var m_GenerateGeometryBuffer = reader.ReadBoolean();
|
||||
m_HasVirtualGeometryMesh = reader.ReadBoolean();
|
||||
|
||||
@@ -83,7 +83,7 @@ namespace AssetStudio
|
||||
{
|
||||
var m_MipsStripped = reader.ReadInt32();
|
||||
}
|
||||
if (version.IsTuanjie && (version > (2022, 3, 2) || version.Build >= 8)) //2022.3.2t8(1.1.0) and up
|
||||
if (version.IsTuanjie && version >= (2022, 3, 2, 8)) //2022.3.2t8(1.1.0) and up
|
||||
{
|
||||
var m_WebStreaming = reader.ReadBoolean();
|
||||
reader.AlignStream();
|
||||
|
||||
+127
-1
@@ -210,6 +210,38 @@ namespace AssetStudio
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region UnityVer, (int, int, int, int)
|
||||
public static bool operator ==(UnityVersion left, (int, int, int, int) right)
|
||||
{
|
||||
return (left?.Major, left?.Minor, left?.Patch, left?.Build) == (right.Item1, right.Item2, right.Item3, right.Item4);
|
||||
}
|
||||
|
||||
public static bool operator !=(UnityVersion left, (int, int, int, int) right)
|
||||
{
|
||||
return (left?.Major, left?.Minor, left?.Patch, left?.Build) != (right.Item1, right.Item2, right.Item3, right.Item4);
|
||||
}
|
||||
|
||||
public static bool operator >(UnityVersion left, (int, int, int, int) right)
|
||||
{
|
||||
return left?.CompareTo(right) > 0;
|
||||
}
|
||||
|
||||
public static bool operator <(UnityVersion left, (int, int, int, int) right)
|
||||
{
|
||||
return left?.CompareTo(right) < 0;
|
||||
}
|
||||
|
||||
public static bool operator >=(UnityVersion left, (int, int, int, int) right)
|
||||
{
|
||||
return left == right || left > right;
|
||||
}
|
||||
|
||||
public static bool operator <=(UnityVersion left, (int, int, int, int) right)
|
||||
{
|
||||
return left == right || left < right;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region int, UnityVer
|
||||
public static bool operator ==(int left, UnityVersion right)
|
||||
{
|
||||
@@ -305,7 +337,39 @@ namespace AssetStudio
|
||||
return left == right || left < right;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region (int, int, int, int), UnityVer
|
||||
public static bool operator ==((int, int, int, int) left, UnityVersion right)
|
||||
{
|
||||
return (left.Item1, left.Item2, left.Item3, left.Item4) == (right?.Major, right?.Minor, right?.Patch, right?.Build);
|
||||
}
|
||||
|
||||
public static bool operator !=((int, int, int, int) left, UnityVersion right)
|
||||
{
|
||||
return (left.Item1, left.Item2, left.Item3, left.Item4) != (right?.Major, right?.Minor, right?.Patch, right?.Build);
|
||||
}
|
||||
|
||||
public static bool operator >((int, int, int, int) left, UnityVersion right)
|
||||
{
|
||||
return right?.CompareTo(left) < 0;
|
||||
}
|
||||
|
||||
public static bool operator <((int, int, int, int) left, UnityVersion right)
|
||||
{
|
||||
return right?.CompareTo(left) > 0;
|
||||
}
|
||||
|
||||
public static bool operator >=((int, int, int, int) left, UnityVersion right)
|
||||
{
|
||||
return left == right || left > right;
|
||||
}
|
||||
|
||||
public static bool operator <=((int, int, int, int) left, UnityVersion right)
|
||||
{
|
||||
return left == right || left < right;
|
||||
}
|
||||
#endregion
|
||||
|
||||
private int CompareTo((int, int) other)
|
||||
{
|
||||
var result = Major.CompareTo(other.Item1);
|
||||
@@ -340,6 +404,23 @@ namespace AssetStudio
|
||||
return 0;
|
||||
}
|
||||
|
||||
private int CompareTo((int, int, int, int) other)
|
||||
{
|
||||
var result = CompareTo((other.Item1, other.Item2, other.Item3));
|
||||
if (result != 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
result = Build.CompareTo(other.Item4);
|
||||
if (result != 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
private int CompareTo(UnityVersion other)
|
||||
{
|
||||
return CompareTo((other.Major, other.Minor, other.Patch));
|
||||
@@ -416,6 +497,11 @@ namespace AssetStudio
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, (int, int, int, int) lowerLimit, UnityVersion upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, UnityVersion lowerLimit, int upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver.Major < upperLimit;
|
||||
@@ -431,6 +517,11 @@ namespace AssetStudio
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, UnityVersion lowerLimit, (int, int, int, int) upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, int lowerLimit, int upperLimit)
|
||||
{
|
||||
return ver.Major >= lowerLimit && ver.Major < upperLimit;
|
||||
@@ -446,6 +537,11 @@ namespace AssetStudio
|
||||
return ver.Major >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, int lowerLimit, (int, int, int, int) upperLimit)
|
||||
{
|
||||
return ver.Major >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, (int, int) lowerLimit, int upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver.Major < upperLimit;
|
||||
@@ -456,6 +552,11 @@ namespace AssetStudio
|
||||
return ver >= lowerLimit && ver.Major < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, (int, int, int, int) lowerLimit, int upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver.Major < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, (int, int) lowerLimit, (int, int) upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
@@ -466,6 +567,11 @@ namespace AssetStudio
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, (int, int) lowerLimit, (int, int, int, int) upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, (int, int, int) lowerLimit, (int, int) upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
@@ -475,5 +581,25 @@ namespace AssetStudio
|
||||
{
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, (int, int, int) lowerLimit, (int, int, int, int) upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, (int, int, int, int) lowerLimit, (int, int) upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, (int, int, int, int) lowerLimit, (int, int, int) upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
|
||||
public static bool IsInRange(this UnityVersion ver, (int, int, int, int) lowerLimit, (int, int, int, int) upperLimit)
|
||||
{
|
||||
return ver >= lowerLimit && ver < upperLimit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user