diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/VerbFactory.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/VerbFactory.cs index b0fff45..7e513e9 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/VerbFactory.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/VerbFactory.cs @@ -1,5 +1,6 @@ using Advanced_Software_Engineering.Verbs.DrawingVerbs; using Advanced_Software_Engineering.Verbs.Value; +using Advanced_Software_Engineering.Verbs.Value.ValueObjects; using System; using System.Collections.Generic; using System.Linq; @@ -35,9 +36,7 @@ namespace Advanced_Software_Engineering { case "moveto": //Check parameters if (parameterLength == 2) { - return new MoveTo(drawer, - ValueHelper.ConvertToInt(parameters[0]), - ValueHelper.ConvertToInt(parameters[1])); + return new MoveTo(drawer, new PointValue(parameters[0], parameters[1])); } else throw new Exception(command + " has an incorrect number of parameters"); case "drawto": @@ -45,10 +44,7 @@ namespace Advanced_Software_Engineering { case "lineto": //Check parameters if (parameterLength == 2) { - return new - DrawTo(drawer, - ValueHelper.ConvertToInt(parameters[0]), - ValueHelper.ConvertToInt(parameters[1])); + return new DrawTo(drawer, new PointValue(ValueFactory.CreateValue(drawer, parameters[0]), ValueFactory.CreateValue(drawer, parameters[1]))); } else throw new Exception(command + " has an incorrect number of parameters"); case "regularpolygon": case "rp": @@ -107,10 +103,7 @@ namespace Advanced_Software_Engineering { case "circle": //Check parameters if (parameterLength == 1) { - return new - Circle(drawer, - ValueHelper.ConvertToDouble(parameters[0]) - ); + return new Circle(drawer, ValueFactory.CreateValue(drawer, parameters[0])); } else throw new Exception(command + " has an incorrect number of parameters"); case "triangle": //Check parameters @@ -161,45 +154,19 @@ namespace Advanced_Software_Engineering { case "pen": if (parameterLength == 1) { - return new PenColor(drawer, ValueHelper.TextToColor(parameters[0])); + return new PenColor(drawer, ValueFactory.CreateValue(drawer, parameters[0])); } else if (parameterLength == 3) { - return new PenColor(drawer, - ValueHelper.IntsToColor( - ValueHelper.ConvertToInt(parameters[0]), - ValueHelper.ConvertToInt(parameters[1]), - ValueHelper.ConvertToInt(parameters[2]) - ) - ); + return new PenColor(drawer, ValueFactory.CreateValue(drawer, parameters[0], parameters[1], parameters[2], "color")); } else if (parameterLength == 4) { - return new PenColor(drawer, - ValueHelper.IntsToColor( - ValueHelper.ConvertToInt(parameters[0]), - ValueHelper.ConvertToInt(parameters[1]), - ValueHelper.ConvertToInt(parameters[2]), - ValueHelper.ConvertToInt(parameters[3]) - ) - ); + return new PenColor(drawer, ValueFactory.CreateValue(drawer, parameters[0], parameters[1], parameters[2], parameters[3], "color")); } else throw new Exception(command + " has an incorrect number of parameters"); case "fill": if (parameterLength == 1) { - return new FillColor(drawer, ValueHelper.TextToColor(parameters[0])); + return new FillColor(drawer, ValueFactory.CreateValue(drawer, parameters[0])); } else if (parameterLength == 3) { - return new FillColor(drawer, - ValueHelper.IntsToColor( - ValueHelper.ConvertToInt(parameters[0]), - ValueHelper.ConvertToInt(parameters[1]), - ValueHelper.ConvertToInt(parameters[2]) - ) - ); + return new FillColor(drawer, ValueFactory.CreateValue(drawer, parameters[0], parameters[1], parameters[2], "color")); } else if (parameterLength == 4) { - return new FillColor(drawer, - ValueHelper.IntsToColor( - ValueHelper.ConvertToInt(parameters[0]), - ValueHelper.ConvertToInt(parameters[1]), - ValueHelper.ConvertToInt(parameters[2]), - ValueHelper.ConvertToInt(parameters[3]) - ) - ); + return new FillColor(drawer, ValueFactory.CreateValue(drawer, parameters[0], parameters[1], parameters[2], parameters[3], "color")); } else throw new Exception(command + " has an incorrect number of parameters"); case "int":