3D Switches

This commit is contained in:
Marco 2025-06-13 17:46:44 +02:00
commit cb60226ced
20 changed files with 267 additions and 14 deletions

View file

@ -48,8 +48,12 @@ public partial class IsoActivationProvider: Area3D, IModule<PlayerState, Charact
StateMachine = machine;
_selectorController.Hide();
// TODO: Create selector UI element and link the signals
if (Hud.Instance is not null)
{
Hud.Instance.CreateSelector(_selectorController);
}
// if (SelectorScene is not null && _selector is null)
// {
@ -65,7 +69,9 @@ public partial class IsoActivationProvider: Area3D, IModule<PlayerState, Charact
public void PhysicsProcess(double delta)
{
_selectorController.PhysicsProcess(delta);
HandleInteraction();
}
public void HandleInteraction()

View file

@ -118,7 +118,7 @@ public partial class SelectorController : Node
{
if (SelectedInteractable != null)
{
EmitSignalChangePosition(SelectedInteractable.GetGlobalPosition());
EmitSignalChangePosition(SelectedInteractable.GetScreenPosition());
EmitSignalShowSelector();
}
else
@ -136,4 +136,10 @@ public partial class SelectorController : Node
{
EmitSignalHideSelector();
}
public void PhysicsProcess(double delta)
{
if (SelectedInteractable is null) return;
EmitSignalChangePosition(SelectedInteractable.GetScreenPosition());
}
}