#region Arthea License /*********************************************************************** * Arthea MUD by R. Jennings (2007) http://arthea.googlecode.com/ * * By using this code you comply with the Artistic and GPLv2 Licenses. * ***********************************************************************/ #endregion using Arthea.Connections.Players; using Arthea.Environment; namespace Arthea.Commands.Information { /// <summary> /// Implements a help command. /// </summary> public class HelpCommand : Command { #region [rgn] Constructors (1) /// <summary> /// Initializes a new instance of the <see cref="HelpCommand"/> class. /// </summary> public HelpCommand() : base("help", "displays help for given keyword") { } #endregion [rgn] #region [rgn] Methods (1) // [rgn] Public Methods (1) /// <summary> /// Processes the command for a player. /// </summary> /// <param name="player">The player.</param> /// <param name="argument">The argument.</param> public override void Process(Player player, String argument) { if (!argument) { new CommandsCommand().Process(player, argument); return; } Help help = Lists.Helps.FindKeyword(argument); if (help == null) { player.WriteLine("No help on that keyword."); return; } if (help.Level > player.Level) { player.WriteLine("You are not authorized to view help on that subject."); return; } player.WriteLine(help.Keywords); player.DrawLine(); player.WriteLine(help.Text); player.DrawLine(); player.WriteLine(help.SeeAlso); } #endregion [rgn] } }