From 727e559396fe4091d0d45b5c9e9f848c5bb80450 Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Tue, 29 Jun 2021 01:37:37 +0200 Subject: [PATCH] cleanup --- .../addons/openvr_overlay/overlay_instance.gd | 16 ++++++++++------ ovr-utils/overlay_scripts/image_viewer.gd | 1 - ovr-utils/overlay_settings_sync.gd | 2 +- ovr-utils/ui/add_menu.gd | 2 +- ovr-utils/ui/overlay_list_item.gd | 6 ++++-- 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/ovr-utils/addons/openvr_overlay/overlay_instance.gd b/ovr-utils/addons/openvr_overlay/overlay_instance.gd index 32fb366..52559d3 100644 --- a/ovr-utils/addons/openvr_overlay/overlay_instance.gd +++ b/ovr-utils/addons/openvr_overlay/overlay_instance.gd @@ -1,6 +1,6 @@ extends Spatial -signal type_changed +signal path_changed signal overlay_visible_changed signal width_changed signal alpha_changed @@ -11,8 +11,7 @@ signal offset_changed const TARGETS = ["head", "left", "right", "world"] export (String, "head", "left", "right", "world") var target = "left" setget set_target -export var overlay_scene: PackedScene# = \ -# preload("res://addons/openvr_overlay/MissingOverlay.tscn") setget set_overlay_scene +export var overlay_scene: PackedScene export var width_meters := 0.4 setget set_width_in_meters export var alpha := 1.0 setget set_alpha export var add_grabbing := true # add grabbing module @@ -31,8 +30,8 @@ var current_target: String = "world" setget _set_current_target var fallback = ["left", "right", "head"] # TODO setget that updates tracking (not important) var interaction_handler: Node var overlay_visible := true setget set_overlay_visible -#var type := "main" var path := "res://special_overlays/MainOverlay.tscn" setget set_path +var path_invalid := false onready var container = $OverlayViewport/Container @@ -151,12 +150,17 @@ func set_width_in_meters(width: float) -> void: func set_path(new: String) -> void: path = new + path_invalid = false + overlay_scene = load(path) - if not container: - return + if not overlay_scene: + path_invalid = true + overlay_scene = load("res://special_overlays/UnknownType.tscn") + if container.get_child_count() > 0: container.get_child(0).queue_free() container.add_child(overlay_scene.instance()) + emit_signal("path_changed") func set_alpha(val: float): diff --git a/ovr-utils/overlay_scripts/image_viewer.gd b/ovr-utils/overlay_scripts/image_viewer.gd index 97d9677..11aabf8 100644 --- a/ovr-utils/overlay_scripts/image_viewer.gd +++ b/ovr-utils/overlay_scripts/image_viewer.gd @@ -13,7 +13,6 @@ func _on_Open_pressed() -> void: func _on_FileDialog_file_selected(path: String) -> void: -# var img = load(path) var tex = ImageTexture.new() tex.load(path) $Image.texture = tex diff --git a/ovr-utils/overlay_settings_sync.gd b/ovr-utils/overlay_settings_sync.gd index 07143c8..dd965ad 100644 --- a/ovr-utils/overlay_settings_sync.gd +++ b/ovr-utils/overlay_settings_sync.gd @@ -8,7 +8,7 @@ var _needs_sync := true func _ready() -> void: p = get_parent() call_deferred("load_all") - p.connect("type_changed", self, "_prop_changed") + p.connect("path_changed", self, "_prop_changed") p.connect("overlay_visible_changed", self, "_prop_changed") p.connect("width_changed", self, "_prop_changed") p.connect("alpha_changed", self, "_prop_changed") diff --git a/ovr-utils/ui/add_menu.gd b/ovr-utils/ui/add_menu.gd index bad4979..2dd88ac 100644 --- a/ovr-utils/ui/add_menu.gd +++ b/ovr-utils/ui/add_menu.gd @@ -28,7 +28,7 @@ func get_overlay_paths(root := "res://overlays/"): var file_name = dir.get_next() while file_name != "": if dir.current_is_dir(): - # TODO make recursive, must include folder as prefix for type + # TODO make recursive pass else: found.append(root + file_name) diff --git a/ovr-utils/ui/overlay_list_item.gd b/ovr-utils/ui/overlay_list_item.gd index 2d23988..b7a1a3a 100644 --- a/ovr-utils/ui/overlay_list_item.gd +++ b/ovr-utils/ui/overlay_list_item.gd @@ -15,9 +15,11 @@ func _ready() -> void: name = overlay_name $MoreOptions/Container/List/Target.selected = overlay.TARGETS.find(overlay.target) overlay.connect("overlay_visible_changed", self, "_overlay_visible_changed") + overlay.connect("path_changed", self, "_update_warning") - #TODO use signal to activate warning -# $BasicOptions/List/Warning.visible = overlay.overlay_scene == preload("res://special_overlays/UnknownType.tscn") + +func _update_warning(): + $BasicOptions/List/Warning.visible = overlay.path_invalid $BasicOptions/List/Warning/WarningInfo/Label.text = overlay.path + "\nnot found"