Changed more things to IValue

This commit is contained in:
Lukasz Baldyga committed 2020-11-27 21:00:36 +00:00
1 parent 055b31c16e
commit 3ac8d5b28d
1 file changed
+10 -43
@@ -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":