From 69f8fcfb593641174b3a83049ad4acc1abf1a102 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Fri, 18 Oct 2024 14:37:21 +0200 Subject: add scripting design documentation --- img/class-scripts.puml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 img/class-scripts.puml (limited to 'img') diff --git a/img/class-scripts.puml b/img/class-scripts.puml new file mode 100644 index 0000000..8fc36c9 --- /dev/null +++ b/img/class-scripts.puml @@ -0,0 +1,48 @@ +@startuml +!include theme.ipuml +skinparam Linetype ortho +skinparam Nodesep 75 +skinparam Ranksep 30 + +class ComponentManager <> + +package api { + class Component <> + + class Script { + # init() <> + # update() <> + -- + - Script() + } + + class BehaviorScript { + # BehaviorScript() + + ~BehaviorScript() + -- + + set_script() : this & + -- + # script : Script * + } + + BehaviorScript -u-|> Component + Script .u.> BehaviorScript +} + +class System <> +class ScriptSystem <> { + + get_instance() : ScriptSystem & <> + + update() + -- + - ScriptSystem() + - ~ScriptSystem() +} + +System <|-- ScriptSystem +ScriptSystem .[norank]> ComponentManager + +ScriptSystem .[norank]> api.Script : < friend +ScriptSystem .[norank]> api.BehaviorScript : < friend +ComponentManager .[norank]> api.BehaviorScript : < friend + +@enduml -- cgit v1.2.3