Пример #1
0
    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);
                }
            }
        }
    }