Files
seeding-planets/gui/game/objective_progress_bar/scripts/gauge_3d.gd

22 lines
704 B
GDScript

@tool
extends Node3D
class_name Gauge3D
const MAX_PROGRESS_BAR_SCALE = 4.25
const CYLINDER_HEIGHT = 4.8
@export var progress := 0. : set = set_progress
func _ready():
if progress != null:
%ProgressBar.scale.x = progress * MAX_PROGRESS_BAR_SCALE
func set_progress(_progress : float):
progress = _progress
if is_node_ready() and progress != null:
var capped_progress = max(0.,min(1., progress))
%ProgressBar3D.scale.y = capped_progress * %ProgressBar3D.scale.x
var bar_length = CYLINDER_HEIGHT
%ProgressBar3D.position.z = - bar_length * capped_progress + bar_length
# %ProgressBar.scale.x = max(0.,min(1., progress)) * MAX_PROGRESS_BAR_SCALE