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

@@ -181,3 +181,4 @@ IchMagSchokolade
MonoChronos MonoChronos
RushieWashie RushieWashie
ITY ITY
Iniquit

View File

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