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

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/opensb/interface/building/blockswap.pngbin0 -> 147 bytes
-rw-r--r--source/game/items/StarMaterialItem.cpp8
2 files changed, 7 insertions, 1 deletions
diff --git a/assets/opensb/interface/building/blockswap.png b/assets/opensb/interface/building/blockswap.png
new file mode 100644
index 0000000..83f49b4
--- /dev/null
+++ b/assets/opensb/interface/building/blockswap.png
Binary files differ
diff --git a/source/game/items/StarMaterialItem.cpp b/source/game/items/StarMaterialItem.cpp
index 9321ead..2f3aece 100644
--- a/source/game/items/StarMaterialItem.cpp
+++ b/source/game/items/StarMaterialItem.cpp
@@ -131,7 +131,7 @@ void MaterialItem::update(float dt, FireMode fireMode, bool shifting, HashSet<Mo
}
void MaterialItem::render(RenderCallback* renderCallback, EntityRenderLayer) {
- if (m_collisionOverride != TileCollisionOverride::None) {
+ if (m_blockSwap || m_collisionOverride != TileCollisionOverride::None) {
float pulseLevel = 1.f - 0.3f * 0.5f * ((float)sin(2 * Constants::pi * 4.0 * Time::monotonicTime()) + 1.f);
Color color = owner()->favoriteColor().mix(Color::White);
color.setAlphaF(color.alphaF() * pulseLevel * 0.95f);
@@ -146,6 +146,12 @@ void MaterialItem::render(RenderCallback* renderCallback, EntityRenderLayer) {
}
};
+ if (m_blockSwap) {
+ color.hueShift(0.167f);
+ addIndicator("/interface/building/blockswap.png");
+ color.hueShift(-0.167f);
+ }
+
if (m_collisionOverride == TileCollisionOverride::Empty)
addIndicator("/interface/building/collisionempty.png");
else if (m_collisionOverride == TileCollisionOverride::Platform)