diff options
author | Hop311 <Hop3114@gmail.com> | 2024-08-30 23:29:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-30 23:29:57 +0200 |
commit | f54e454afb90f8868e7c62529e2a388fdaadf20b (patch) | |
tree | f19dbcdfe613397e86dc52cc34e0a443bd0f3e96 /game/src/Game/GameSession/NationManagementScreen/BudgetMenu.gd | |
parent | 855e5b087459da19caf230cf22d99462680b268e (diff) | |
parent | d7672f406406eea46625bc725690651f28211e19 (diff) |
Merge pull request #251 from OpenVicProject/gui-text-label
Add GUILabel (colour code + currency icon support)
Diffstat (limited to 'game/src/Game/GameSession/NationManagementScreen/BudgetMenu.gd')
-rw-r--r-- | game/src/Game/GameSession/NationManagementScreen/BudgetMenu.gd | 150 |
1 files changed, 74 insertions, 76 deletions
diff --git a/game/src/Game/GameSession/NationManagementScreen/BudgetMenu.gd b/game/src/Game/GameSession/NationManagementScreen/BudgetMenu.gd index 42f0791..20eb198 100644 --- a/game/src/Game/GameSession/NationManagementScreen/BudgetMenu.gd +++ b/game/src/Game/GameSession/NationManagementScreen/BudgetMenu.gd @@ -4,36 +4,36 @@ var _active : bool = false var _incVal : int = 0 # incremental value to see the UI update, replace later by real values # income -var _lower_class_label : Label -var _middle_class_label : Label -var _upper_class_label : Label -var _gold_label : Label -var _total_inc_label : Label +var _lower_class_label : GUILabel +var _middle_class_label : GUILabel +var _upper_class_label : GUILabel +var _gold_label : GUILabel +var _total_inc_label : GUILabel # debt -var _national_bank_label : Label -var _total_funds_label : Label -var _debt_val_label : Label -var _interest_val_label : Label +var _national_bank_label : GUILabel +var _total_funds_label : GUILabel +var _debt_val_label : GUILabel +var _interest_val_label : GUILabel # costs -var _nat_stock_val_label : Label -var _nat_stock_exp_label : Label -var _mil_cost_val_label : Label -var _overseas_cost_val_label : Label -var _ind_sub_val_label : Label -var _admin_efficiency_label : Label -var _education_exp_label : Label -var _administration_exp_label : Label -var _social_exp_label : Label -var _military_exp_label : Label -var _total_exp_label : Label +var _nat_stock_val_label : GUILabel +var _nat_stock_exp_label : GUILabel +var _mil_cost_val_label : GUILabel +var _overseas_cost_val_label : GUILabel +var _ind_sub_val_label : GUILabel +var _admin_efficiency_label : GUILabel +var _education_exp_label : GUILabel +var _administration_exp_label : GUILabel +var _social_exp_label : GUILabel +var _military_exp_label : GUILabel +var _total_exp_label : GUILabel # others -var _tariffs_percent_label : Label -var _tariff_val_label : Label -var _diplomatic_balance_label : Label -var _balance_label : Label +var _tariffs_percent_label : GUILabel +var _tariff_val_label : GUILabel +var _diplomatic_balance_label : GUILabel +var _balance_label : GUILabel var _lower_class_chart : GFXPieChartTexture var _middle_class_chart : GFXPieChartTexture @@ -55,92 +55,92 @@ func _ready() -> void: # labels # income - _lower_class_label = get_label_from_nodepath(^"./country_budget/tax_0_inc") - _middle_class_label = get_label_from_nodepath(^"./country_budget/tax_1_inc") - _upper_class_label = get_label_from_nodepath(^"./country_budget/tax_2_inc") - _gold_label = get_label_from_nodepath(^"./country_budget/gold_inc") - _total_inc_label = get_label_from_nodepath(^"./country_budget/total_inc") + _lower_class_label = get_gui_label_from_nodepath(^"./country_budget/tax_0_inc") + _middle_class_label = get_gui_label_from_nodepath(^"./country_budget/tax_1_inc") + _upper_class_label = get_gui_label_from_nodepath(^"./country_budget/tax_2_inc") + _gold_label = get_gui_label_from_nodepath(^"./country_budget/gold_inc") + _total_inc_label = get_gui_label_from_nodepath(^"./country_budget/total_inc") # debt - _national_bank_label = get_label_from_nodepath(^"./country_budget/national_bank_val") - _total_funds_label = get_label_from_nodepath(^"./country_budget/total_funds_val") - _debt_val_label = get_label_from_nodepath(^"./country_budget/debt_val") - _interest_val_label = get_label_from_nodepath(^"./country_budget/interest_val") + _national_bank_label = get_gui_label_from_nodepath(^"./country_budget/national_bank_val") + _total_funds_label = get_gui_label_from_nodepath(^"./country_budget/total_funds_val") + _debt_val_label = get_gui_label_from_nodepath(^"./country_budget/debt_val") + _interest_val_label = get_gui_label_from_nodepath(^"./country_budget/interest_val") # costs - _nat_stock_val_label = get_label_from_nodepath(^"./country_budget/nat_stock_val") - _nat_stock_exp_label = get_label_from_nodepath(^"./country_budget/nat_stock_est") - _mil_cost_val_label = get_label_from_nodepath(^"./country_budget/mil_cost_val") - _overseas_cost_val_label = get_label_from_nodepath(^"./country_budget/overseas_cost_val") - _ind_sub_val_label = get_label_from_nodepath(^"./country_budget/ind_sub_val") - _admin_efficiency_label = get_label_from_nodepath(^"./country_budget/admin_efficiency") - _education_exp_label = get_label_from_nodepath(^"./country_budget/exp_val_0") - _administration_exp_label = get_label_from_nodepath(^"./country_budget/exp_val_1") - _social_exp_label = get_label_from_nodepath(^"./country_budget/exp_val_2") - _military_exp_label = get_label_from_nodepath(^"./country_budget/exp_val_3") - _total_exp_label = get_label_from_nodepath(^"./country_budget/total_exp") + _nat_stock_val_label = get_gui_label_from_nodepath(^"./country_budget/nat_stock_val") + _nat_stock_exp_label = get_gui_label_from_nodepath(^"./country_budget/nat_stock_est") + _mil_cost_val_label = get_gui_label_from_nodepath(^"./country_budget/mil_cost_val") + _overseas_cost_val_label = get_gui_label_from_nodepath(^"./country_budget/overseas_cost_val") + _ind_sub_val_label = get_gui_label_from_nodepath(^"./country_budget/ind_sub_val") + _admin_efficiency_label = get_gui_label_from_nodepath(^"./country_budget/admin_efficiency") + _education_exp_label = get_gui_label_from_nodepath(^"./country_budget/exp_val_0") + _administration_exp_label = get_gui_label_from_nodepath(^"./country_budget/exp_val_1") + _social_exp_label = get_gui_label_from_nodepath(^"./country_budget/exp_val_2") + _military_exp_label = get_gui_label_from_nodepath(^"./country_budget/exp_val_3") + _total_exp_label = get_gui_label_from_nodepath(^"./country_budget/total_exp") # others - _tariffs_percent_label = get_label_from_nodepath(^"./country_budget/tariffs_percent") - _tariff_val_label = get_label_from_nodepath(^"./country_budget/tariff_val") - _diplomatic_balance_label = get_label_from_nodepath(^"./country_budget/diplomatic_balance") - _balance_label = get_label_from_nodepath(^"./country_budget/balance") + _tariffs_percent_label = get_gui_label_from_nodepath(^"./country_budget/tariffs_percent") + _tariff_val_label = get_gui_label_from_nodepath(^"./country_budget/tariff_val") + _diplomatic_balance_label = get_gui_label_from_nodepath(^"./country_budget/diplomatic_balance") + _balance_label = get_gui_label_from_nodepath(^"./country_budget/balance") # sliders # income var _lower_class_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/tax_0_slider") if _lower_class_slider and _lower_class_label: - _lower_class_slider.value_changed.connect(func(value : int) -> void: _lower_class_label.text = "%s£" % value) + _lower_class_slider.value_changed.connect(func(value : int) -> void: _lower_class_label.text = "%s¤" % GUINode.float_to_string_dp(value, 3 if abs(value) < 1000 else 1)) _lower_class_slider.emit_value_changed() var _middle_class_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/tax_1_slider") if _middle_class_slider and _middle_class_label: - _middle_class_slider.value_changed.connect(func(value : int) -> void: _middle_class_label.text = "%s£" % value) + _middle_class_slider.value_changed.connect(func(value : int) -> void: _middle_class_label.text = "%s¤" % GUINode.float_to_string_dp(value, 3 if abs(value) < 1000 else 1)) _middle_class_slider.emit_value_changed() var _upper_class_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/tax_2_slider") if _upper_class_slider and _upper_class_label: - _upper_class_slider.value_changed.connect(func(value : int) -> void: _upper_class_label.text = "%s£" % value) + _upper_class_slider.value_changed.connect(func(value : int) -> void: _upper_class_label.text = "%s¤" % GUINode.float_to_string_dp(value, 3 if abs(value) < 1000 else 1)) _upper_class_slider.emit_value_changed() # costs var _land_stockpile_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/land_stockpile_slider") if _land_stockpile_slider and _mil_cost_val_label: - _land_stockpile_slider.value_changed.connect(func(value : int) -> void: _mil_cost_val_label.text = "%s£" % value) + _land_stockpile_slider.value_changed.connect(func(value : int) -> void: _mil_cost_val_label.text = "%s¤" % GUINode.float_to_string_dp(value, 2)) _land_stockpile_slider.emit_value_changed() var _naval_stockpile_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/naval_stockpile_slider") if _naval_stockpile_slider and _overseas_cost_val_label: - _naval_stockpile_slider.value_changed.connect(func(value : int) -> void: _overseas_cost_val_label.text = "%s£" % value) + _naval_stockpile_slider.value_changed.connect(func(value : int) -> void: _overseas_cost_val_label.text = "%s¤" % GUINode.float_to_string_dp(value, 1)) _naval_stockpile_slider.emit_value_changed() var _projects_stockpile_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/projects_stockpile_slider") if _projects_stockpile_slider: if _nat_stock_val_label: - _projects_stockpile_slider.value_changed.connect(func(value : int) -> void: _nat_stock_val_label.text = "%s£" % value) + _projects_stockpile_slider.value_changed.connect(func(value : int) -> void: _nat_stock_val_label.text = "%s¤" % GUINode.float_to_string_dp_dynamic(value)) if _nat_stock_exp_label: - _projects_stockpile_slider.value_changed.connect(func(value : int) -> void: _nat_stock_exp_label.text = "%s£" % value) + _projects_stockpile_slider.value_changed.connect(func(value : int) -> void: _nat_stock_exp_label.text = "%s¤" % GUINode.float_to_string_dp_dynamic(value)) _projects_stockpile_slider.emit_value_changed() var _exp_0_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/exp_0_slider") if _exp_0_slider and _education_exp_label: - _exp_0_slider.value_changed.connect(func(value : int) -> void: _education_exp_label.text = "%s£" % value) + _exp_0_slider.value_changed.connect(func(value : int) -> void: _education_exp_label.text = "%s¤" % GUINode.float_to_string_dp_dynamic(value)) _exp_0_slider.emit_value_changed() var _exp_1_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/exp_1_slider") if _exp_1_slider: if _administration_exp_label: - _exp_1_slider.value_changed.connect(func(value : int) -> void: _administration_exp_label.text = "%s£" % value) + _exp_1_slider.value_changed.connect(func(value : int) -> void: _administration_exp_label.text = "%s¤" % GUINode.float_to_string_dp_dynamic(value)) if _admin_efficiency_label: - _exp_1_slider.value_changed.connect(func(value : int) -> void: _admin_efficiency_label.text = "%s%%" % value) + _exp_1_slider.value_changed.connect(func(value : int) -> void: _admin_efficiency_label.text = "%s%%" % GUINode.float_to_string_dp(value, 1)) _exp_1_slider.emit_value_changed() var _exp_2_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/exp_2_slider") if _exp_2_slider and _social_exp_label: - _exp_2_slider.value_changed.connect(func(value : int) -> void: _social_exp_label.text = "%s£" % value) + _exp_2_slider.value_changed.connect(func(value : int) -> void: _social_exp_label.text = "%s¤" % GUINode.float_to_string_dp_dynamic(value)) _exp_2_slider.emit_value_changed() var _exp_3_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/exp_3_slider") if _exp_3_slider and _military_exp_label: - _exp_3_slider.value_changed.connect(func(value : int) -> void: _military_exp_label.text = "%s£" % value) + _exp_3_slider.value_changed.connect(func(value : int) -> void: _military_exp_label.text = "%s¤" % GUINode.float_to_string_dp_dynamic(value)) _exp_3_slider.emit_value_changed() # others var _tariff_slider : GUIScrollbar = get_gui_scrollbar_from_nodepath(^"./country_budget/tariff_slider") if _tariff_slider: if _tariff_val_label: - _tariff_slider.value_changed.connect(func(value : int) -> void: _tariff_val_label.text = "%s£" % value) + _tariff_slider.value_changed.connect(func(value : int) -> void: _tariff_val_label.text = "%s¤" % GUINode.float_to_string_dp_dynamic(value)) if _tariffs_percent_label: - _tariff_slider.value_changed.connect(func(value : int) -> void: _tariffs_percent_label.text = "%s%%" % value) + _tariff_slider.value_changed.connect(func(value : int) -> void: _tariffs_percent_label.text = "%s%%" % GUINode.float_to_string_dp(value, 1)) _tariff_slider.emit_value_changed() # debt buttons @@ -188,38 +188,36 @@ func _update_info() -> void: if _active: if _gold_label: - _gold_label.text = "%s£" % (_incVal - (_incVal % 7)) + _gold_label.text = "%s¤" % GUINode.float_to_string_dp(_incVal - (_incVal % 7), 1) if _total_inc_label: - _total_inc_label.text = "%s£" % _incVal + _total_inc_label.text = "%s¤" % GUINode.float_to_string_dp_dynamic(_incVal) if _national_bank_label: - _national_bank_label.text = "%s£" % (_incVal * 2) + _national_bank_label.text = "%s¤" % GUINode.float_to_string_suffixed(_incVal * 2) if _total_funds_label: - _total_funds_label.text = "%s£" % (_incVal * 3) + _total_funds_label.text = "%s¤" % GUINode.float_to_string_suffixed(_incVal * 3) if _debt_val_label: - _debt_val_label.text = "%s£" % (_incVal * 4) + _debt_val_label.text = "%s¤" % GUINode.float_to_string_dp(_incVal * 4, 1) if _interest_val_label: - _interest_val_label.text = "%s£" % (_incVal * 5) + _interest_val_label.text = "%s¤" % GUINode.float_to_string_dp(_incVal * 5, 2) if _ind_sub_val_label: - _ind_sub_val_label.text = "%s£" % (_incVal * 6) + _ind_sub_val_label.text = "%s¤" % GUINode.float_to_string_dp(_incVal * 6, 1) if _diplomatic_balance_label: - _diplomatic_balance_label.text = "%s£" % (_incVal * 8) + # TODO - check colours and +/- when non-zero + _diplomatic_balance_label.text = "§Y%s¤" % GUINode.float_to_string_dp(_incVal * 8, 1) if _total_exp_label: - _total_exp_label.text = "%s£" % (_incVal + 1) + _total_exp_label.text = "%s¤" % GUINode.float_to_string_dp_dynamic(_incVal + 1) if _balance_label: - _balance_label.text = "%s£" % _incVal - _balance_label.add_theme_color_override(&"font_color", - Color.DARK_GREEN if _incVal > 0 else - (Color.RED if _incVal < 0 else Color.BLACK) - ) + var balance : float = _incVal * 2.5 + _balance_label.text = "§%s%s¤" % ["G+" if balance > 0.0 else "R" if balance < 0.0 else "Y+", GUINode.float_to_string_dp_dynamic(balance)] # TODO - set strata tax and debt charts # TODO - update sliders to reflect changes in limits |