#ifndef SCENE_H #define SCENE_H #include #include #include #include #include "heading.h" #include "script.h" class Scene { public: explicit Scene(const std::filesystem::path& path); const std::map& ext_resources() const { return ext_resources_; } int AddSubResource(const Script& script); void RemoveExtResource(int id); void ReplaceScriptReferences(int ext_id, int sub_id); std::string ToString() const; private: Heading file_descriptor_; std::map ext_resources_; std::map> sub_resources_; std::vector> other_; int next_sub_id_ = 0; }; #endif /* SCENE_H */