aboutsummaryrefslogtreecommitdiff
path: root/game/src/GameSession/ProvinceOverviewPanel.gd
diff options
context:
space:
mode:
Diffstat (limited to 'game/src/GameSession/ProvinceOverviewPanel.gd')
-rw-r--r--game/src/GameSession/ProvinceOverviewPanel.gd43
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)