Implement Trait node
This commit is contained in:
parent
c054635089
commit
ab1eb0758b
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue