#pragma once #include "uilayer.h" #include struct trainset_desc { std::string description; std::string name; std::string track; float offset { 0.f }; float velocity { 0.f }; std::vector vehicles; std::vector couplings; }; struct scenery_desc { std::filesystem::path path; std::string name; std::string description; std::string image_path; texture_handle image = 0; std::vector> links; std::vector trainsets; std::string title() { if (!name.empty()) return name; else return path.stem().string(); } }; namespace ui { class scenerylist_panel : public ui_panel { public: scenerylist_panel(); void render() override; private: std::vector scenarios; scenery_desc const *selected_scenery = nullptr; void scan_scenarios(); void scan_scn(std::string path); }; } // namespace ui