Added inventorylistener for watering can

This commit is contained in:
2025-11-07 20:37:59 +01:00
parent 6e833a0735
commit fe1dd2bcc1
3 changed files with 18 additions and 8 deletions
@@ -62,9 +62,6 @@ public partial class InteractionArea2D : Node2D
public void OnPlayerExited(Node2D player)
{
if (!_active)
return;
_label.Hide();
if (!_useOutline)
@@ -24,6 +24,7 @@ public partial class FieldBehaviour2D : Sprite2D
public Vector2 FieldPosition;
private bool _seedsActive;
private bool _wateringCanActive;
[Signal] public delegate void PlantedEventHandler();
@@ -32,7 +33,7 @@ public partial class FieldBehaviour2D : Sprite2D
// fieldstate == tilled / watered && samen im Inventar
bool canPlant = (FieldState == FieldState.Tilled || FieldState == FieldState.Watered) && _seedsActive;
// fieldstate == tilled && watering can ausgewählt
bool canWater = false;
bool canWater = FieldState == FieldState.Tilled && _wateringCanActive;
FieldInteractionArea.IsActive = canPlant || canWater;
}
@@ -41,11 +42,16 @@ public partial class FieldBehaviour2D : Sprite2D
_seedsActive = activated;
UpdateInteractionArea();
}
public void ActivateWateringCanInInventory(bool activated)
{
_wateringCanActive = activated;
UpdateInteractionArea();
}
public override void _Ready()
{
UpdateFieldState(FieldState);
UpdateInteractionArea();
int randomIndex = new Random().Next(0, _maskTexture.Length);
_maskSprite.Texture = _maskTexture[randomIndex];
_outlineSprite.Texture = _maskOutlineTextures[randomIndex];
@@ -79,6 +85,7 @@ public partial class FieldBehaviour2D : Sprite2D
FieldState = FieldState.NotFound;
break;
}
UpdateInteractionArea();
}