package leenkx.logicnode; import iron.object.Object; import iron.math.Vec4; import leenkx.system.Event; class CreateMapNode extends LogicNode { public var property0: String; public var property1: String; public var map: Dynamic; public function new(tree:LogicTree) { super(tree); } override function run(from:Int) { if(property0 == "string"){ switch (property1) { case "string": map = new Map(); runOutput(0); case "vector": map = new Map(); runOutput(0); case "float": map = new Map(); runOutput(0); case "integer": map = new Map(); runOutput(0); case "boolean": map = new Map(); runOutput(0); case "dynamic": map = new Map(); runOutput(0); default: throw "Failed to create Map"; } } else if (property0 == "int"){ switch (property1) { case "string": map = new Map(); runOutput(0); case "vector": map = new Map(); runOutput(0); case "float": map = new Map(); runOutput(0); case "integer": map = new Map(); runOutput(0); case "boolean": map = new Map(); runOutput(0); case "dynamic": map = new Map(); runOutput(0); default: throw "Failed to create Map"; } } else if (property0 == "enumvalue"){ switch (property1) { case "string": map = new Map(); runOutput(0); case "vector": map = new Map(); runOutput(0); case "float": map = new Map(); runOutput(0); case "integer": map = new Map(); runOutput(0); case "boolean": map = new Map(); runOutput(0); case "dynamic": map = new Map(); runOutput(0); default: throw "Failed to create Map"; } } else if (property0 == "object"){ switch (property1) { case "string": map = new Map<{},String>(); runOutput(0); case "vector": map = new Map<{},Vec4>(); runOutput(0); case "float": map = new Map<{},Float>(); runOutput(0); case "integer": map = new Map<{},Int>(); runOutput(0); case "boolean": map = new Map<{},Bool>(); runOutput(0); case "dynamic": map = new Map<{},Dynamic>(); runOutput(0); default: throw "Failed to create Map"; } } } override function get(from: Int): Map { return map; } }