#pragma once #include #include #include #include namespace XCEngine::UI::Editor::App { enum class ProductBuiltInIconKind : std::uint8_t { Folder = 0, GameObject, Scene }; class ProductBuiltInIcons { public: void Initialize(Host::NativeRenderer& renderer); void Shutdown(); const ::XCEngine::UI::UITextureHandle& Resolve(ProductBuiltInIconKind kind) const; const std::string& GetLastError() const; private: Host::NativeRenderer* m_renderer = nullptr; ::XCEngine::UI::UITextureHandle m_folderIcon = {}; ::XCEngine::UI::UITextureHandle m_gameObjectIcon = {}; ::XCEngine::UI::UITextureHandle m_sceneIcon = {}; std::string m_lastError = {}; }; } // namespace XCEngine::UI::Editor::App