private void move() { if (mouse.Equals(selection)) { unselect(); } else if (!mouse.containsKey("Unit")) { if (path.Length > 0) { waiting = true; HexPosition.clearSelection(); selection = mouse; selection.select("Selection"); CmdMoveUnit(HexPosition.pathToIntString(path)); } } else { object enemy = null; if (mouse.tryGetValue("Unit", out enemy)) { if (isAttackable(selection.getUnit(), (Unit)enemy)) { actuallyAttack(); } } } }