Support gas cargo transfers

This commit is contained in:
Loïc Wisniewski 2026-08-13 22:17:24 +02:00
commit 4c82155cf3
7 changed files with 91 additions and 2 deletions

View file

@ -26,6 +26,7 @@ enum Icon {
UPGRADE_SHIELD_HITS, UPGRADE_SHIELD_RECHARGE, UPGRADE_CARGO,
UPGRADE_ENGINES, UPGRADE_UNLOCK_SHIELD,
ACTION_MENU,
GAS,
}
# Size the glyphs were originally drawn against. Every glyph dimension is
@ -200,6 +201,8 @@ func _draw() -> void:
_draw_upgrade_unlock_shield(center, pulse, s)
Icon.ACTION_MENU:
_draw_action_menu(center, pulse, s)
Icon.GAS:
_draw_gas(center, pulse, s)
func _draw_close(center: Vector2, pulse: float, s: float) -> void:
@ -334,6 +337,15 @@ func _draw_action_menu(center: Vector2, pulse: float, s: float) -> void:
center + Vector2(-15, y + 2) * s,
]), _active_color(), pulse, core_color)
func _draw_gas(center: Vector2, pulse: float, s: float) -> void:
# Three drifting bubbles: the visual language for gaseous resources.
for data in [[Vector2(-6,-3), 6.0], [Vector2(6,4), 8.0], [Vector2(4,-9), 4.0]]:
var ring := PackedVector2Array()
for i in range(10):
var a := TAU * float(i) / 10.0
ring.append(center + (data[0] + Vector2(cos(a), sin(a)) * data[1]) * s)
NeonDraw.draw_glowing_polygon(self, ring, _active_color(), pulse, core_color)
func _draw_build(center: Vector2, pulse: float, s: float) -> void:
# A plus inside a frame - "add a structure".