A script that allows you to merge 2+ functions into 1, using a cool workaround
November 15, 2020 ยท View on GitHub
//#macro super merge_functions // uncomment this if you prefer the name 'super'
///@function merge_functions(func1, func2,
for(var i = 0; i < argument_count; i++)
funcs[i] = argument[i]
var foo = new MergedFunction()
foo.functions = funcs
return foo.call
}
///@function MergedFunction(func1, func2,
for(var i = 0; i < argument_count; i++)
self.functions[i] = argument[i]
call = function() {
var args = array_create(7, undefined)
for(var i = 0; i < argument_count; i++) { args[i] = argument[i] }
for(var i = 0; i < array_length(self.functions); ++i) {
var func = self.functions[i]
func(args[0], args[1], args[2], args[3], args[4], args[5], args[6]) // edit this if you need
// more than 7 arguments in a function
}
}
}