Payload support

This commit is contained in:
Anuken
2020-05-27 18:11:42 -04:00
parent bcadcb18bc
commit 92d265402b
39 changed files with 889 additions and 715 deletions

View File

@ -607,5 +607,25 @@ public class DesktopInput extends InputHandler{
isBoosting = Core.input.keyDown(Binding.boost) && !movement.isZero();
player.boosting(isBoosting);
if(unit instanceof Payloadc){
Payloadc pay = (Payloadc)unit;
if(Core.input.keyTap(Binding.pickupCargo) && pay.payloads().size < unit.type().payloadCapacity){
Unitc target = Units.closest(player.team(), pay.x(), pay.y(), 30f, u -> u.isAI() && u.isGrounded());
if(target != null){
pay.pickup(target);
}else if(!pay.hasPayload()){
Tilec tile = world.entWorld(pay.x(), pay.y());
if(tile != null && tile.team() == unit.team()){
pay.pickup(tile);
}
}
}
if(Core.input.keyTap(Binding.dropCargo)){
pay.dropLastPayload();
}
}
}
}