Widgets/SimpleWidgetStyles: Fix hovered sprite not being detached on click

This commit is contained in:
SirLynix 2023-01-28 11:13:32 +01:00
parent 24bc1dac1c
commit f1ee611378
1 changed files with 10 additions and 4 deletions

View File

@ -316,19 +316,25 @@ namespace Nz
if (!pressed) if (!pressed)
m_sprite->SetMaterial(owner->GetMaterial()); m_sprite->SetMaterial(owner->GetMaterial());
if (!m_isHovered)
{
GraphicsComponent& gfxComponent = GetRegistry().get<GraphicsComponent>(m_entity); GraphicsComponent& gfxComponent = GetRegistry().get<GraphicsComponent>(m_entity);
gfxComponent.AttachRenderable(m_hoveredSprite, GetRenderMask()); gfxComponent.AttachRenderable(m_hoveredSprite, GetRenderMask());
} }
} }
}
else else
{ {
if (!pressed) if (!pressed)
m_sprite->SetMaterial(owner->GetMaterial()); m_sprite->SetMaterial(owner->GetMaterial());
if (m_isHovered)
{
GraphicsComponent& gfxComponent = GetRegistry().get<GraphicsComponent>(m_entity); GraphicsComponent& gfxComponent = GetRegistry().get<GraphicsComponent>(m_entity);
gfxComponent.DetachRenderable(m_hoveredSprite); gfxComponent.DetachRenderable(m_hoveredSprite);
} }
} }
}
SimpleLabelWidgetStyle::SimpleLabelWidgetStyle(LabelWidget* labelWidget, std::shared_ptr<MaterialInstance> material, std::shared_ptr<MaterialInstance> hoveredMaterial) : SimpleLabelWidgetStyle::SimpleLabelWidgetStyle(LabelWidget* labelWidget, std::shared_ptr<MaterialInstance> material, std::shared_ptr<MaterialInstance> hoveredMaterial) :