Skip to content

Commit 1202631

Browse files
committed
Allow opening imported model
It's directory is also opened in the filesystem dock.
1 parent 00fe32f commit 1202631

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

addons/sketchfab/ModelDialog.gd

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ onready var progress = find_node("ProgressBar")
2121
onready var size_label = find_node("Size")
2222

2323
var uid
24+
var imported_path
2425

2526
func set_uid(uid):
2627
self.uid = uid
@@ -79,6 +80,12 @@ func _on_about_to_show():
7980
$All.visible = true
8081

8182
func _on_Download_pressed():
83+
if imported_path:
84+
var ei = get_tree().get_meta("__editor_interface")
85+
ei.open_scene_from_path(imported_path)
86+
hide()
87+
return
88+
8289
# Request download link
8390

8491
download.disabled = true
@@ -166,8 +173,23 @@ func _on_Download_pressed():
166173

167174
size_label.text = " Model unpacked into project!"
168175

169-
# Trigger import
170-
get_tree().get_meta("__editor_interface").get_resource_filesystem().scan()
176+
# Import and open
177+
178+
var base_name = filename.substr(0, filename.find(".zip"))
179+
imported_path = "res://sketchfab/%s/scene.gltf" % base_name
180+
var ei = get_tree().get_meta("__editor_interface")
181+
ei.get_resource_filesystem().scan()
182+
while ei.get_resource_filesystem().is_scanning():
183+
yield(get_tree(), "idle_frame")
184+
if !get_tree():
185+
return
186+
ei.select_file(imported_path)
187+
188+
progress.visible = false
189+
size_label.visible = false
190+
download.visible = true
191+
download.text = "OPEN IMPORTED MODEL"
192+
download.uppercase = true
171193

172194
func _on_download_progressed(bytes, total_bytes):
173195
if !get_tree():

0 commit comments

Comments
 (0)