Skip to content

Commit e1c1988

Browse files
committed
[WIP] fix: show correct sprite name/path in editor
1 parent 009a615 commit e1c1988

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/Renderer/SpriteRendererComponent.cc

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,15 @@ namespace volt::renderer {
4949
}
5050

5151
void SpriteRendererComponent::Draw(void) {
52-
static bool is_first_time { true };
52+
static size_t sprite_path_len {0};
5353
static std::array<char, 32> sprite_path { "default" };
5454
static ImVec4 sprite_color {1, 1, 1, 1};
55-
if (is_first_time) {
56-
size_t len { std::min(sprite.name().size(), sprite_path.size() - 1) };
57-
std::copy_n(sprite.name().begin(), len, sprite_path.begin());
58-
sprite_path[len] = 0;
59-
is_first_time = false;
60-
}
6155
if (ImGui::CollapsingHeader(SpriteRendererComponent::cmp_name)) {
56+
if (sprite.name() != sprite_path.data()) {
57+
sprite_path_len = std::min(sprite.name().size(), sprite_path.size() - 1);
58+
std::copy_n(sprite.name().begin(), sprite_path_len, sprite_path.begin());
59+
sprite_path[sprite_path_len] = 0;
60+
}
6261
ImGui::InputText("Sprite", sprite_path.data(), sprite_path.size());
6362
try { sprite.Reset(std::string(sprite_path.data())); }
6463
catch (const std::runtime_error &) {

0 commit comments

Comments
 (0)