Implement Trait node

This commit is contained in:
luboslenco 2018-05-05 13:36:20 +02:00
parent c054635089
commit ab1eb0758b
2 changed files with 10 additions and 2 deletions

View file

@ -4,6 +4,8 @@ import iron.object.Object;
class GetTraitNode extends LogicNode {
var cname:Class<iron.Trait> = null;
public function new(tree:LogicTree) {
super(tree);
}
@ -14,6 +16,8 @@ class GetTraitNode extends LogicNode {
if (object == null) return null;
return null; // TODO
if (cname == null) cname = cast Type.resolveClass(Main.projectPackage + "." + name);
if (cname == null) cname = cast Type.resolveClass(Main.projectPackage + ".node." + name);
return object.getTrait(cname);
}
}

View file

@ -10,7 +10,11 @@ class TraitNode extends LogicNode {
}
override function get(from:Int):Dynamic {
// if (value == null) value = new Trait(); // TODO
if (value != null) return value;
var cname = Type.resolveClass(Main.projectPackage + "." + property0);
if (cname == null) cname = Type.resolveClass(Main.projectPackage + ".node." + property0);
value = Type.createInstance(cname, []);
return value;
}