Added LuaCs package lookup to the info provider.

This commit is contained in:
MapleWheels
2026-02-09 17:18:50 -05:00
parent 95376622fa
commit dc1093eeed
2 changed files with 35 additions and 1 deletions

View File

@@ -1,4 +1,8 @@
namespace Barotrauma.LuaCs;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Barotrauma.LuaCs;
public sealed class LuaCsInfoProvider : ILuaCsInfoProvider
{
@@ -15,4 +19,29 @@ public sealed class LuaCsInfoProvider : ILuaCsInfoProvider
public bool RestrictMessageSize => GameMain.LuaCs.RestrictMessageSize;
public string LocalDataSavePath => GameMain.LuaCs.LocalDataSavePath;
public RunState CurrentRunState => GameMain.LuaCs.CurrentRunState;
public ContentPackage LuaCsForBarotraumaPackage
{
get
{
var luaCs = FirstOrDefaultLua(ContentPackageManager.EnabledPackages.All);
if (luaCs == null)
{
luaCs = FirstOrDefaultLua(ContentPackageManager.LocalPackages.Regular);
}
if (luaCs == null)
{
luaCs = FirstOrDefaultLua(ContentPackageManager.WorkshopPackages.Regular);
}
return luaCs;
ContentPackage FirstOrDefaultLua(IEnumerable<ContentPackage> packages)
{
return packages.FirstOrDefault(p =>
p.Name.Equals("LuaCsForBarotrauma", StringComparison.InvariantCultureIgnoreCase)
|| p.Name.Equals("Lua for Barotrauma", StringComparison.InvariantCultureIgnoreCase));
}
}
}
}

View File

@@ -39,4 +39,9 @@ public interface ILuaCsInfoProvider : IService
/// The current state of the Execution State Machine.
/// </summary>
public RunState CurrentRunState { get; }
/// <summary>
/// Returns the best-matching LuaCsForBarotrauma package (enabled list > localMods > WorkshopMods).
/// </summary>
public ContentPackage LuaCsForBarotraumaPackage { get; }
}