extends Node2D

var thread = Thread.new()

# This function runs in a thread!
# Threads always take one userdata argument
func _bg_load(path):
	print("THREAD FUNC!")
	# Load the resource
	var tex = ResourceLoader.load(path)
	# Call _bg_load_done on main thread
	call_deferred("_bg_load_done")
	return tex # return it


func _bg_load_done():
	# Wait for the thread to complete, get the returned value
	var tex = thread.wait_to_finish()
	# Set to the sprite
	get_node("Sprite").set_texture(tex)


func _on_load_pressed():
	if thread.is_active():
		# Already working
		return
	print("START THREAD!")
	thread.start(self, "_bg_load", "res://mona.png")