diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/UpdateVariable.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/UpdateVariable.cs new file mode 100644 index 0000000..66973a8 --- /dev/null +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/UpdateVariable.cs @@ -0,0 +1,28 @@ +namespace Advanced_Software_Engineering.Verbs.Value { + + public class UpdateVariable : IVerb { + protected Drawer drawer; + protected string name; + protected string value; + + public UpdateVariable(Drawer drawer, string name, string value) { + this.name = name; + this.value = value; + this.drawer = drawer; + } + + public UpdateVariable(Drawer drawer, string name, IValue value) { + + } + + public void ExecuteVerb() { + IValue variable = drawer.GetVariable(name); + string type = variable.GetOriginalType(); + drawer.SetVariable(name, ValueFactory.CreateValue(value, type)); + } + + public string GetDescription() { + return "Updates " + name + " to " + value; + } + } +} \ No newline at end of file