From 66d8618e4e6049d88e86135b107042b8ce283e2e Mon Sep 17 00:00:00 2001 From: dpeter99 Date: Sat, 25 Jun 2022 12:04:56 +0200 Subject: [PATCH] [DOCS] Started core architecture UML plans --- projs/docs/diagrams/architecture.plantuml | 26 +++++++++++ projs/docs/diagrams/startup.puml | 54 +++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 projs/docs/diagrams/architecture.plantuml create mode 100644 projs/docs/diagrams/startup.puml diff --git a/projs/docs/diagrams/architecture.plantuml b/projs/docs/diagrams/architecture.plantuml new file mode 100644 index 0000000..d0f86e7 --- /dev/null +++ b/projs/docs/diagrams/architecture.plantuml @@ -0,0 +1,26 @@ +@startuml + +class ShadowApplication <> { + -ModuleManager module_manager + ~void packagePrivateMethod() + #{abstract} char protectedMethod(int param) +} + +class ModuleManager <> { + -vector moduels + --- + +void AddModule(Module* mo) +} + +abstract class Module { + +string domain + --- + +void Init() + +void Update() + +void ShutDown() +} + + + + +@enduml \ No newline at end of file diff --git a/projs/docs/diagrams/startup.puml b/projs/docs/diagrams/startup.puml new file mode 100644 index 0000000..9997fb3 --- /dev/null +++ b/projs/docs/diagrams/startup.puml @@ -0,0 +1,54 @@ +@startuml +!include + +autoactivate on +autonumber + +participant main as "int main(args)" + +participant app as "ShadowApplication" <<(O,#ADD1B2) singleton>> + +participant moduleMg as "ModuleManager" <<(O,#ADD1B2) singleton>> + + +'participant gameDll as "longName" : <$ma_file{scale=0.5}> <> + +participant "Game DLL" as dll <<$ma_file{scale=0.5}>> #LightGray <> + +-> main +main -> app ** : create +activate app +app -> moduleMg ** : create +return app + +main -> app : LoadGame + +app -> app : load +app -> dll ** : create +return + +app -> dll : sh_main + +loop for each needed module + dll -> moduleMg : AddModule() + return +end + +return + +return + +main -> app : Init() +app -> moduleMg : Init() + +loop module in modules + collections module as "Module" <<(O,#ADD1B2)entity>> + moduleMg -> module : Init() + return +end +return + +return + + +