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; }*/ }