5dplomacy/MultiversalDiplomacy/Script/OrderSetScriptHandler.cs

39 lines
972 B
C#

using MultiversalDiplomacy.Model;
namespace MultiversalDiplomacy.Script;
/// <summary>
/// A script handler for defining order sets.
/// </summary>
public class OrderSetScriptHandler : IScriptHandler
{
public OrderSetScriptHandler(GameScriptHandler parent, World world, string orderCommand)
{
this.parent = parent;
this.world = world;
this.orderSet = new() { orderCommand };
}
public string Prompt => "...> ";
private GameScriptHandler parent { get; }
private World world { get; }
private List<string> orderSet { get; }
public IScriptHandler? HandleInput(string input)
{
if (string.IsNullOrEmpty(input))
{
parent.World = GameController.SubmitOrderSet(world, string.Join('\n', orderSet));
Console.WriteLine("Submitted order set");
return parent;
}
else
{
orderSet.Add(input);
return this;
}
}
}