0.4.0: map (N) that fills in as you explore and a compass (closes #1); Old Tam's seam and Cove tips (voiced); the journey and sea fish in the guide; trailer with the tunnel and the Cove; protocol 16
This commit is contained in:
@@ -21,6 +21,8 @@ var _diet_bars: Dictionary = {}
|
||||
var _status: Label
|
||||
var _clock: Label
|
||||
var _hurt: ColorRect
|
||||
var compass: Control
|
||||
var map: Control
|
||||
|
||||
## A red flash at the screen edge when something hits you.
|
||||
func _on_hurt(amount: float, _from: Vector3) -> void:
|
||||
@@ -196,6 +198,15 @@ func _build_stats(root: Control) -> void:
|
||||
tips.name = "HintCard"
|
||||
root.add_child(tips)
|
||||
tips.setup()
|
||||
# The compass along the top, and the map on N (Gitea issue #1).
|
||||
compass = preload("res://scripts/ui/compass.gd").new()
|
||||
compass.name = "Compass"
|
||||
root.add_child(compass)
|
||||
compass.setup(player)
|
||||
map = preload("res://scripts/ui/map_screen.gd").new()
|
||||
map.name = "Map"
|
||||
root.add_child(map)
|
||||
map.setup(player.get_parent(), player)
|
||||
|
||||
func _process(_d: float) -> void:
|
||||
_fade_chat()
|
||||
@@ -387,7 +398,9 @@ func _input(event: InputEvent) -> void:
|
||||
if event is InputEventKey and event.pressed and not event.echo and event.keycode == KEY_ESCAPE:
|
||||
if is_dead_screen():
|
||||
return # (respawn first)
|
||||
if _screen.is_open():
|
||||
if map != null and map.is_open():
|
||||
map.close()
|
||||
elif _screen.is_open():
|
||||
_screen.close()
|
||||
elif _menu.is_open():
|
||||
_menu.back()
|
||||
@@ -398,6 +411,13 @@ func _input(event: InputEvent) -> void:
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
if _menu.is_open():
|
||||
return
|
||||
if event.is_action_pressed("map") and not _screen.is_open() and not is_dead_screen() \
|
||||
and (map.is_open() or not player.ui_open):
|
||||
map.toggle()
|
||||
get_viewport().set_input_as_handled()
|
||||
return
|
||||
if map.is_open():
|
||||
return
|
||||
if event.is_action_pressed("inventory") and not _screen.is_open():
|
||||
_screen.open(null)
|
||||
get_viewport().set_input_as_handled()
|
||||
|
||||
Reference in New Issue
Block a user