game: add mayor to the city level screen

This commit is contained in:
Crypto City 2020-08-19 14:14:29 +00:00
parent 33cbc7d9f9
commit 36c36119a4
3 changed files with 11 additions and 2 deletions

View File

@ -1,13 +1,15 @@
WindowInfo
title City level
centered-relative-size: 0.5 0.8
centered-relative-size: 0.6 0.8
modal: 1
TBLayout: axis: y, distribution-position: "left top", distribution: "available"
TBLayout: axis: x, distribution-position: "left"
TBTextField: id: "city-name"
TBTextField: text: "is currently a"
TBTextField: text: "(mayor "
TBTextField: id: "city-mayor"
TBTextField: text: ") is currently a"
TBTextField: id: "city-level-name"
TBTextField: text: " ("
TBTextField: id: "city-level"

View File

@ -128,6 +128,7 @@ UICityLevelDialog::UICityLevelDialog(Context *ctx, const GameState *game):
auto* graphics = GetSubsystem<Graphics>();
cityNameWidget = GetWidgetByIDAndType<TBTextField>(TBIDC("city-name"));
cityMayorWidget = GetWidgetByIDAndType<TBTextField>(TBIDC("city-mayor"));
cityLevelNameWidget = GetWidgetByIDAndType<TBTextField>(TBIDC("city-level-name"));
cityLevelWidget = GetWidgetByIDAndType<TBTextField>(TBIDC("city-level"));
citySizeScoreWidget = GetWidgetByIDAndType<TBTextField>(TBIDC("city-size-score"));
@ -185,6 +186,11 @@ void UICityLevelDialog::Update()
const char *next_level_name = cc::get_town_level_name(level + 1);
cityNameWidget->SetText(game->get_city_name(game->cityState.id).c_str());
std::string mayor = "unknown";
for (const auto &e: game->cities)
if (e.city_id == game->cityState.id)
mayor = game->get_player_name(e.mayor);
cityMayorWidget->SetText(mayor.c_str());
cityLevelNameWidget->SetText(level_name);
cityLevelWidget->SetText(std::to_string(level).c_str());
citySizeScoreWidget->SetText(get_shares_string(shares).c_str());

View File

@ -40,6 +40,7 @@ private:
const GameState *game;
tb::TBTextField *cityNameWidget;
tb::TBTextField *cityMayorWidget;
tb::TBTextField *cityLevelNameWidget;
tb::TBTextField *cityLevelWidget;
tb::TBTextField *citySizeScoreWidget;