Dalamud/Dalamud/Game/Config/GameConfigOptionAttribute.cs
goat 448b0d16ea
Add "loading dialog" for service init, unify blocking logic (#1779)
* wip

* hacky fix for overlapping event text in profiler

* move IsResumeGameAfterPluginLoad logic to PluginManager

* fix some warnings

* handle exceptions properly

* remove ability to cancel, rename button to "hide" instead

* undo Dalamud.Service refactor for now

* warnings

* add explainer, show which plugins are still loading

* add some text if loading takes more than 3 minutes

* undo wrong CS merge
2024-04-21 17:28:37 +02:00

36 lines
1.1 KiB
C#

namespace Dalamud.Game.Config;
/// <summary>
/// An attribute for defining GameConfig options.
/// </summary>
[AttributeUsage(AttributeTargets.Field)]
public class GameConfigOptionAttribute : Attribute
{
/// <summary>
/// Initializes a new instance of the <see cref="GameConfigOptionAttribute"/> class.
/// </summary>
/// <param name="name">Name of the config option.</param>
/// <param name="type">The type of the config option.</param>
/// <param name="settable">False if the game does not take changes to the config option.</param>
public GameConfigOptionAttribute(string name, ConfigType type, bool settable = true)
{
this.Name = name;
this.Type = type;
this.Settable = settable;
}
/// <summary>
/// Gets the Name of the config option.
/// </summary>
public string Name { get; }
/// <summary>
/// Gets the type of the config option.
/// </summary>
public ConfigType Type { get; }
/// <summary>
/// Gets a value indicating whether the config option will update immediately or not.
/// </summary>
public bool Settable { get; }
}