Component = require("ecs.component") class ScriptComponent extends Component new: (name, properties) => print("Creating new script component") assert(properties and properties.script, "Failed to find script name for script component") super(name, properties) join: (e) => print("Script component is joining an entity") @node = am.group! @@node\append(@node) @node\action(@properties.script) leave: (e) => print("Script component is leaving an entity") @@node\remove(@node)