import ../the_scenes/[ intro 
                                , title 
                                , test_area
                                ]

, main_scenes
, scene_object
, scene_record 

import ../vk/[ vulkan_record
                   , pipeline_record
                   ]

proc load*( scene_record: var Scene_Record
                 , vulkan_record: var Vulkan_Record
                 ) = 
 case scene_record.current_scene_name 
 of Title: discard 
 of Intro: discard 
 of Test_Area: test_area.load( scene_record 
                                              , vulkan_record
                                               )

proc input*( scene_record: var Scene_Record
                 , vulkan_record: var Vulkan_Record
                 ) = 
 case scene_record.current_scene_name 
 of Title: discard 
 of Intro: discard 
 of Test_Area: test_area.input( scene_record 
                                              , vulkan_record
                                               )

proc update*( scene_record: var Scene_Record
                    , vulkan_record: var Vulkan_Record
                    , fps: string
                    ) = 
 case scene_record.current_scene_name 
 of Title: discard 
 of Intro: discard 
 of Test_Area: test_area.update( scene_record 
                                                  , vulkan_record
                                                  , fps
                                                  )

proc draw_current_scene*( scene_record: var Scene_Record
                                          , vulkan_record: var Vulkan_Record
                                          , pipeline_record: Pipeline_Record
                                          ) = 
 case scene_record.current_scene_name 
 of Title: discard 
 of Intro: discard 
 of Test_Area: test_area.build_scene( scene_record 
                                                , vulkan_record
                                                , pipeline_record
                                                 )