graph TB
%% nodes
start(("Start"))
error(("Aborting game"))
next_scene(("Next scene"))
continue_scene(("Continue current scene"))
sceneName_scene("call [sceneName]_scene()")
sceneName_scene_exist{"[sceneName]_scene()?"}
sceneName_event_start("call [sceneName]_event_start()")
sceneName_event_start_exist{"[sceneName]_event_start()?"}
next_scene_exist{"next scene?"}
%% styles
classDef class_script_call fill:#CAF
class sceneName_scene,sceneName_event_start class_script_call
classDef class_danger fill:#F00
class error class_danger
%% flows
start --> sceneName_scene_exist
sceneName_scene_exist -->|exist| sceneName_scene
sceneName_scene --> next_scene_exist
sceneName_scene_exist -->|NOT exist| sceneName_event_start_exist
sceneName_event_start_exist --> |NOT exist| continue_scene
sceneName_event_start_exist --> |exist| sceneName_event_start
sceneName_event_start --> continue_scene
next_scene_exist --> |NOT exist| error
next_scene_exist --> |next scene exist| next_scene