using System.Numerics;
using Barotrauma.LuaCs.Data;
using Microsoft.Xna.Framework;
namespace Barotrauma.LuaCs.Configuration;
///
/// Contains the Display Data for use with Menus.
///
public interface IDisplayableData : IDataInfo
{
///
/// The name to display in GUIs and Menus.
///
string DisplayName { get; }
///
/// The mod name to display in GUIs and Menus.
///
string DisplayModName { get; }
///
/// Category this instance falls under. Used by menus when filtering by category.
///
string DisplayCategory { get; }
///
/// The tooltip shown on hover.
///
string Tooltip { get; }
///
/// The fully qualified filepath to the image icon for this config.
///
string ImageIcon { get; }
///
/// Required if ImageIcon is set. X,Y resolution of the image.
///
Point IconResolution { get; }
///
/// Whether to show the entry in the menu when not loaded.
///
bool ShowWhenNotLoaded { get; }
///
/// What does this setting do?
///
string Description { get; }
}
public interface IDisplayableInitialize
{
void Initialize(IDisplayableData values);
// copy this as needed
/*public void Initialize(IDisplayableData values)
{
this.InternalName = values.InternalName;
this.OwnerPackage = values.OwnerPackage;
this.DisplayName = values.DisplayName;
this.DisplayModName = values.DisplayModName;
this.DisplayCategory = values.DisplayCategory;
this.Tooltip = values.Tooltip;
this.ImageIcon = values.ImageIcon;
this.IconResolution = values.IconResolution;
this.ShowWhenNotLoaded = values.ShowWhenNotLoaded;
}*/
}