Partial selector fix

This commit is contained in:
Marco 2025-02-20 11:04:51 +01:00
commit 882608be72
2 changed files with 15 additions and 14 deletions

View file

@ -214,15 +214,17 @@ public partial class PlayerMovement : CharacterBody2D, IDestructible
private void FindInteractable()
{
if (!Input.IsActionJustPressed("Use") || _selector.SelectedInteractable == null) return;
if (!_selector.SelectedInteractable.CanActivate()) return;
bool success = _selector.SelectedInteractable.Activate();
var selected = _selector.SelectedInteractable;
if (!Input.IsActionJustPressed("Use") || selected == null) return;
if (!selected.CanActivate()) return;
bool success = selected.Activate();
if (success)
{
// Deselect and scan for next
_selector.SelectedInteractable = null;
_selector.SelectNext();
_selector.RemoveInteractable(selected);
//_selector.SelectedInteractable = null;
//_selector.SelectNext();
}
//var spaceState = GetWorld2D().DirectSpaceState;

View file

@ -49,14 +49,14 @@ public partial class Selector : Node2D
SelectNext();
}
if (SelectedInteractable != null) {
this.Visible = true;
this.GlobalPosition = SelectedInteractable.GlobalPosition;
}
else
{
this.Visible = false;
}
// if (SelectedInteractable is not null) {
// this.Visible = true;
// this.GlobalPosition = SelectedInteractable.GlobalPosition;
// }
// else
// {
// this.Visible = false;
// }
}
public void SelectNext()
@ -115,7 +115,6 @@ public partial class Selector : Node2D
public void UpdatePosition()
{
return;
if (SelectedInteractable != null)
{
this.Position = SelectedInteractable.Position;