#pragma once #include #include #include namespace wowee { namespace pipeline { class AssetManager; } namespace editor { struct AssetEntry { std::string wowPath; std::string displayName; std::string directory; }; class AssetBrowser { public: void initialize(pipeline::AssetManager* am); const std::vector& getTextures() const { return textures_; } const std::vector& getM2Models() const { return m2Models_; } const std::vector& getWMOs() const { return wmos_; } const std::vector& getTextureDirectories() const { return textureDirs_; } const std::vector& getM2Directories() const { return m2Dirs_; } const std::vector& getWMODirectories() const { return wmoDirs_; } bool isInitialized() const { return initialized_; } private: static std::string extractFilename(const std::string& path); static std::string extractDirectory(const std::string& path); std::vector textures_; std::vector m2Models_; std::vector wmos_; std::vector textureDirs_; std::vector m2Dirs_; std::vector wmoDirs_; bool initialized_ = false; }; } // namespace editor } // namespace wowee