From 5024793c3ef5b34a4b32210a4d3f2b795bd1cb3f Mon Sep 17 00:00:00 2001 From: Lukasz Baldyga Date: Fri, 27 Nov 2020 21:03:58 +0000 Subject: [PATCH] Added more methods to CreateValue --- .../Verbs/Value/ValueFactory.cs | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueFactory.cs b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueFactory.cs index f6e4fcd..a1e4975 100644 --- a/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueFactory.cs +++ b/Advanced Software Engineering/Advanced Software Engineering/Verbs/Value/ValueFactory.cs @@ -1,4 +1,5 @@ using Advanced_Software_Engineering.Verbs.Value.ValueTypes; +using Advanced_Software_Engineering.Verbs.Value.ValueObjects; using System; namespace Advanced_Software_Engineering.Verbs.Value { @@ -30,6 +31,35 @@ namespace Advanced_Software_Engineering.Verbs.Value { } } + public static IValue CreateValue(Drawer drawer, string paramater1, string paramater2, string parameter3, string parameter4, string type) { + switch (type) { + case "color": + IValue p1 = CreateValue(drawer, paramater1); + IValue p2 = CreateValue(drawer, paramater2); + IValue p3 = CreateValue(drawer, parameter3); + IValue p4 = CreateValue(drawer, parameter4); + + return new ColorValue(p1, p2, p3, p4); + + default: + throw new Exception("Unknown expected type: " + type.ToString()); + } + } + + public static IValue CreateValue(Drawer drawer, string paramater1, string paramater2, string parameter3, string type) { + switch (type) { + case "color": + IValue p1 = CreateValue(drawer, paramater1); + IValue p2 = CreateValue(drawer, paramater2); + IValue p3 = CreateValue(drawer, parameter3); + + return new ColorValue(p1, p2, p3); + + default: + throw new Exception("Unknown expected type: " + type.ToString()); + } + } + public static IValue CreateValue(Drawer drawer, string value) { value = SettingsAndHelperFunctions.Strip(value); if (drawer.CheckVariableExists(value)) return new VariableValue(drawer, value);