From 870854077099d55bb0cc52d45f97d23522c684cd Mon Sep 17 00:00:00 2001 From: Rendo Date: Mon, 28 Jul 2025 05:33:09 +0500 Subject: [PATCH] handle primary action inputs --- scripts/droppable-items/DroppableItem.cs | 1 + scripts/entities/plants/DragAction.cs | 4 +++- scripts/gui/ShovelButton.cs | 1 + scripts/level/PlantField.cs | 1 + scripts/projectiles/Sun.cs | 1 + 5 files changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/droppable-items/DroppableItem.cs b/scripts/droppable-items/DroppableItem.cs index a79427c..ca9f314 100644 --- a/scripts/droppable-items/DroppableItem.cs +++ b/scripts/droppable-items/DroppableItem.cs @@ -10,6 +10,7 @@ public partial class DroppableItem : Area2D { if (@event.IsActionPressed("primary_action")) { + GetViewport().SetInputAsHandled(); PickUp(); EmitSignal(SignalName.PickedUp); } diff --git a/scripts/entities/plants/DragAction.cs b/scripts/entities/plants/DragAction.cs index b0fc02f..f21d194 100644 --- a/scripts/entities/plants/DragAction.cs +++ b/scripts/entities/plants/DragAction.cs @@ -32,12 +32,14 @@ public partial class DragAction : Node toggle = false; can_end = false; EmitSignal(SignalName.DragBegin); - GetTree().CreateTimer(0.2,ignoreTimeScale:true).Timeout += OnToggleTimeout; + GetTree().CreateTimer(0.2, ignoreTimeScale: true).Timeout += OnToggleTimeout; + GetViewport().SetInputAsHandled(); } if (dragging && can_end && (toggle == false && @event.IsActionReleased("primary_action") || (toggle == true && @event.IsActionPressed("primary_action")))) { dragging = false; EmitSignal(SignalName.DragEnd); + GetViewport().SetInputAsHandled(); } } public void OnToggleTimeout() diff --git a/scripts/gui/ShovelButton.cs b/scripts/gui/ShovelButton.cs index 7b9de71..605d274 100644 --- a/scripts/gui/ShovelButton.cs +++ b/scripts/gui/ShovelButton.cs @@ -50,6 +50,7 @@ public partial class ShovelButton : TextureButton Disabled = true; } } + GetViewport().SetInputAsHandled(); hoveredEntity?.GetNode("FlashController").Deselect(); hoveredEntity = null; ButtonPressed = false; diff --git a/scripts/level/PlantField.cs b/scripts/level/PlantField.cs index c93254f..57a2e0d 100644 --- a/scripts/level/PlantField.cs +++ b/scripts/level/PlantField.cs @@ -90,6 +90,7 @@ public partial class PlantField : Node2D if (@event.IsActionPressed("primary_action") && _previousCanPlace) { + GetViewport().SetInputAsHandled(); var plant = _resource.Scene.Instantiate(); PoolContainer.Instance.Plants.AddChild(plant); plant.GlobalPosition = (_plantSetter.GlobalPosition / FieldParams.Tile).Ceil() * FieldParams.Tile - new Vector2(20, 14); diff --git a/scripts/projectiles/Sun.cs b/scripts/projectiles/Sun.cs index c95b8a3..5856259 100644 --- a/scripts/projectiles/Sun.cs +++ b/scripts/projectiles/Sun.cs @@ -24,6 +24,7 @@ public partial class Sun : Area2D if (@event.IsActionPressed("primary_action")) { + GetViewport().SetInputAsHandled(); ScoreSun(); } }