Fixed nested entities stuff

This commit is contained in:
2025-05-19 16:49:44 -05:00
parent 0c5675e1b4
commit 3b9986b4ee
7 changed files with 38 additions and 36 deletions

View File

@@ -69,7 +69,7 @@ func getDirectionToFace(position:Vector3) -> Direction:
if !characterBody:
return Direction.SOUTH;
var diff = position - characterBody.position;
var diff = position - characterBody.global_position;
if abs(diff.x) > abs(diff.z):
if diff.x > 0:
return Direction.EAST;

View File

@@ -21,8 +21,8 @@ func getRaycastInteractable() -> EntityInteractable:
var rayDirection = entityDirection.getDirectionVector()
var query = PhysicsRayQueryParameters3D.create(
characterBody.position,
characterBody.position + (rayDirection * interactRange)
characterBody.global_position,
characterBody.global_position + (rayDirection * interactRange)
)
query.collide_with_bodies = true;
query.collide_with_areas = true;

View File

@@ -1,6 +1,7 @@
class_name ItemOnGround extends StaticBody3D
@export var interactEvent:Event = null
@export var itemType:Item.Type = Item.Type.POTION;
@export var quantity:int = 1;
func _ready() -> void:
$Entity/EntityInteractable.onInteract.connect(
@@ -12,16 +13,15 @@ func _exit_tree() -> void:
self.onEntityInteract
)
func selfDispose() -> void:
get_parent().remove_child(self)
self.queue_free()
func onEntityInteract(
interactor:EntityInteractor,
interactee:EntityInteractable
) -> void:
if interactEvent == null || (interactEvent.started && !interactEvent.isDone()):
return
interactEvent.onEntityInteract(interactor, $Entity/EntityInteractable)
self.selfDispose()
print("Interact?")
var event = EventGetItem.new()
event.itemType = itemType;
event.quantity = quantity;
event.onEntityInteract(interactor, interactee)
get_parent().remove_child(self)
self.queue_free()

View File

@@ -20,7 +20,7 @@ func _process(delta: float) -> void:
(viewportHeight / 2.0)
) / unitScale;
var look = follow.position;
var look = follow.global_position;
var position = Vector3(0, 0, 2) + look;
look_at_from_position(