diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-10-18 14:37:21 +0200 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-10-18 14:37:21 +0200 |
commit | 69f8fcfb593641174b3a83049ad4acc1abf1a102 (patch) | |
tree | 270d22cded77e3a1e5773626c891e327219c833f /reqs.toml | |
parent | 4a40378f58160212c0c1c42552a1301e3a498037 (diff) |
add scripting design documentation
Diffstat (limited to 'reqs.toml')
-rw-r--r-- | reqs.toml | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -84,3 +84,36 @@ Windows. # TODO: library documentation as quality factor? # TODO: modularity over less libraries? (i.e. why don't we just SDL2 everything?) +[script:interface] +type = 'system' +priority = 'must' +description = ''' +There is a base \codeinline{Script} class that has empty default +implementations for functions that may be implemented by the game programmer. +''' + +[script:user-class] +type = 'system' +priority = 'must' +description = ''' +The game programmer implements scripts by creating classes derived from the +\codeinline{Script} class. +''' + +[script:direct-instance] +type = 'system' +priority = 'must' +description = ''' +Unless explicitly changed by the game programmer, derived script classes cannot +be instantiated directly, and must be instantiated by the component manager. +''' + +[script:direct-run] +type = 'system' +priority = 'must' +description = ''' +Unless explicitly changed by the game programmer, methods on instances of +\codeinline{Script} (and derivative) classes cannot be called directly, and +must be called by the script system. +''' + |