//
// Licensed under the MIT License. See LICENSE file in the project root for full license information.
//
namespace MUnique.OpenMU.GameLogic.PlugIns.ChatCommands;
///
/// The base of every arguments class used in the commands.
///
public class ArgumentsBase
{
///
/// This makes it easier to print the arguments and its values for debugging.
///
/// String.
public override string ToString()
{
var properties = this.GetType().GetProperties();
var stringBuilder = new StringBuilder();
bool isFirst = true;
foreach (var property in properties)
{
if (!isFirst)
{
stringBuilder.Append(" ");
}
stringBuilder.Append($"{property.Name}:{property.GetValue(this)}");
isFirst = false;
}
return stringBuilder.ToString();
}
}