using System.Numerics; using Microsoft.Xna.Framework; namespace Barotrauma.LuaCs.Configuration; /// /// Contains the Display Data for use with Menus. /// public interface IDisplayableData { /// /// Internal name of the instance. /// string Name { get; } /// /// Internal mod name of the instance. ContentPackage name will be used by default. /// string ModName { get; } /// /// 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; } } public interface IDisplayableInitialize { void Initialize(IDisplayableData values); // copy this as needed /*public void Initialize(IDisplayableData values) { this.Name = values.Name; this.ModName = values.ModName; 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; }*/ }