Small updates

This commit is contained in:
2026-03-11 16:49:33 -04:00
parent 48ba47d41b
commit c290b3a07c
3 changed files with 30 additions and 14 deletions
+18
View File
@@ -39,6 +39,7 @@ var _grid_min: Vector2i = Vector2i.ZERO
var _grid_max: Vector2i = Vector2i.ZERO
var _parallax_offset: Vector2 = Vector2.ZERO
var _player: Node2D = null
var _revealed_positions: Array[Vector2i] = [] # rooms revealed by Fragmented Map
# ---------------------------------------------------------------------------
# Setup
@@ -59,6 +60,7 @@ func _ready() -> void:
EventBus.floor_map_ready.connect(_on_floor_map_ready)
EventBus.room_entered_at.connect(_on_room_entered)
EventBus.run_ended.connect(_on_run_ended)
EventBus.room_revealed.connect(_on_room_revealed)
# ---------------------------------------------------------------------------
# Signal handlers
@@ -76,10 +78,22 @@ func _on_room_entered(grid_pos: Vector2i) -> void:
func _on_run_ended(_reached_hub: bool) -> void:
_rooms_data.clear()
_revealed_positions.clear()
_player = null
queue_redraw()
func _on_room_revealed() -> void:
# Fragmented Map effect: reveal types of adjacent unvisited rooms
if not _rooms_data.has(_current_pos):
return
var current_room: RoomData = _rooms_data[_current_pos]
for conn_pos in current_room.connections.values():
if conn_pos not in _revealed_positions:
_revealed_positions.append(conn_pos)
queue_redraw()
func _process(_delta: float) -> void:
if _rooms_data.is_empty():
return
@@ -195,9 +209,13 @@ func _draw() -> void:
var rect := Rect2(map_pos, ROOM_SIZE)
# Fog of war: unvisited rooms show as generic grey (hide type info)
# Exception: revealed rooms (Fragmented Map) show their type dimmed
var color: Color
if is_visited:
color = ROOM_COLORS.get(room.type, ROOM_COLORS[RoomData.RoomType.COMBAT])
elif pos in _revealed_positions:
color = ROOM_COLORS.get(room.type, ROOM_COLORS[RoomData.RoomType.COMBAT])
color.a = UNVISITED_ALPHA
else:
color = UNVISITED_COLOR
color.a = UNVISITED_ALPHA