private void HidePlanetInfoPopup()
 {
     InfoPopupSettings settings = new InfoPopupSettings();
     AcceptPopupSettings(settings, false);
 }
        private void ShowPlanetInfoPopup(Planet planet)
        {
            InfoPopupSettings settings = new InfoPopupSettings(true, true);
            FillPlanetState(planet);

            tempPlanetName = planet.Name;

            //Buttons
            if (planet.Owner != currentPlayer && planet.Query.Buttons.Count == 0 &&
                ((!players[currentPlayer].HasHome && planet.Terraform == 4) ||
                (players[currentPlayer].HasHome && planet.ShipsOnOrbit.Count > 0 && planet.Terraform != 0)))
            {
                settings.IsColonize = true;
            }

            if (planet.Owner == currentPlayer)
            {
                settings.IsWorkerShipCreate = true;
            }

            if (players[currentPlayer].HasHome && planet.Terraform != 4
                && planet.Terraform < planet.MaxTerraform && !planet.IsTerraforming &&
                planet.Owner == currentPlayer)
            {
                settings.IsTerraform = true;
            }

            if (planet.Terraform == 4 && planet.Owner == currentPlayer)
            {
                settings.IsStationBuilder = true;
            }
            //End buttons

            AcceptPopupSettings(settings);
        }
        private void AcceptPopupSettings(InfoPopupSettings settings, bool isOn = true)
        {
            Button colonize = screens["SolarSystem"].Objects["MoreInfoPopup"].ToPopup().Objects["ColonizeBtn"].ToButton();
            Button terraform = screens["SolarSystem"].Objects["MoreInfoPopup"].ToPopup().Objects["TerraformBtn"].ToButton();
            Button workerShip = screens["SolarSystem"].Objects["MoreInfoPopup"].ToPopup().Objects["CreateShipBtn"].ToButton();
            Button cross = screens["SolarSystem"].Objects["MoreInfoPopup"].ToPopup().Objects["CrossBtn"].ToButton();
            Button stationBuilder = screens["SolarSystem"].Objects["MoreInfoPopup"].ToPopup().Objects["StationBuilderBtn"].ToButton();
            TextBox name = screens["SolarSystem"].Objects["MoreInfoPopup"].ToPopup().Objects["NameTextBox"].ToTextBox();
            Planet planet = FindPlanet(screens["SolarSystem"].Objects["SolarSystem"].ToSolarSystem());
            if (planet == null) { return; }

            colonize.IsVisible = settings.IsColonize;
            terraform.IsVisible = settings.IsTerraform;
            workerShip.IsVisible = settings.IsWorkerShipCreate;
            cross.IsVisible = settings.IsCross;
            name.IsVisible = settings.IsName;
            stationBuilder.IsVisible = settings.IsStationBuilder;

            if (settings.IsColonize)
            {
                colonize.OnClick += new Button.OnClickHandler(ColonizeBtnClick);
            }
            else
            {
                colonize.OnClick -= ColonizeBtnClick;
            }

            if (settings.IsTerraform)
            {
                terraform.OnClick += new Button.OnClickHandler(TerraformBtnClick);
            }
            else
            {
                terraform.OnClick -= TerraformBtnClick;
            }

            if (settings.IsWorkerShipCreate)
            {
                workerShip.OnClick += new Button.OnClickHandler(CreateShipBtnClick);
            }
            else
            {
                workerShip.OnClick -= CreateShipBtnClick;
            }

            if (settings.IsCross)
            {
                cross.OnClick += new Button.OnClickHandler(PlanetInfoCloseClick);
            }
            else
            {
                cross.OnClick -= PlanetInfoCloseClick;
            }

            if (settings.IsName)
            {
                name.Content = planet.Name;
                name.OnEnter += new TextBox.OnEnterHandler(NameTextBoxEnter);
            }
            else
            {
                name.OnEnter -= NameTextBoxEnter;
            }

            if (settings.IsStationBuilder)
            {
                stationBuilder.OnClick += new Button.OnClickHandler(StationBuilderBtnOnClick);
            }
            else
            {
                stationBuilder.OnClick -= StationBuilderBtnOnClick;
            }

            if (isOn)
            {
                screens["SolarSystem"].Objects.Add("ProductQuery", planet.Query);
                planet.Query.IsVisible = true;
                screens["SolarSystem"].Objects["MoreInfoPopup"].ToPopup().IsVisible = true;
            }
            else
            {
                planet.Query.IsVisible = false;
                screens["SolarSystem"].Objects["MoreInfoPopup"].ToPopup().IsVisible = false;
                screens["SolarSystem"].Objects.Remove("ProductQuery");
            }
        }