func init // adds using namespace sys.add_use('System.Numerics') // initialize instance if(linked("Result") and linked("doOperation")) sys.add_var(this.name, 'dynamic') end end func doOperation(data) if(linked("Result")) blk.println(this.codename, ' = ', this.make_result(data), ';') event("onResult", this.codename) else event("onResult", this.make_result(data)) end end func make_result(data) op = this.props("OpType").value b1 = (isdef("B1") ? d("B1") : sys.get_undef_manager("B1")) b2 = (isdef("B2") ? d("B2") : sys.get_undef_manager("B2")) if(op == '++b') return('(++' + b1 + ')') elseif(op == 'b++') return('(' + b1 + '++)') elseif(op == '--b') return('(--' + b1 + ')') elseif(op == 'b--') return('(' + b1 + '--)') elseif(op == '-b') return('(-' + b1 + ')') elseif(op == '~b') return('(~' + b1 + ')') elseif((op == '<<') or (op == '>>')) return('(' + b1 + ' ' + op + ' ' + this.props("Shift").value + ')') elseif((op == '==') or (op == '!=') or (op == '<') or (op == '<=') or (op == '>') or (op == '>=')) return(sub('(' + b1 + ' ' + op + ' ' + b2 + ')', 104)) end return('(' + b1 + ' ' + op + ' ' + b2 + ')') end func Result if(linked("doOperation")) return(this.codename) else return(make_result()) end end