diff options
author | Max-001 <80035972+Max-001@users.noreply.github.com> | 2024-10-29 17:27:27 +0100 |
---|---|---|
committer | Max-001 <80035972+Max-001@users.noreply.github.com> | 2024-10-29 17:27:27 +0100 |
commit | 283aa3cd730856fab4614842c96290f2059d93c0 (patch) | |
tree | 7e0c761de01202af167b7c0da66f82c285ed0be9 /img/class-scripts.puml | |
parent | a819194e10c8afd9108fa102f4c105b0556829f2 (diff) | |
parent | 0f1e2c876fe550862cb1201bf5cba9dc95707324 (diff) |
Merge remote-tracking branch 'origin/master' into max/time
Diffstat (limited to 'img/class-scripts.puml')
-rw-r--r-- | img/class-scripts.puml | 48 |
1 files changed, 48 insertions, 0 deletions
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 <<irrelevant>> + +package api { + class Component <<irrelevant>> + + class Script { + # init() <<virtual>> + # update() <<virtual>> + -- + - Script() + } + + class BehaviorScript { + # BehaviorScript() + + ~BehaviorScript() + -- + + set_script<T>() : this & + -- + # script : Script * + } + + BehaviorScript -u-|> Component + Script .u.> BehaviorScript +} + +class System <<irrelevant>> +class ScriptSystem <<Singleton>> { + + get_instance() : ScriptSystem & <<static>> + + update() + -- + - ScriptSystem() + - ~ScriptSystem() +} + +System <|-- ScriptSystem +ScriptSystem .[norank]> ComponentManager + +ScriptSystem .[norank]> api.Script : < friend +ScriptSystem .[norank]> api.BehaviorScript : < friend +ComponentManager .[norank]> api.BehaviorScript : < friend + +@enduml |