33 lines
940 B
C#
33 lines
940 B
C#
// DropCommand.cs
|
|
using System;
|
|
using TextRPG.PlayerSystem;
|
|
|
|
namespace TextRPG.Commands
|
|
{
|
|
public class DropCommand : Command
|
|
{
|
|
public override string Name => "drop";
|
|
public override string Description => "Removes an item from your inventory.";
|
|
public override string Usage => "drop <item_name>";
|
|
|
|
public override void Execute(string[] args, Action<string> outputCallback)
|
|
{
|
|
if (args.Length == 0)
|
|
{
|
|
outputCallback($"Usage: {Usage}");
|
|
return;
|
|
}
|
|
|
|
string itemName = string.Join(" ", args);
|
|
var item = Player.Instance.GetItem(itemName);
|
|
if (item == null)
|
|
{
|
|
outputCallback($"You don't have '{itemName}'.");
|
|
return;
|
|
}
|
|
|
|
Player.Instance.RemoveItem(item);
|
|
outputCallback($"You dropped: {itemName}.");
|
|
}
|
|
}
|
|
} |