Allow holding the cargo pickup & dropoff key (#10859)

Allow holding down the cargo pickup & cargo drop keys to repeatedly pick up or drop off payloads. This takes effect after a short delay so that tapping to pick up or drop off individual payloads is still reliable.
This commit is contained in:
Iniquit
2025-05-31 10:18:14 -04:00
committed by GitHub
parent 33d012f9bb
commit 9419f85642
2 changed files with 22 additions and 0 deletions

View File

@@ -56,6 +56,11 @@ public class DesktopInput extends InputHandler{
/** Time of most recent control group selection */
public long lastCtrlGroupSelectMillis;
/** Time of most recent payload pickup/drop key press*/
public long lastPayloadKeyTapMillis;
/** Time of most recent payload pickup/drop key hold*/
public long lastPayloadKeyHoldMillis;
private float buildPlanMouseOffsetX, buildPlanMouseOffsetY;
private boolean changedCursor;
@@ -970,10 +975,26 @@ public class DesktopInput extends InputHandler{
if(unit instanceof Payloadc){
if(Core.input.keyTap(Binding.pickupCargo)){
tryPickupPayload();
lastPayloadKeyTapMillis = Time.millis();
}
if(Core.input.keyDown(Binding.pickupCargo)
&& Time.timeSinceMillis(lastPayloadKeyHoldMillis) > 20
&& Time.timeSinceMillis(lastPayloadKeyTapMillis) > 200){
tryPickupPayload();
lastPayloadKeyHoldMillis = Time.millis();
}
if(Core.input.keyTap(Binding.dropCargo)){
tryDropPayload();
lastPayloadKeyTapMillis = Time.millis();
}
if(Core.input.keyDown(Binding.dropCargo)
&& Time.timeSinceMillis(lastPayloadKeyHoldMillis) > 20
&& Time.timeSinceMillis(lastPayloadKeyTapMillis) > 200){
tryDropPayload();
lastPayloadKeyHoldMillis = Time.millis();
}
}
}