aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS_TheReturn/Command.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS_TheReturn/Command.cs')
-rw-r--r--ShiftOS_TheReturn/Command.cs73
1 files changed, 52 insertions, 21 deletions
diff --git a/ShiftOS_TheReturn/Command.cs b/ShiftOS_TheReturn/Command.cs
index 1652a11..85da6ca 100644
--- a/ShiftOS_TheReturn/Command.cs
+++ b/ShiftOS_TheReturn/Command.cs
@@ -28,39 +28,51 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace ShiftOS.Engine {
- public class Command : Attribute {
+namespace ShiftOS.Engine
+{
+ public class Command : Attribute
+ {
public string name;
public string description = "";
public string usage = "";
public bool hide = false;
- public Command(string name) {
+ public Command(string name)
+ {
this.name = name;
}
- public Command(string name, bool hide) {
+ public Command(string name, bool hide)
+ {
this.name = name;
this.hide = hide;
}
- public Command(string name, string usage, string description) {
+ public Command(string name, string usage, string description)
+ {
this.name = name;
this.description = description;
this.usage = usage;
}
}
- public class RequiresUpgradeAttribute : Attribute {
+ public class RequiresUpgradeAttribute : Attribute
+ {
public string Upgrade { get; set; }
- public bool Installed {
- get {
- if (Upgrade.Contains(";")) {
+ public bool Installed
+ {
+ get
+ {
+ if (Upgrade.Contains(";"))
+ {
string[] split = Upgrade.Split(';');
- foreach (var upg in split) {
+ foreach (var upg in split)
+ {
if (!Shiftorium.UpgradeInstalled(upg))
return false;
}
return true;
- } else {
+ }
+ else
+ {
return Shiftorium.UpgradeInstalled(Upgrade);
}
}
@@ -70,30 +82,36 @@ namespace ShiftOS.Engine {
/// Marks this Form or Command as dependant on this upgrade.
/// </summary>
/// <param name="upg">Upgrade ID - See 'shiftorium.json' in resources for all IDs and their metadata.</param>
- public RequiresUpgradeAttribute(string upg) {
+ public RequiresUpgradeAttribute(string upg)
+ {
Upgrade = upg;
}
}
- public class Namespace : Attribute {
+ public class Namespace : Attribute
+ {
public string name;
public bool hide;
- public Namespace(string n) {
+ public Namespace(string n)
+ {
name = n;
}
- public Namespace(string n, bool hide) {
+ public Namespace(string n, bool hide)
+ {
name = n;
this.hide = hide;
}
}
[AttributeUsage(AttributeTargets.Method)]
- public class CommandObsolete : Attribute {
+ public class CommandObsolete : Attribute
+ {
public string reason;
public string newcommand;
public bool warn;
- public CommandObsolete(string reason, string newcommand, bool warn) {
+ public CommandObsolete(string reason, string newcommand, bool warn)
+ {
this.reason = reason; // %n for newcommand
this.newcommand = newcommand;
this.warn = warn;
@@ -101,17 +119,30 @@ namespace ShiftOS.Engine {
}
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
- public class RequiresArgument : Attribute {
+ public class RequiresArgument : Attribute
+ {
public string argument;
- public RequiresArgument(string argument) {
+ public RequiresArgument(string argument)
+ {
this.argument = argument;
}
- public override object TypeId {
- get {
+ public override object TypeId
+ {
+ get
+ {
return this;
}
}
}
+
+ [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
+ public class RemoteLockAttribute : Attribute
+ {
+ /// <summary>
+ /// When used on a terminal command, it will prevent that command from being invoked by a remote user (over MUD terminal forwarding).
+ /// </summary>
+ public RemoteLockAttribute() { }
+ }
}