using System.Threading.Tasks;
namespace Barotrauma.LuaCs.Services;
// TODO: Rework interface to support resource infos.
///
/// Loads XML Style assets from the given content package.
///
public interface IStylesService : IReusableService
{
///
/// Tries to load the styles file for the given and path into a new instance.
///
///
///
///
Task LoadStylesFileAsync(ContentPackage package, ContentPath path);
///
/// Unloads all styles assets and instances.
///
FluentResults.Result UnloadAllStyles();
///
/// Tries to the get the asset by xml asset name, returns null on failure.
///
/// XML Name of the asset.
/// The asset or null if none are found.
GUIFont GetFont(string fontName);
///
/// Tries to the get the asset by xml asset name, returns null on failure.
///
/// XML Name of the asset.
/// The asset or null if none are found.
GUISprite GetSprite(string spriteName);
///
/// Tries to the get the asset by xml asset name, returns null on failure.
///
/// XML Name of the asset.
/// The asset or null if none are found.
GUISpriteSheet GetSpriteSheet(string spriteSheetName);
///
/// Tries to the get the asset by xml asset name, returns null on failure.
///
/// XML Name of the asset.
/// The asset or null if none are found.
GUICursor GetCursor(string cursorName);
///
/// Tries to the get the asset by xml asset name, returns null on failure.
///
/// XML Name of the asset.
/// The asset or null if none are found.
GUIColor GetColor(string colorName);
}