Skip to content

Commit

Permalink
Merge branch 'GodotVR:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
tcrass authored Sep 16, 2023
2 parents 315cd26 + 1eb7c7a commit d2a7133
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 12 deletions.
4 changes: 4 additions & 0 deletions VERSIONS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# 4.2.1
- Fixed snap-zones showing highlight when disabled.
- Fixed pickup leaving target highlighted after picking up.

# 4.2.0
- Environments can now be set normally in scenes loaded through the staging system.
- Fixed issue with not being able to push rigid bodies when colliding with them.
Expand Down
5 changes: 3 additions & 2 deletions addons/godot-xr-tools/functions/function_pickup.gd
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@ func _ready():
_update_colliders()

# Monitor Grab Button
get_parent().connect("button_pressed", _on_button_pressed)
get_parent().connect("button_released", _on_button_released)
_controller.connect("button_pressed", _on_button_pressed)
_controller.connect("button_released", _on_button_released)


# Called on each frame to update the pickup
Expand Down Expand Up @@ -405,6 +405,7 @@ func _pick_up_object(target: Node3D) -> void:

# If object picked up then emit signal
if is_instance_valid(picked_up_object):
picked_up_object.request_highlight(self, false)
emit_signal("has_picked_up", picked_up_object)


Expand Down
29 changes: 19 additions & 10 deletions addons/godot-xr-tools/objects/snap_zone.gd
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ enum SnapMode {


## Enable or disable snap-zone
@export var enabled : bool = true
@export var enabled : bool = true: set = _set_enabled

## Optional audio stream to play when a object snaps to the zone
@export var stash_sound : AudioStream
Expand Down Expand Up @@ -75,7 +75,7 @@ func _ready():

# Perform the initial object check when next idle
if not Engine.is_editor_hint():
call_deferred("_initial_object_check")
_initial_object_check.call_deferred()


# Called on each frame to update the pickup
Expand Down Expand Up @@ -159,8 +159,8 @@ func drop_object() -> void:
# let go of this object
picked_up_object.let_go(Vector3.ZERO, Vector3.ZERO)
picked_up_object = null
emit_signal("has_dropped")
emit_signal("highlight_updated", self, true)
has_dropped.emit()
highlight_updated.emit(self, enabled)


# Check for an initial object pickup
Expand All @@ -170,8 +170,8 @@ func _initial_object_check() -> void:
# Force pick-up the initial object
pick_up_object(get_node(initial_object))
else:
# Show highlight when empty
emit_signal("highlight_updated", self, true)
# Show highlight when empty and enabled
highlight_updated.emit(self, enabled)


# Called when a body enters the snap zone
Expand Down Expand Up @@ -206,7 +206,7 @@ func _on_snap_zone_body_entered(target: Node3D) -> void:

# Show highlight when something could be snapped
if not is_instance_valid(picked_up_object):
emit_signal("close_highlight_updated", self, true)
close_highlight_updated.emit(self, enabled)


# Called when a body leaves the snap zone
Expand All @@ -220,7 +220,7 @@ func _on_snap_zone_body_exited(target: Node3D) -> void:

# Hide highlight when nothing could be snapped
if _object_in_grab_area.is_empty():
emit_signal("close_highlight_updated", self, false)
close_highlight_updated.emit(self, false)


# Test if this snap zone has a picked up object
Expand Down Expand Up @@ -255,8 +255,17 @@ func pick_up_object(target: Node3D) -> void:

# If object picked up then emit signal
if is_instance_valid(picked_up_object):
emit_signal("has_picked_up", picked_up_object)
emit_signal("highlight_updated", self, false)
has_picked_up.emit(picked_up_object)
highlight_updated.emit(self, false)


# Called when the enabled property has been modified
func _set_enabled(p_enabled: bool) -> void:
enabled = p_enabled
if is_inside_tree:
highlight_updated.emit(
self,
enabled and not is_instance_valid(picked_up_object))


# Called when the grab distance has been modified
Expand Down

0 comments on commit d2a7133

Please sign in to comment.