diff options
Diffstat (limited to 'img')
-rw-r--r-- | img/class-scripts.puml | 48 | ||||
-rw-r--r-- | img/facade-audio.puml | 2 |
2 files changed, 49 insertions, 1 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 diff --git a/img/facade-audio.puml b/img/facade-audio.puml index 60af60f..d3e732b 100644 --- a/img/facade-audio.puml +++ b/img/facade-audio.puml @@ -1,5 +1,5 @@ @startuml -!include theme.ipuml +!include ../img/theme.ipuml skinparam Linetype ortho package crepe { |