fix for empty sounds/animation collections
Some checks failed
Build / Build Game (push) Has been cancelled

This commit is contained in:
2026-03-02 20:17:04 -05:00
parent 03ee76e0a5
commit 3375f56492
7 changed files with 40 additions and 14 deletions

View File

@@ -74,7 +74,11 @@ namespace game::state::main
}
queuedItemIDs.clear();
if (isMouseRightDown) cursor.queue_play({cursorSchema.animations.return_.get()});
if (isMouseRightDown)
{
auto animation = cursorSchema.animations.return_.get();
if (animation) cursor.queue_play({*animation});
}
if (auto heldItem = vector::find(items, heldItemIndex))
{
@@ -208,7 +212,7 @@ namespace game::state::main
if (math::is_point_in_rectf(item.rect(), cursorPosition) && !isImguiCaptureMouse)
{
isItemHovered = true;
cursor.queue_play({cursorSchema.animations.hover.get()});
if (auto animation = cursorSchema.animations.hover.get()) cursor.queue_play({*animation});
cursor.state = entity::Cursor::HOVER;
if (isMouseLeftClicked)
@@ -220,7 +224,7 @@ namespace game::state::main
if (isMouseLeftDown)
{
isItemHeld = true;
cursor.queue_play({cursorSchema.animations.grab.get()});
if (auto animation = cursorSchema.animations.grab.get()) cursor.queue_play({*animation});
cursor.state = entity::Cursor::ACTION;
heldItemIndex = i;
heldItemMoveIndex = i;

View File

@@ -31,7 +31,7 @@ namespace game::state::main
{
if ((isMouseMiddleDown) || (isMouseLeftDown && isCtrlDown))
{
cursor.queue_play({cursorSchema.animations.pan.get()});
if (auto animation = cursorSchema.animations.pan.get()) cursor.queue_play({*animation});
pan -= imgui::to_vec2(io.MouseDelta) * panMultiplier;
}
@@ -44,7 +44,7 @@ namespace game::state::main
auto zoomFactorBefore = math::to_unit(zoomBefore);
auto cursorWorld = pan + (cursorPos / zoomFactorBefore);
cursor.queue_play({cursorSchema.animations.zoom.get()});
if (auto animation = cursorSchema.animations.zoom.get()) cursor.queue_play({*animation});
zoom = glm::clamp(ZOOM_MIN, zoom + (io.MouseWheel * ZOOM_STEP), ZOOM_MAX);