@ -50,6 +53,7 @@ public partial class InteractionArea2D : Node2D
publicvoidHighlightInteractable()
publicvoidHighlightInteractable()
{
{
GD.Print($"InteractionArea: Trying to highlight interactable. Current state: Active {_active}, Input Enabled {InputService.Instance.InputEnabled}, show label: {_showLabel} and use outline {_useOutline}.");
IsSelectedByDetector=true;
IsSelectedByDetector=true;
if(!_active||!InputService.Instance.InputEnabled)
if(!_active||!InputService.Instance.InputEnabled)
@ -63,13 +67,13 @@ public partial class InteractionArea2D : Node2D
foreach(varspritein_spritesToOutline)
foreach(varspritein_spritesToOutline)
{
{
GD.Print($"Highlighting outline material on {sprite.Name} Nr. {GetInstanceId()}");
sprite.Material=_outlineMaterial;
sprite.Material=_outlineMaterial;
}
}
}
}
publicvoidResetHighlight()
publicvoidResetHighlight()
{
{
GD.Print($"InteractionArea: Resetting interactable. Current state: show label: {_showLabel} and use outline {_useOutline}.");
IsSelectedByDetector=false;
IsSelectedByDetector=false;
_label.Hide();
_label.Hide();
@ -79,7 +83,6 @@ public partial class InteractionArea2D : Node2D
for(vari=0;i<_spritesToOutline.Length;i++)
for(vari=0;i<_spritesToOutline.Length;i++)
{
{
varsprite=_spritesToOutline[i];
varsprite=_spritesToOutline[i];
GD.Print($"Resetting outline material on {sprite.Name} Nr. {GetInstanceId()}");
sprite.Material=_backupMaterials[i];
sprite.Material=_backupMaterials[i];
}
}
}
}
@ -105,18 +108,11 @@ public partial class InteractionArea2D : Node2D
privatevoidTryInteract()
privatevoidTryInteract()
{
{
GD.Print("InteractionArea: Trying to interact.");
if(_area.HasOverlappingAreas())
if(_area.HasOverlappingAreas())
{
{
_label.Hide();
GD.Print("InteractionArea: Interacting.");
ResetHighlight();
if(_useOutline)
{
for(vari=0;i<_spritesToOutline.Length;i++)
{
varsprite=_spritesToOutline[i];
sprite.Material=_backupMaterials[i];
}
}
Interact();
Interact();
}
}
}
}
@ -135,6 +131,7 @@ public partial class InteractionArea2D : Node2D
publicvoidToggleActive()
publicvoidToggleActive()
{
{
GD.Print("InteractionArea: Toggled active state");