AquaDX/AquaMai.Mods/Types/ConditionalMessage.cs

46 lines
1.2 KiB
C#

using System.Linq;
using AquaMai.Core.Helpers;
using JetBrains.Annotations;
namespace AquaMai.Mods.Types;
public abstract class ConditionalMessage
{
public string[] locales = [];
[CanBeNull] public string minimumAquaMaiVersion = null;
[CanBeNull] public string maximumAquaMaiVersion = null;
public int minimumGameVersion = 0;
public int maximumGameVersion = 0;
public bool ShouldShow()
{
if (locales != null && locales.Length != 0 && !locales.Contains(General.locale))
{
return false;
}
var aquaMaiVersion = new System.Version(Core.BuildInfo.Version);
if (minimumAquaMaiVersion != null && aquaMaiVersion < new System.Version(minimumAquaMaiVersion))
{
return false;
}
if (maximumAquaMaiVersion != null && aquaMaiVersion > new System.Version(maximumAquaMaiVersion))
{
return false;
}
var gameVersion = GameInfo.GameVersion;
if (minimumGameVersion != 0 && gameVersion < minimumGameVersion)
{
return false;
}
if (maximumGameVersion != 0 && gameVersion > maximumGameVersion)
{
return false;
}
return true;
}
}