65 lines
1.8 KiB
C#
65 lines
1.8 KiB
C#
/*
|
||
* @Author: 白哉
|
||
* @Description:
|
||
* @Date: 2025年07月25日 星期五 14:07:09
|
||
* @Modify:
|
||
*/
|
||
|
||
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using Logic.Multilingual;
|
||
using UnityEngine;
|
||
|
||
|
||
namespace Logic.Config
|
||
{
|
||
public class VersionConfig : ScriptableObject
|
||
{
|
||
public uint CurVersionId; // 当前版本ID
|
||
public List<VersionInfo> Versions = new List<VersionInfo>();
|
||
public VersionInfo CurVersionInfo => GetVersionInfo(CurVersionId);
|
||
|
||
public uint CurVersionMajorId => CurVersionId / 10000;
|
||
public uint CurVersionMinorId => CurVersionId % 10000 / 100;
|
||
public uint CurVersionPatchId => CurVersionId % 100;
|
||
|
||
|
||
|
||
public void CreateNewVersion(uint major, uint minor, uint patch)
|
||
{
|
||
var newVersion = new VersionInfo
|
||
{
|
||
MajorVersion = major,
|
||
MinorVersion = minor,
|
||
PatchVersion = patch
|
||
};
|
||
Versions.Add(newVersion);
|
||
}
|
||
|
||
public VersionInfo GetVersionInfo(uint versionId)
|
||
{
|
||
if (Versions == null || Versions.Count == 0) return null;
|
||
foreach (var version in Versions)
|
||
{
|
||
if (version.VersionId == versionId) return version;
|
||
}
|
||
return null;
|
||
}
|
||
|
||
|
||
}
|
||
|
||
[Serializable]
|
||
public class VersionInfo
|
||
{
|
||
public uint MajorVersion; // 主版本号
|
||
public uint MinorVersion; // 次版本号
|
||
public uint PatchVersion; // 补丁号
|
||
[MultilingualField]
|
||
public string Description; // 版本描述
|
||
|
||
public uint VersionId => MajorVersion * 10000 + MinorVersion * 100 + PatchVersion; // 版本ID,格式为 Major.Minor.Patch
|
||
public string FullVersion => $"{MajorVersion}.{MinorVersion}.{PatchVersion}";
|
||
}
|
||
} |