# Undercooked - a game about cooking # Copyright 2024 nokoe # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, version 3 of the License only. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # class_name Item extends Node3D var owned_by: Node3D var base: Node3D = Node3D.new() var progress_instance: ProgressBar3D = preload("res://map/progress.tscn").instantiate() func _init(owned_by_: Node3D): progress_instance.position.y = 1 progress_instance.visible = false add_child(progress_instance) base.position = base_position() add_child(base) owned_by = owned_by_ func _ready(): position = owned_by.global_position func _process(delta): position = lerp(position, owned_by.global_position, delta * 30.0) func progress(p: float, warn: bool): progress_instance.visible = true progress_instance.set_progress(p, warn) func finish(_warn: bool): progress_instance.visible = false static func base_position() -> Vector3: return Vector3(0., 0., 0.)