init
This commit is contained in:
42
scripts/SpaceGUI.gd
Normal file
42
scripts/SpaceGUI.gd
Normal file
@@ -0,0 +1,42 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@onready var fuel_gauge = %FuelGauge
|
||||
@onready var eject_pod_level = %EjectPodLevel
|
||||
@onready var eject_indicator_bkgd := $EjectPodLevel/EjectIndicator/Background
|
||||
@onready var cargo_item_container = %CargoItemContainer
|
||||
@onready var no_cargo_placeholder = %NoCargoPlaceholder
|
||||
|
||||
const CARGO_ITEM = preload("res://scenes/cargo_item.tscn")
|
||||
|
||||
var cargo_gui_panels := {}
|
||||
|
||||
func _ready():
|
||||
DataHandler.pickup_item.connect(_on_pickup_item)
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
fuel_gauge.value = DataHandler.get_fuel()
|
||||
var percent = DataHandler.get_fuel_percent()
|
||||
var r = min(2 - 2 * percent, 1)
|
||||
var g = min(2.0 * percent, 1)
|
||||
fuel_gauge.get("theme_override_styles/fill").bg_color = Color(r, g, 0.0)
|
||||
|
||||
var eject_percent = DataHandler.eject_fuel_max_percentage()
|
||||
eject_pod_level.position.y = (1.0 - eject_percent) * get_viewport().size.y - 16
|
||||
eject_indicator_bkgd.modulate = Color.GREEN if DataHandler.has_fuel_needed_for_eject() else Color.RED
|
||||
|
||||
func _on_pickup_item():
|
||||
if DataHandler.has_cargo():
|
||||
if cargo_gui_panels.is_empty():
|
||||
no_cargo_placeholder.queue_free()
|
||||
for key in DataHandler.game_data.cargo:
|
||||
var count = DataHandler.game_data.cargo[key]
|
||||
if count > 0:
|
||||
if not cargo_gui_panels.has(key):
|
||||
cargo_gui_panels[key] = CARGO_ITEM.instantiate()
|
||||
cargo_item_container.add_child(cargo_gui_panels[key])
|
||||
cargo_gui_panels[key].init(key, count)
|
||||
else:
|
||||
cargo_gui_panels[key].update_count(count)
|
||||
|
||||
var cargo_gui: Node
|
||||
Reference in New Issue
Block a user