diff --git a/ovr-utils/Main.tscn b/ovr-utils/Main.tscn index ae80bdc..0f1756c 100644 --- a/ovr-utils/Main.tscn +++ b/ovr-utils/Main.tscn @@ -1,14 +1,3 @@ -[gd_scene load_steps=4 format=2] - -[ext_resource path="res://addons/openvr_overlay/OverlayInstance.tscn" type="PackedScene" id=1] -[ext_resource path="res://ui/MainOverlay.tscn" type="PackedScene" id=2] -[ext_resource path="res://overlay_manager.gd" type="Script" id=6] +[gd_scene format=2] [node name="Main" type="Node"] - -[node name="OverlayManager" type="Node" parent="."] -script = ExtResource( 6 ) - -[node name="MainOverlay" parent="OverlayManager" instance=ExtResource( 1 )] -overlay_scene = ExtResource( 2 ) -add_cursor = true diff --git a/ovr-utils/OverlayManager.tscn b/ovr-utils/OverlayManager.tscn new file mode 100644 index 0000000..637dc4d --- /dev/null +++ b/ovr-utils/OverlayManager.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=5 format=2] + +[ext_resource path="res://ui/MainOverlay.tscn" type="PackedScene" id=1] +[ext_resource path="res://addons/openvr_overlay/OverlayInstance.tscn" type="PackedScene" id=2] +[ext_resource path="res://addons/openvr_overlay/overlay_instance.gd" type="Script" id=3] +[ext_resource path="res://overlay_manager.gd" type="Script" id=4] + +[node name="OverlayManager" type="Node"] +script = ExtResource( 4 ) + +[node name="MainOverlay" type="Spatial" parent="." instance=ExtResource( 2 )] +script = ExtResource( 3 ) +overlay_scene = ExtResource( 1 ) +add_cursor = true diff --git a/ovr-utils/overlay_manager.gd b/ovr-utils/overlay_manager.gd index 8f7426c..975d784 100644 --- a/ovr-utils/overlay_manager.gd +++ b/ovr-utils/overlay_manager.gd @@ -10,6 +10,10 @@ func _init() -> void: Settings.connect("settings_loaded", self, "_load_overlays") +func _ready() -> void: + randomize() + + func _load_overlays(): if loaded: return diff --git a/ovr-utils/overlay_scripts/main_menu.gd b/ovr-utils/overlay_scripts/main_menu.gd index dbdc5e1..ad059c3 100644 --- a/ovr-utils/overlay_scripts/main_menu.gd +++ b/ovr-utils/overlay_scripts/main_menu.gd @@ -2,8 +2,8 @@ extends Control func _ready() -> void: - get_node("/root/Main/OverlayManager").connect("added_overlay", self, "_add_overlay_to_list") - get_node("/root/Main/OverlayManager").connect("removed_overlay", self, "_remove_overlay_from_list") + OverlayManager.connect("added_overlay", self, "_add_overlay_to_list") + OverlayManager.connect("removed_overlay", self, "_remove_overlay_from_list") for o in Settings.s.overlays: if o != "MainOverlay": _add_overlay_to_list(o) diff --git a/ovr-utils/project.godot b/ovr-utils/project.godot index 4846021..e639af3 100644 --- a/ovr-utils/project.godot +++ b/ovr-utils/project.godot @@ -20,6 +20,7 @@ config/icon="res://textures/icon.png" Settings="*res://addons/settings-manager/Settings.tscn" OverlayInit="*res://addons/openvr_overlay/overlay_init.gd" +OverlayManager="*res://OverlayManager.tscn" [display] diff --git a/ovr-utils/ui/add_menu.gd b/ovr-utils/ui/add_menu.gd index 436b037..837a290 100644 --- a/ovr-utils/ui/add_menu.gd +++ b/ovr-utils/ui/add_menu.gd @@ -14,7 +14,7 @@ func _ready() -> void: func add_overlay(type): - get_node("/root/Main/OverlayManager").add_overlay(type, type + str(randi()%100)) + OverlayManager.add_overlay(type, type + str(randi()%100)) visible = false diff --git a/ovr-utils/ui/overlay_list_item.gd b/ovr-utils/ui/overlay_list_item.gd index b633702..7ffe522 100644 --- a/ovr-utils/ui/overlay_list_item.gd +++ b/ovr-utils/ui/overlay_list_item.gd @@ -4,7 +4,7 @@ export var overlay_name: String var overlay func _ready() -> void: - overlay = get_node("/root/Main/OverlayManager").get_node(overlay_name) + overlay = OverlayManager.get_node(overlay_name) $Label.text = overlay_name name = overlay_name $HBoxContainer/Target.selected = overlay.TARGETS.find(Settings.s.overlays[overlay_name].target) @@ -36,5 +36,5 @@ func _overlay_visibility_changed(state: bool): func _on_Remove_pressed() -> void: - get_node("/root/Main/OverlayManager").remove_overlay(overlay_name) + OverlayManager.remove_overlay(overlay_name)