ExperimentalGear/docs/diagrams/sequence/titlescreenStartup.puml

49 lines
1012 B
Plaintext

@startuml titlescreen startup
!theme materia-outline
skinparam DefaultFontName Courier
skinparam Shadowing false
participant usc
participant "titlescreen.lua" as main
collections screens
collections pages
usc -> main : load titlescreen.lua
activate main
group construct screens
main -> screens : create
screens -> pages : create
screens -> pages : set callbacks
main -> screens : set callbacks
main -> usc : get persistent states
main <-- usc
main -> screens : load persistent previous state values
end
main -> usc : get last screen value
main <-- usc
main -> main : set last screen value as current screen
main -> screens : call current screen's init()
activate screens
screens -> usc : set current screen as last screen value
screens -> pages : init()
activate pages
loop main render loop
main -> screens : call current screen's render()
activate screens
screens -> pages : render()
activate pages
deactivate screens
deactivate pages
end
@enduml