Add additional metadata to lobby options.

This commit is contained in:
Paul Chote
2017-12-09 20:17:39 +00:00
committed by reaperrr
parent b71b2ad523
commit 97cdce7448
19 changed files with 171 additions and 18 deletions

View File

@@ -23,9 +23,12 @@ namespace OpenRA.Mods.Common.Traits
public readonly string ID = null;
[FieldLoader.Require]
[Desc("Display name for this option.")]
[Desc("Descriptive label for this option.")]
public readonly string Label = null;
[Desc("Tooltip description for this option.")]
public readonly string Description = null;
[FieldLoader.Require]
[Desc("Default option key in the `Values` list.")]
public readonly string Default = null;
@@ -37,11 +40,18 @@ namespace OpenRA.Mods.Common.Traits
[Desc("Prevent the option from being changed from its default value.")]
public readonly bool Locked = false;
[Desc("Whether to display the option in the lobby.")]
public readonly bool Visible = true;
[Desc("Display order for the option in the lobby.")]
public readonly int DisplayOrder = 0;
IEnumerable<LobbyOption> ILobbyOptions.LobbyOptions(Ruleset rules)
{
yield return new LobbyOption(ID, Label,
yield return new LobbyOption(ID, Label, Description,
Visible, DisplayOrder,
new ReadOnlyDictionary<string, string>(Values),
Default, Locked);
Default, Locked);
}
public object Create(ActorInitializer init) { return new ScriptLobbyDropdown(this); }