From 4a5d1f02c38bdd4250e0d83536f854edfb77d1ea Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Mon, 31 May 2021 17:39:44 +0200 Subject: [PATCH] fix moving hidden overlays & cleanup --- ovr-utils/ListOverlayItem.tscn | 24 +++++++++++------- .../interaction/overlay_interaction.gd | 4 +-- .../addons/openvr_overlay/overlay_instance.gd | 5 ++++ ovr-utils/menu.theme | Bin 755 -> 0 bytes ovr-utils/overlay_list_item.gd | 2 +- ovr-utils/styles/menu.theme | Bin 593 -> 979 bytes 6 files changed, 23 insertions(+), 12 deletions(-) delete mode 100644 ovr-utils/menu.theme diff --git a/ovr-utils/ListOverlayItem.tscn b/ovr-utils/ListOverlayItem.tscn index 7edaec1..e26ee29 100644 --- a/ovr-utils/ListOverlayItem.tscn +++ b/ovr-utils/ListOverlayItem.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=11 format=2] [ext_resource path="res://styles/menu.theme" type="Theme" id=1] [ext_resource path="res://icons/visible.svg" type="Texture" id=2] @@ -8,6 +8,10 @@ [ext_resource path="res://icons/reset.svg" type="Texture" id=6] [ext_resource path="res://icons/size.svg" type="Texture" id=7] [ext_resource path="res://icons/hand_r.svg" type="Texture" id=8] +[ext_resource path="res://textures/icon.png" type="Texture" id=9] + +[sub_resource type="DynamicFont" id=1] +size = 1 [node name="ListOverlayItem" type="PanelContainer"] margin_top = 1727.0 @@ -35,25 +39,27 @@ margin_bottom = 199.0 alignment = 2 [node name="Remove" type="Button" parent="HBoxContainer"] -margin_left = 1006.0 -margin_right = 1182.0 +margin_left = 948.0 +margin_right = 1124.0 margin_bottom = 191.0 toggle_mode = true icon = ExtResource( 5 ) [node name="Reset" type="Button" parent="HBoxContainer"] -margin_left = 1186.0 -margin_right = 1362.0 +margin_left = 1128.0 +margin_right = 1304.0 margin_bottom = 191.0 icon = ExtResource( 6 ) [node name="Target" type="OptionButton" parent="HBoxContainer"] -margin_left = 1366.0 +margin_left = 1308.0 margin_right = 1492.0 margin_bottom = 191.0 -text = "H" -items = [ "H", null, false, 0, null, "L", ExtResource( 8 ), false, 1, null, "R", ExtResource( 8 ), false, 2, null, "W", null, false, 3, null ] -selected = 0 +custom_fonts/font = SubResource( 1 ) +text = "Left" +icon = ExtResource( 8 ) +items = [ "Head", ExtResource( 9 ), false, 0, null, "Left", ExtResource( 8 ), false, 1, null, "Right", ExtResource( 8 ), false, 2, null, "World", ExtResource( 4 ), false, 3, null ] +selected = 1 [node name="Size" type="Button" parent="HBoxContainer"] margin_left = 1496.0 diff --git a/ovr-utils/addons/openvr_overlay/interaction/overlay_interaction.gd b/ovr-utils/addons/openvr_overlay/interaction/overlay_interaction.gd index b578945..e8881e4 100644 --- a/ovr-utils/addons/openvr_overlay/interaction/overlay_interaction.gd +++ b/ovr-utils/addons/openvr_overlay/interaction/overlay_interaction.gd @@ -53,7 +53,7 @@ func _trigger_off(): func _on_OverlayArea_entered(body: Node) -> void: - if body.get_node("../../..") != self or pause_triggers: + if body.get_node("../../..") != self or pause_triggers or !get_parent().overlay_visible: return touch_state = true active_controller = body.get_parent().name @@ -62,7 +62,7 @@ func _on_OverlayArea_entered(body: Node) -> void: func _on_OverlayArea_exited(body: Node) -> void: - if body.get_node("../../..") != self or pause_triggers: + if body.get_node("../../..") != self or pause_triggers or !get_parent().overlay_visible: return # TODO revert to other controller if both were touching (edge case) active_controller = "" diff --git a/ovr-utils/addons/openvr_overlay/overlay_instance.gd b/ovr-utils/addons/openvr_overlay/overlay_instance.gd index 775bff0..1b73fff 100644 --- a/ovr-utils/addons/openvr_overlay/overlay_instance.gd +++ b/ovr-utils/addons/openvr_overlay/overlay_instance.gd @@ -26,6 +26,7 @@ var _offsets:Dictionary = { var current_target: String = "world" setget _set_current_target# most of the time the actual target, but will fall back 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 _tracker_id: int = 0 @@ -139,6 +140,10 @@ func update_current_target(): update_tracker_id() +func set_overlay_visible(state: bool): + overlay_visible = state + $OverlayViewport.overlay_visible = state + func _tracker_changed(tracker_name: String, type: int, id: int): update_current_target() diff --git a/ovr-utils/menu.theme b/ovr-utils/menu.theme deleted file mode 100644 index 3dc901e6475e95a78207f7be17e4c3d05ea6026d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 755 zcmV`0G8zT zVPJp(RYO4mk1~)Z@}7H3*11XBa&NL49ML%nzti%6Iq*L-13&%g%*U*FcIAR?c4R3` z08;=_08qyxY}H}6G)|?mRrdeJ<@R$8!Dmz{I!W!E{$pIi2iHX{yVn!^pYbK(=6?cT zN%`{ST~onUPZxY@mz>~S`QPJzhOe|yi2oM?{!V+@rGW#FIXR|M$z{3VjQ2qq7!Hl7 znM+Y}nS>DUQYk7~2l{V7K}Q`YyX{l#I#MOoyv=ZRbaEAV$RlDY^qw|tWvUsr{|CO9 zON|!CCD;uEZ&^V+l_cbjIW5>Q&)m1tlc8&s8h1v|Y}TIq;B4ny86{lq2pB~;+Xv}% zOig&^!?1hW{AY00Z_>6*b=XaHPnB!dovpzX$TXT8j5Vt43mi~5C>TgaL_(en$OTO_ zvEoD1TCpM|_8_v)22RO#XM`tEpNu$L{RD7hwMV_bR zAMn0p8(XX>^A z5}*?`R8mSRLqw$oB_+*%2ghY6{P)0*Su6t=Jqn>8nLF-NTKW0onF5cmYzV2xS7xcl z%jTZM?G-wG4dp_(DjkZBHDfKXA;Ju!P$HoQYt&WIhZHu^dPUCOFXES4Yp0_dqH|ed za%qzmGLTbI`%q*g_7UvXDrhZ@yLEb`<)-zZ3Y%}k=Vhx7G8-&xxiFOQh0QLt@sUW} z$gw9m2o(7N%8GEIce5aad#nLK$b_0cbxmkN2uu9kk0{?9=G_S lKbSlT^gbL_x@t?NjZCc`I`xw%|GfRGqWwCpf;&=ELqpT(Tv7l4 diff --git a/ovr-utils/overlay_list_item.gd b/ovr-utils/overlay_list_item.gd index d61ce43..e910cd1 100644 --- a/ovr-utils/overlay_list_item.gd +++ b/ovr-utils/overlay_list_item.gd @@ -10,7 +10,7 @@ func _ready() -> void: func _on_Visibility_toggled(state: bool) -> void: - overlay.get_node("OverlayViewport").overlay_visible = state + overlay.overlay_visible = state if state: $HBoxContainer/Visibility.icon = preload("res://icons/visible.svg") else: diff --git a/ovr-utils/styles/menu.theme b/ovr-utils/styles/menu.theme index 5c40ceb0577b370bbc1ccf9bd76c4feeeb9deffa..636bed569d5fee6edaf7c2c53e140ff3daf44b0a 100644 GIT binary patch literal 979 zcmV;^11$VfQ$s@n000005C8yu3IG7R0{{RhwJ-f(eF=>n0CpyOJ^;}q9jOGUR8>`N zNxNDBs;Y#BHB^b*9%M`Yz8fKuY^3TRP?m_bRijnxepJUucm6+l`_^2ihBjw6N5d3d z0A~Pa0IgJOj@5qyUy(}quy?hc+5e8q z2&4OG%MW%I|9gB>y!l_i_fr1&^19h#H>fVcwoYbouKeHmFY~=Nbn}0}#vf3#6KynS zgqF(K9G{lL%HlWmL2a*DcUD!*iIj#W2*rwt7C!BzK1xhFGkcWECYR-cQ@n8U5D7^T zYU<@Qxs;3(uWLCfDQo&)KtYGBC%anM_*qh~*1XNpHTI+(xx8m%$SQO3PX zc@*;>!T$iqtbJ8fIE8b-hu)Ff}$c|2IU$ zz<@%4_`H1Z(7}bnM@O{SpdkZ>mJ2K^Dj$qR4C#f$3mBiOsyrVR|Hp)k8GnienYCzd z*3xT6;|K6oDC6;~_%+_a;i5em@6}mxmeE^gz9LC3oJDEjI6avlij!wTxhR5cs%{Sj zBPeCE+VEmDl8b|DfZ3>F#W6!8BO*zXLONiAA*QH02NFO7F_kjNB4doHksyJlAT`=E z`{nk3XrEo)js^B{A3wbuS?)&OqIMr+Sj6!DDj6#;oF#4UB16vtHnQi5xDeN*KzI;= z-*l+kPkiT{@at{t=Pmo%k<|tOGQx>fUF9=&+!KilNCcB5@S1!BGuG!?Jaoy@SV(cp zSg8L2gbA{4>BB0w_HC80!LO0e%NMVUt? zG$@5ONN~xaq=;&kpoS5FJRvSlzSY5qj}CWur9apiN2x z<15%0A8d-2^)~U+sxDS&*B$*E?H*1_2wCcJ+Af43`DFKS>+4!?A|J`i^(=+}fkb%C z#VJoH%G>3^?=I-JE_N}ep?{Jg$v>m^sK1)MyVBD()Oa+Gk5i?c4T=Bpd0V(N|Y)`*iE2G3XJ5MMj)9`~5!H9m6E>W+(+d06_pl z057|-=)l>bW zX8fUMVO-koeJFR^N<`U0#|mF>^8dvHiWyC}!SR3q(z+QIlTb-O{))So%CL1mS}Jn* z??B@XrMF7qX>F9@a5j?Wjq9?;hb~#;a4R6bvdH8yXah zi;D|EVgUvXB1T-ID7uvV7Y`*&{0aU8nEWLc6_vJ3n$n41a2$_6fKK~FMizEZ*z99@ zCVaD)%>M$9x-C#!Oa%^MsBt+mL^GryCIy9bPy!-lbMq1aH62hQX;nbc1w|>z{WD|3 z5Z&j+P5tle74!jfXL#CZ#JchmP^fqtbNJH_Y=wr{n0MDl#T~ZB?LZ)gna=f$i){@@ zNnWvb~6j67Ag4c8wWC^NOl%E6aPk}>5p~| zv-k1fa5GVwu8XQ1*8;uX>!>q?G-G15IzD>zuYC>WG@rtu|wQjhw+ fk^5>z;Z|fe>gjXH63U-%RSk9L>hXpFQd2`i=Y|$h