func init // defines arguments of the delegate params = '' if(not isdef("Arguments")) params = code(this.pt_var(0).name) for(i = 1; i < this.numvars; i++) params += ', ' + code(this.pt_var(i).name) end end // points init for(i = 0; i < this.numvars; i++) pname = this.pt_var(i).name method(pname) this.varname = cgt.get_func_name() return(code(copy(this.varname, pos(this.varname, " ", 0) + 1))) end end // store original blocks sys.blocks_store() // create event code event("onDelegate") // create a block ini = block.reg("event_imp").inc().inc() if(pos(sys.get_frame_above(), 'UserClass', 0)) inits.add(ini) else this.parent.get_parent_sdk().class_events.add(ini) end // defines the delegate ini.println('private ', ((sys.get_project() == "Console") ? 'static ' : ''), 'void ', this.codename, '(', code(params), ') {') if(not blk_lvars.empty()) ini.copyhere(blk_lvars) end ini.copyhere(blk) .println('}').dec() // restore original blocks sys.blocks_restore() end