11#include <UI/Common/Style.hpp>
16template <
typename AssetType>
30 ImGui::TextUnformatted(
_title.c_str());
33 ImGui::SetCursorPosX(128);
63 ImGui::BeginDisabled();
66 ImGui::TextUnformatted(
label.c_str());
70 if (ImGui::BeginDragDropTarget()) {
81 ImGui::EndDragDropTarget();
87 ImGui::PopStyleColor();
126 ImGui::Image(
_texture->getImguiTextureID(), {aspectRatio * 16, 16});
Definition AssetSelector.hpp:17
std::function< void(AssetHandle)> _updateCallback
Definition AssetSelector.hpp:109
void setUpdateCallback(std::function< void(AssetHandle file)> callback)
Definition AssetSelector.hpp:25
AssetSelector(const std::string &title)
Definition AssetSelector.hpp:20
void setClearCallback(std::function< void()> callback)
Definition AssetSelector.hpp:27
std::string _title
Definition AssetSelector.hpp:105
void draw()
Definition AssetSelector.hpp:29
std::function< void()> _clearCallback
Definition AssetSelector.hpp:110
std::optional< AssetHandle > _asset
Definition AssetSelector.hpp:107
virtual ~AssetSelector()=default
AssetSelector(const std::string &title, Registry *registry, std::optional< AssetHandle > asset)
Definition AssetSelector.hpp:21
Registry * _registry
Definition AssetSelector.hpp:106
virtual void clearAsset()
Definition AssetSelector.hpp:102
virtual void drawAsset(Registry *registry, AssetHandle handle)
Definition AssetSelector.hpp:101
Definition NameComponent.hpp:9
std::string & getName()
Definition NameComponent.hpp:16
Definition Registry.hpp:28
bool hasComponent(Entity entity) const
Definition Registry.hpp:117
Component & getComponent(Entity entity)
Definition Registry.hpp:141
Definition AssetSelector.hpp:113
void drawAsset(Registry *registry, AssetHandle handle) override
Definition AssetSelector.hpp:119
~TextureAssetSelector()
Definition AssetSelector.hpp:116
void clearAsset() override
Definition AssetSelector.hpp:130
AssetRef< Texture > _texture
Definition AssetSelector.hpp:132
Definition AssetUtils.hpp:17
const ImVec4 DARK_ACCENT
Definition Style.cpp:26
ImFont * SMALL_FONT
Definition Style.cpp:13
AssetRef< AssetType > read(AssetComponent< AssetType > &assetComponent)
Definition AssetUtils.hpp:81
Entity AssetHandle
Definition Asset.hpp:8
void reset()
Definition Clock.hpp:13