private void HighlightHandler() { // Go from previously selected planet to deselect // (by clicking empty space) if (selectedPlanet == null) { if (oldSelection != null) { lineHandler.ClearPoints(); foreach (Planet p in oldSelection.adjacents) { p.Unhighlight(); } oldSelection = null; } } else { if (oldSelection != selectedPlanet && oldSelection != null) { foreach (Planet p in oldSelection.adjacents) { p.Unhighlight(); } oldSelection = selectedPlanet; foreach (Planet p in selectedPlanet.adjacents) { p.Highlight(); lineHandler.DrawLine(selectedPlanet, selectedPlanet.adjacents); } } if (targetPlanet != null && targeting == true && selectedPlanet.faction.ToLower() == "player") { selectedPlanet.MoveTroops(targetPlanet); targeting = false; selectedPlanet = null; targetPlanet = null; } else if (selectedPlanet != oldSelection) { oldSelection = selectedPlanet; foreach (Planet p in selectedPlanet.adjacents) { p.Highlight(); lineHandler.DrawLine(selectedPlanet, selectedPlanet.adjacents); } } } }