Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarToolUser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/game/StarToolUser.cpp')
-rw-r--r--source/game/StarToolUser.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/source/game/StarToolUser.cpp b/source/game/StarToolUser.cpp
index e0e32a8..7208c6e 100644
--- a/source/game/StarToolUser.cpp
+++ b/source/game/StarToolUser.cpp
@@ -535,21 +535,16 @@ void ToolUser::render(RenderCallback* renderCallback, bool inToolRange, bool shi
return;
}
- // FIXME: Why isn't material item a PreviewTileTool, why is inToolRange
- // passed in again, what is the difference here between the owner's tool
- // range, can't MaterialItem figure this out?
- if (inToolRange) {
- if (auto materialItem = as<MaterialItem>(m_primaryHandItem.get()))
- renderCallback->addTilePreviews(materialItem->preview(shifting));
- else if (auto liquidItem = as<LiquidItem>(m_primaryHandItem.get()))
- renderCallback->addTilePreviews(liquidItem->preview(shifting));
- }
-
if (auto pri = as<PreviewTileTool>(m_primaryHandItem.get()))
renderCallback->addTilePreviews(pri->preview(shifting));
else if (auto alt = as<PreviewTileTool>(m_altHandItem.get()))
renderCallback->addTilePreviews(alt->preview(shifting));
+ if (auto ren = as<RenderableItem>(m_primaryHandItem.get()))
+ ren->render(renderCallback, renderLayer);
+ if (auto ren = as<RenderableItem>(m_altHandItem.get()))
+ ren->render(renderCallback, renderLayer);
+
for (auto item : {m_primaryHandItem.get(), m_altHandItem.get()}) {
if (auto activeItem = as<ActiveItem>(item)) {
for (auto drawablePair : activeItem->entityDrawables())