Better unit control effects

This commit is contained in:
Anuken
2020-04-11 11:34:51 -04:00
parent b1f32d241b
commit f163601262
6 changed files with 81 additions and 13 deletions

View File

@ -175,6 +175,10 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
//make sure it's AI controlled, so players can't overwrite each other
}else if(unit.isAI() && unit.team() == player.team()){
player.unit(unit);
Time.run(Fx.unitSpirit.lifetime, () -> Fx.unitControl.at(unit.x(), unit.y(), 0f, unit));
if(!player.dead()){
Fx.unitSpirit.at(player.x(), player.y(), 0f, unit);
}
}
}
@ -706,6 +710,18 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
return Core.input.mouseWorld(getMouseX(), getMouseY()).sub(x, y).angle();
}
public @Nullable Unitc selectedUnit(){
Unitc unit = Units.closest(player.team(), Core.input.mouseWorld().x, Core.input.mouseWorld().y, 40f, Unitc::isAI);
if(unit != null){
unit.hitbox(Tmp.r1);
Tmp.r1.grow(6f);
if(Tmp.r1.contains(Core.input.mouseWorld())){
return unit;
}
}
return null;
}
public void remove(){
Core.input.removeProcessor(this);
frag.remove();