public void Show(VisualElement container, UpgradeAction.UpgradeDetails upgrade, Action updateContentsCallback) { var header = new Label(upgrade.title); header.AddToClassList("object-header"); container.Add(header); container.Add(new Label($"Cost: {upgrade.cost.supplies} supplies, {upgrade.cost.production} production")); gamePlan.ShowGamePlan(container); var btn = new Button { text = "Turns" }; btn.AddToClassList("calc-button"); btn.clicked += () => gamePlan.CalculateGamePlan(upgrade, updateContentsCallback); container.Add(btn); }
public void Show(VisualElement container, HexCell cell, Action updateContentsCallback) { var header = new Label(cell.DisplayName); header.AddToClassList("object-header"); container.Add(header); if (cell is BuildingCell buildingCell) { var currencyBonus = buildingCell.GetCurrencyBonus(Technology.None); if (currencyBonus.production > 0) { container.Add(new Label($"Generates {currencyBonus.production} production")); } if (currencyBonus.supplies > 0) { container.Add(new Label($"Generates {currencyBonus.supplies} supplies")); } if (currencyBonus.population > 0) { container.Add(new Label($"Generates {currencyBonus.population} population")); } } var upgradeDetails = GetUpgradeDetails(cell); container.Add(upgradeDetails); gamePlan.ShowGamePlan(container); var btn = new Button { text = "Turns" }; btn.AddToClassList("calc-button"); btn.clicked += () => gamePlan.CalculateGamePlan(cell, updateContentsCallback); container.Add(btn); }