Added permissions description dump
This commit is contained in:
parent
b06ec57819
commit
3ce05162cd
2 changed files with 38 additions and 4 deletions
|
|
@ -238,7 +238,7 @@ namespace TShockAPI
|
||||||
|
|
||||||
var def = field.GetValue(defaults);
|
var def = field.GetValue(defaults);
|
||||||
|
|
||||||
sb.AppendLine("# {0} ".SFormat(name));
|
sb.AppendLine("## {0} ".SFormat(name));
|
||||||
sb.AppendLine("**Type:** {0} ".SFormat(type));
|
sb.AppendLine("**Type:** {0} ".SFormat(type));
|
||||||
sb.AppendLine("**Description:** {0} ".SFormat(desc));
|
sb.AppendLine("**Description:** {0} ".SFormat(desc));
|
||||||
sb.AppendLine("**Default:** \"{0}\" ".SFormat(def));
|
sb.AppendLine("**Default:** \"{0}\" ".SFormat(def));
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
|
|
@ -122,9 +123,6 @@ namespace TShockAPI
|
||||||
[Description("")]
|
[Description("")]
|
||||||
public static readonly string heal;
|
public static readonly string heal;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static Permissions()
|
static Permissions()
|
||||||
{
|
{
|
||||||
foreach (var field in typeof(Permissions).GetFields())
|
foreach (var field in typeof(Permissions).GetFields())
|
||||||
|
|
@ -132,6 +130,42 @@ namespace TShockAPI
|
||||||
field.SetValue(null, field.Name);
|
field.SetValue(null, field.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static List<Command> GetCommands(string perm)
|
||||||
|
{
|
||||||
|
if (Commands.ChatCommands.Count < 1)
|
||||||
|
Commands.InitCommands();
|
||||||
|
return Commands.ChatCommands.Where(c => c.Permission == perm).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void DumpDescriptions()
|
||||||
|
{
|
||||||
|
var sb = new StringBuilder();
|
||||||
|
foreach (var field in typeof(Permissions).GetFields())
|
||||||
|
{
|
||||||
|
var name = field.Name;
|
||||||
|
|
||||||
|
var descattr = field.GetCustomAttributes(false).FirstOrDefault(o => o is DescriptionAttribute) as DescriptionAttribute;
|
||||||
|
var desc = descattr != null && !string.IsNullOrWhiteSpace(descattr.Description) ? descattr.Description : "None";
|
||||||
|
|
||||||
|
var commands = GetCommands(name);
|
||||||
|
foreach (var c in commands)
|
||||||
|
{
|
||||||
|
for (var i = 0; i < c.Names.Count; i++)
|
||||||
|
{
|
||||||
|
c.Names[i] = "/" + c.Names[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var strs = commands.Select(c => c.Name + (c.Names.Count > 1 ? "({0})".SFormat(string.Join(" ", c.Names.ToArray(), 1, c.Names.Count - 1)) : ""));
|
||||||
|
|
||||||
|
sb.AppendLine("## <a name=\"{0}\">{0} ".SFormat(name));
|
||||||
|
sb.AppendLine("**Description:** {0} ".SFormat(desc));
|
||||||
|
sb.AppendLine("**Commands:** {0} ".SFormat(strs.Count() > 0 ? string.Join(" ", strs) : "None"));
|
||||||
|
sb.AppendLine();
|
||||||
|
}
|
||||||
|
|
||||||
|
File.WriteAllText("PermissionsDescriptions.txt", sb.ToString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[AttributeUsage(AttributeTargets.Field, Inherited = false, AllowMultiple = false)]
|
[AttributeUsage(AttributeTargets.Field, Inherited = false, AllowMultiple = false)]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue