light/Mirror/src/Panels/AssetBrowser.hpp

44 lines
684 B
C++
Raw Normal View History

#pragma once
2022-03-08 21:19:19 +03:30
#include "Panel.hpp"
2022-03-08 21:19:19 +03:30
#include <LightEngine.hpp>
#include <filesystem>
namespace Light {
class AssetBrowserPanel: public Panel
2022-03-06 22:25:23 +03:30
{
private:
2022-03-12 21:10:23 +03:30
enum class AssetType
{
2022-03-06 22:25:23 +03:30
None = 0,
2022-03-12 21:10:23 +03:30
Scene,
2022-03-06 22:25:23 +03:30
Directory,
Text,
Image,
};
2022-03-06 22:25:23 +03:30
public:
2022-03-12 21:10:23 +03:30
AssetBrowserPanel(Ref<Scene> activeScene);
2022-03-06 22:25:23 +03:30
void OnUserInterfaceUpdate();
2022-03-06 22:25:23 +03:30
private:
std::filesystem::path m_CurrentDirectory;
const std::filesystem::path m_AssetsPath;
// TODO: Save configuration
uint32_t m_FileSize = 128u;
uint32_t m_FilePadding = 8u;
2022-03-06 22:25:23 +03:30
2022-03-12 21:10:23 +03:30
Ref<Scene> m_ActiveScene;
2022-03-06 22:25:23 +03:30
Ref<Texture> m_DirectoryTexture;
2022-03-12 21:10:23 +03:30
Ref<Texture> m_SceneTexture;
Ref<Texture> m_ImageTexture;
Ref<Texture> m_TextTexture;
2022-03-06 22:25:23 +03:30
};
2022-03-06 22:25:23 +03:30
} // namespace Light