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"); } }