diff options
Diffstat (limited to 'game/src/GameSession/ProvinceOverviewPanel.gd')
-rw-r--r-- | game/src/GameSession/ProvinceOverviewPanel.gd | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/game/src/GameSession/ProvinceOverviewPanel.gd b/game/src/GameSession/ProvinceOverviewPanel.gd index 80f02c5..4172860 100644 --- a/game/src/GameSession/ProvinceOverviewPanel.gd +++ b/game/src/GameSession/ProvinceOverviewPanel.gd @@ -1,10 +1,10 @@ extends PanelContainer -signal province_deselected - @export var _province_name_label : Label @export var _region_name_label : Label @export var _life_rating_bar : ProgressBar +@export var _rgo_icon_texture_rect : TextureRect +@export var _rgo_name_label : Label @export var _buildings_container : Container const _missing_suffix : String = "_MISSING" @@ -17,6 +17,7 @@ var _selected_index : int: var _province_info : Dictionary func _ready(): + GameSingleton.province_selected.connect(_on_province_selected) GameSingleton.state_updated.connect(update_info) update_info() @@ -31,28 +32,23 @@ func _expand_building(building_identifier : String) -> void: # * UI-191, UI-193, UI-194, UI-766, UI-195, UI-196, UI-197 # * UI-199, UI-201, UI-202, UI-767, UI-203, UI-204, UI-205 func _add_building(building : Dictionary) -> void: - const _building_key : StringName = &"building" - const _level_key : StringName = &"level" - const _expansion_state_key : StringName = &"expansion_state" - const _start_key : StringName = &"start" - const _end_key : StringName = &"end" - const _expansion_progress_key : StringName = &"expansion_progress" - const _expand_province_building : String = "EXPAND_PROVINCE_BUILDING" var level_label := Label.new() - level_label.text = str(building.get(_level_key, 0)) + level_label.text = str(building.get(GameSingleton.get_building_info_level_key(), 0)) _buildings_container.add_child(level_label) var building_label := Label.new() - building_label.text = building.get(_building_key, _building_key + _missing_suffix) + building_label.text = building.get(GameSingleton.get_building_info_building_key(), + GameSingleton.get_building_info_building_key() + _missing_suffix) _buildings_container.add_child(building_label) - var expansion_state : int = building.get(_expansion_state_key, CANNOT_EXPAND) + var expansion_state : int = building.get(GameSingleton.get_building_info_expansion_state_key(), + CANNOT_EXPAND) if expansion_state == PREPARING or expansion_state == EXPANDING: var progress_bar := ProgressBar.new() progress_bar.max_value = 1 - progress_bar.value = building.get(_expansion_progress_key, 0) + progress_bar.value = building.get(GameSingleton.get_building_info_expansion_progress_key(), 0) progress_bar.size_flags_horizontal = Control.SIZE_EXPAND_FILL progress_bar.mouse_filter = Control.MOUSE_FILTER_PASS _buildings_container.add_child(progress_bar) @@ -66,25 +62,26 @@ func _add_building(building : Dictionary) -> void: _buildings_container.add_child(expand_button) func update_info() -> void: - const _province_key : StringName = &"province" - const _region_key : StringName = &"region" - const _life_rating_key : StringName = &"life_rating" - const _buildings_key : StringName = &"buildings" - const _life_rating_tooltip : String = "LIFE_RATING_TOOLTIP" _province_info = GameSingleton.get_province_info_from_index(_selected_index) if _province_info: - _province_name_label.text = _province_info.get(_province_key, _province_key + _missing_suffix) - _region_name_label.text = _province_info.get(_region_key, _region_key + _missing_suffix) + _province_name_label.text = _province_info.get(GameSingleton.get_province_info_province_key(), + GameSingleton.get_province_info_province_key() + _missing_suffix) + _region_name_label.text = _province_info.get(GameSingleton.get_province_info_region_key(), + GameSingleton.get_province_info_region_key() + _missing_suffix) - _life_rating_bar.value = _province_info.get(_life_rating_key, 0) + _life_rating_bar.value = _province_info.get(GameSingleton.get_province_info_life_rating_key(), 0) _life_rating_bar.tooltip_text = tr(_life_rating_tooltip) % _life_rating_bar.value + _rgo_name_label.text = _province_info.get(GameSingleton.get_province_info_rgo_key(), + GameSingleton.get_province_info_rgo_key() + _missing_suffix) + _rgo_icon_texture_rect.texture = GameSingleton.get_good_icon_texture(_rgo_name_label.text) + for child in _buildings_container.get_children(): _buildings_container.remove_child(child) child.queue_free() - var buildings : Array = _province_info.get(_buildings_key, []) + var buildings : Array = _province_info.get(GameSingleton.get_province_info_buildings_key(), []) for building in buildings: _add_building(building) @@ -96,4 +93,4 @@ func _on_province_selected(index : int) -> void: _selected_index = index func _on_close_button_pressed() -> void: - province_deselected.emit() + GameSingleton.set_selected_province(0) |