aboutsummaryrefslogtreecommitdiff
path: root/reqs.toml
diff options
context:
space:
mode:
authorMax-001 <80035972+Max-001@users.noreply.github.com>2024-10-29 17:27:27 +0100
committerMax-001 <80035972+Max-001@users.noreply.github.com>2024-10-29 17:27:27 +0100
commit283aa3cd730856fab4614842c96290f2059d93c0 (patch)
tree7e0c761de01202af167b7c0da66f82c285ed0be9 /reqs.toml
parenta819194e10c8afd9108fa102f4c105b0556829f2 (diff)
parent0f1e2c876fe550862cb1201bf5cba9dc95707324 (diff)
Merge remote-tracking branch 'origin/master' into max/time
Diffstat (limited to 'reqs.toml')
-rw-r--r--reqs.toml33
1 files changed, 33 insertions, 0 deletions
diff --git a/reqs.toml b/reqs.toml
index ed0b451..a83208e 100644
--- a/reqs.toml
+++ b/reqs.toml
@@ -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.
+'''
+