Native and Declared Functions
ScratchScript has two types of functions: native and declared.
Native functions
"Native" functions are functions which directly map to existing Scratch blocks. This also includes all Scratch extensions, but only the Pen extension is currently implemented.
Native functions are implemented directly in the compiler (C#), which means that one cannot declare native functions in ScratchScript code. All native functions are imported into every ScratchScript file by default and cannot be removed.
The following Scratch block categories are supported:
Motion
Looks
Sound
Events
Control
Sensing (with some restrictions)
Operators
Variables
"My Blocks"/Procedures
Extensions:
Pen
Declared functions
All functions defined in ScratchScript are considered "declared". They are more complex than native functions and can be imported from other files or depend on other functions.