extends Control


export(Vector3) var world_offset

var _pos_offset
var _attachment


func _ready():
	_pos_offset = rect_position
	_attachment = get_parent() as Spatial


func _process(_delta):
	if _attachment == null:
		return

	var viewport = get_viewport()
	if viewport == null:
		return

	var camera = viewport.get_camera()
	if camera == null:
		return

	var world_pos = world_offset + _attachment.global_transform.origin
	var screen_pos = camera.unproject_position(world_pos)

	rect_position = _pos_offset + screen_pos - 0.5 * rect_size