[DOCS] Started core architecture UML plans
This commit is contained in:
parent
26ece035a2
commit
66d8618e4e
26
projs/docs/diagrams/architecture.plantuml
Normal file
26
projs/docs/diagrams/architecture.plantuml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
@startuml
|
||||||
|
|
||||||
|
class ShadowApplication <<Singleton>> {
|
||||||
|
-ModuleManager module_manager
|
||||||
|
~void packagePrivateMethod()
|
||||||
|
#{abstract} char protectedMethod(int param)
|
||||||
|
}
|
||||||
|
|
||||||
|
class ModuleManager <<Singleton>> {
|
||||||
|
-vector<string, Module> moduels
|
||||||
|
---
|
||||||
|
+void AddModule(Module* mo)
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class Module {
|
||||||
|
+string domain
|
||||||
|
---
|
||||||
|
+void Init()
|
||||||
|
+void Update()
|
||||||
|
+void ShutDown()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@enduml
|
54
projs/docs/diagrams/startup.puml
Normal file
54
projs/docs/diagrams/startup.puml
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
@startuml
|
||||||
|
!include <material/file>
|
||||||
|
|
||||||
|
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}> <<DLL>>
|
||||||
|
|
||||||
|
participant "Game DLL" as dll <<$ma_file{scale=0.5}>> #LightGray <<DLL>>
|
||||||
|
|
||||||
|
-> 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
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user