32 lines
808 B
GDScript
32 lines
808 B
GDScript
class_name UI
|
|
extends Node
|
|
|
|
@export var player: Player
|
|
|
|
@onready var inventory_ui: InventoryUI = %Inventory
|
|
@onready var clock_hand: TextureRect = %Hand
|
|
|
|
var manager: GameManager
|
|
|
|
func _ready():
|
|
manager = GameManager.from_node(self)
|
|
manager.time().time_advanced.connect(_on_time_advance)
|
|
player.entity_inventory.inventory.changed.connect(_on_player_inventory_changed)
|
|
update_inventory_ui()
|
|
update_clock_hand(manager.time().day_progress())
|
|
|
|
func _on_player_inventory_changed():
|
|
update_inventory_ui()
|
|
|
|
func update_inventory_ui():
|
|
inventory_ui.update(player.get_inventory())
|
|
|
|
func _on_time_advance(_now: int, _advanced_by: int):
|
|
update_clock_hand(manager.time().day_progress())
|
|
|
|
func update_clock_hand(progress: float):
|
|
clock_hand.rotation = progress * PI * 2.0
|
|
|
|
func on_day_end():
|
|
print("Day over!")
|