Made selector 3D

This commit is contained in:
Marco 2025-08-07 15:09:02 +02:00
commit 0a7b1614a9
8 changed files with 113 additions and 45 deletions

View file

@ -10,6 +10,8 @@ public partial class SelectorController : Node
[Signal] public delegate void HideSelectorEventHandler();
[Signal] public delegate void ChangePositionEventHandler(Vector2 position);
[Signal] public delegate void ChangeParent3DEventHandler(Node3D node);
private Interactable _lastInteractable;
private List<IInteractable> _interactables = [];
@ -100,10 +102,7 @@ public partial class SelectorController : Node
public void RemoveInteractable(IInteractable interactable)
{
if (_interactables.Contains(interactable))
{
_interactables.Remove(interactable);
}
_interactables.Remove(interactable);
UpdatePosition();
}
@ -119,6 +118,8 @@ public partial class SelectorController : Node
if (SelectedInteractable != null)
{
EmitSignalChangePosition(SelectedInteractable.GetScreenPosition());
//EmitSignalChangePosition3D();
EmitSignalChangeParent3D(SelectedInteractable as Node3D);
EmitSignalShowSelector();
}
else
@ -137,9 +138,9 @@ public partial class SelectorController : Node
EmitSignalHideSelector();
}
public void PhysicsProcess(double delta)
{
if (SelectedInteractable is null) return;
EmitSignalChangePosition(SelectedInteractable.GetScreenPosition());
}
// public void PhysicsProcess(double delta)
// {
// if (SelectedInteractable is null) return;
// //EmitSignalChangePosition(SelectedInteractable.GetScreenPosition());
// }
}