备份CatanBuilding瘦身独立工程
This commit is contained in:
100
Assets/Scripts/AOTScripts/VersionTool.cs
Normal file
100
Assets/Scripts/AOTScripts/VersionTool.cs
Normal file
@@ -0,0 +1,100 @@
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.IO;
|
||||
|
||||
public class VersionTool : IComparable<VersionTool>
|
||||
{
|
||||
public const string Build_Ver_File_Name = "buildver.txt";
|
||||
public static string PackVer
|
||||
{
|
||||
get
|
||||
{
|
||||
string[] splitVersion = Application.version.Split('.');
|
||||
return $"{splitVersion[0]}_{splitVersion[1]}";
|
||||
}
|
||||
}
|
||||
|
||||
public int Major { get; private set; }
|
||||
public int Minor { get; private set; }
|
||||
public string Build { get; private set; }
|
||||
|
||||
private VersionTool(int major, int minor, string build)
|
||||
{
|
||||
Major = major;
|
||||
Minor = minor;
|
||||
Build = build;
|
||||
}
|
||||
|
||||
public static VersionTool FromString(string version)
|
||||
{
|
||||
string[] splitVersion = version.Split('.');
|
||||
return new VersionTool(int.Parse(splitVersion[0]), int.Parse(splitVersion[1]), splitVersion[2]);
|
||||
}
|
||||
|
||||
public static VersionTool FromLocal()
|
||||
{
|
||||
string appVerStr = Application.version;
|
||||
string [] splitVersion = appVerStr.Split('.');
|
||||
return new VersionTool(int.Parse(splitVersion[0]), int.Parse(splitVersion[1]), GetLoacalBuild());
|
||||
}
|
||||
|
||||
private static string GetLoacalBuild()
|
||||
{
|
||||
var persisterBVerFile = $"{Application.persistentDataPath}/{Build_Ver_File_Name}";
|
||||
if(File.Exists(persisterBVerFile))
|
||||
{
|
||||
return File.ReadAllText(persisterBVerFile);
|
||||
}
|
||||
if (BetterStreamingAssets.FileExists(Build_Ver_File_Name))
|
||||
return BetterStreamingAssets.ReadAllText(Build_Ver_File_Name);
|
||||
return "None";
|
||||
}
|
||||
|
||||
public int CompareTo(VersionTool other)
|
||||
{
|
||||
int result = Major.CompareTo(other.Major);
|
||||
if (result == 0)
|
||||
{
|
||||
result = Minor.CompareTo(other.Minor);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static bool operator >(VersionTool a, VersionTool b)
|
||||
{
|
||||
return a.CompareTo(b) > 0;
|
||||
}
|
||||
|
||||
public static bool operator <(VersionTool a, VersionTool b)
|
||||
{
|
||||
return a.CompareTo(b) < 0;
|
||||
}
|
||||
public static bool operator ==(VersionTool a, VersionTool b)
|
||||
{
|
||||
return a.CompareTo(b) == 0;
|
||||
}
|
||||
|
||||
public static bool operator !=(VersionTool a, VersionTool b)
|
||||
{
|
||||
return a.CompareTo(b) !=0 ;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"Ver {Major}_{Minor}_{Build}";
|
||||
}
|
||||
|
||||
public string ToVerString()
|
||||
{
|
||||
Debug.Log($"{Major}.{Minor}.{Build}");
|
||||
return $"{Major}.{Minor}.{Build}";
|
||||
}
|
||||
|
||||
public void Save()
|
||||
{
|
||||
var persisterBVerFile = $"{Application.persistentDataPath}/{Build_Ver_File_Name}";
|
||||
File.Delete(persisterBVerFile);
|
||||
File.WriteAllText(persisterBVerFile, Build);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user