#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.Continents.Areas.Items;
using Arthea.Continents.Areas.Rooms;
using Arthea.Environment;
namespace Arthea.Commands.Admin
{
/// <summary>
/// Implementation of list command.
/// </summary>
public class ListCommand : Command
{
#region [rgn] Constructors (1)
/// <summary>
/// Initializes a new instance of the <see cref="ListCommand"/> class.
/// </summary>
public ListCommand() : base("list", Levels.Admin)
{
}
#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)
{
String type = argument.FirstArg();
if (!type)
{
Syntax(player, "rooms", "items");
return;
}
if (type.IsPrefixOf("rooms"))
{
foreach (Room room in player.Room.Area.Rooms.Values)
{
player.WriteLine("[{0}] {1}", room.Id, room.Name);
}
return;
}
if (type.IsPrefixOf("items"))
{
foreach (ItemIndex item in player.Room.Area.Items.Values)
{
player.WriteLine("[{0}] {1}", item.Id, item.ShortDescr);
}
return;
}
Process(player, string.Empty);
}
#endregion [rgn]
}
}