func init sdk = this.child if(linked('##add')) // adds using namespace sys.add_use('System.Collections.Generic') // initialize instance sys.add_var('idx', 1) this.setfield('instance', d('##instance')) this.setfield('type', d('##type')) sys.add_object(this.codename, 'List<' + this.type + '>') end // methods init for(k = 0; k < this.numvars; k++) pname = code(this.pt_var(k).name) if(pname == '##count') method(pname) return(this.codename + '.Count') end elseif(pname == '##index') method(pname) return(this.idx) end elseif(pname == '##list') method(pname) return(this.codename) end elseif(pname == '##instance') method(pname) return(this.instance) end elseif(pname == '##type') method(pname) return(this.type) end else // all other methods method(pname) return(d(cgt.get_func_name())) end end end // init all unlinked elements into visual container if(this.name != 'ClassContainer') sdk.initall() end end func doWork(data, index) event(index, data) fname = code(this.pt_work(index)) if(fname == '##add') blk.println(this.codename, '.Add(', this.instance, ');') .println(this.idx, ' = ', this.codename, '.Count - 1;') elseif(fname == '##select') blk.println(this.idx, ' = ', sys.to_type(data, 1), ';') .println('if (', this.codename, '.Count > ', this.idx, ')').inc() .println(this.instance, ' = ', this.codename, '[', this.idx, '];').dec() elseif(fname == '##store') blk.println(this.codename, '[', this.idx, '] = ', this.instance, ';') elseif(fname == '##delete') blk.println(this.codename, '.RemoveAt(', sys.to_type(data, 1), ');') .println(this.idx, ' = ', this.codename, '.Count - 1;') elseif(fname == '##clear') blk.println(this.codename, '.Clear();') end end