using System; namespace BizHawk.Client.ApiHawk { /// /// This class holds logic interaction for the ExternalToolAttribute /// This attribute helps BizHawk to handle ExternalTools /// [AttributeUsage(AttributeTargets.Assembly)] public sealed class BizHawkExternalToolAttribute : Attribute { #region cTor(s) /// /// Initialize a new instance of /// /// Tool's name /// Small description about the tool itself /// Icon embedded resource name public BizHawkExternalToolAttribute(string name, string description, string iconResourceName) { Name = name; Description = description; IconResourceName = iconResourceName; } /// /// Initialize a new instance of /// /// Tool's name /// Small description about the tool itself public BizHawkExternalToolAttribute(string name, string description) : this(name, description, "") { } /// /// Initialize a new instance of /// /// Tool's name public BizHawkExternalToolAttribute(string name) :this(name, "", "") {} #endregion #region Properties /// /// Gets tool's friendly name /// public string Name { get; } /// /// Gets tool's description /// public string Description { get; } /// /// Get the name of the embedded resource icon /// /// Don't forget to set compile => Embedded resource to the icon file in your project public string IconResourceName { get; } #endregion } }