package Roguelike.Ability.ActiveAbility.TargetingType; import Roguelike.Ability.ActiveAbility.ActiveAbility; import Roguelike.Tiles.GameTile; import com.badlogic.gdx.utils.XmlReader.Element; public class TargetingTypeDirection extends AbstractTargetingType { @Override public void parse(Element xml) { } @Override public boolean isTargetValid(ActiveAbility ab, GameTile tile) { int x = tile.x - ab.source.x; int y = tile.y - ab.source.y; if (x == 0 && y == 0) { return false; } if ( (x == 0 && y != 0) || // vertical (x != 0 && y == 0) || // horizontal (x == y) || // SW / NE (x == y*-1) // SE / NW ) { return true; } return false; } @Override public AbstractTargetingType copy() { return new TargetingTypeDirection(); } }