ld58-collector/paintings/layout/painting_pile.gd

28 lines
535 B
GDScript

@tool
extends ReferenceRect
class_name PaintingPile
func _get_minimum_size() -> Vector2:
return Vector2(0, size.x * 20. / 31.)
func _set_height_from_width():
size.y = size.x * 20. / 31.
update_minimum_size()
func _ready() -> void:
resized.connect(_set_height_from_width)
var tracking: Array[Node]
func push_tracking(node: Node) -> Rect2:
tracking.push_back(node)
var rect := get_global_rect()
rect.position += Vector2(8, 4) * (tracking.size() - 1)
return rect
func pop_tracking() -> Node:
return tracking.pop_back()