blob: b6a170ffc09c71ba12de6c63878a36bfd96198d0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
extends GUINode
var _speed_up_button : Button
var _speed_down_button : Button
var _speed_indicator_button : Button
var _speed_indicator_texture : GFXIconTexture
var _date_label : Label
var _country_name_label : Label
func _ready() -> void:
GameSingleton.gamestate_updated.connect(_update_info)
GameSingleton.clock_state_changed.connect(_update_speed_controls)
add_gui_element("topbar.gui", "topbar")
hide_nodes([
^"./topbar/topbar_outlinerbutton_bg",
^"./topbar/topbar_outlinerbutton"
])
const player_country : String = "SLV"
var player_flag_texture : GFXMaskedFlagTexture = get_gfx_masked_flag_texture_from_nodepath(^"./topbar/player_flag")
if player_flag_texture:
player_flag_texture.set_flag_country_name(player_country)
_speed_up_button = get_button_from_nodepath(^"./topbar/button_speedup")
if _speed_up_button:
_speed_up_button.pressed.connect(_on_increase_speed_button_pressed)
_speed_down_button = get_button_from_nodepath(^"./topbar/button_speeddown")
if _speed_down_button:
_speed_down_button.pressed.connect(_on_decrease_speed_button_pressed)
var pause_bg_button : Button = get_button_from_nodepath(^"./topbar/pause_bg")
if pause_bg_button:
pause_bg_button.pressed.connect(_on_play_pause_button_pressed)
_date_label = get_label_from_nodepath(^"./topbar/DateText")
_country_name_label = get_label_from_nodepath(^"./topbar/CountryName")
if _country_name_label:
_country_name_label.text = player_country
_speed_indicator_button = get_button_from_nodepath(^"./topbar/speed_indicator")
if _speed_indicator_button:
_speed_indicator_button.pressed.connect(_on_play_pause_button_pressed)
_speed_indicator_texture = get_gfx_icon_texture_from_node(_speed_indicator_button)
_update_info()
_update_speed_controls()
func _notification(what : int) -> void:
match what:
NOTIFICATION_TRANSLATION_CHANGED:
_update_info()
func _update_info() -> void:
if _date_label:
_date_label.text = GameSingleton.get_longform_date()
func _update_speed_controls() -> void:
# TODO - decide whether to disable these or not
# (they don't appear to get disabled in the base game)
#if _speed_up_button:
# _speed_up_button.disabled = not GameSingleton.can_increase_speed()
#if _speed_down_button:
# _speed_down_button.disabled = not GameSingleton.can_decrease_speed()
if _speed_indicator_button and _speed_indicator_texture:
var index : int = 1
if not GameSingleton.is_paused():
index += GameSingleton.get_speed() + 1
_speed_indicator_texture.set_icon_index(index)
_speed_indicator_button.queue_redraw()
# REQUIREMENTS:
# * UIFUN-71
func _on_play_pause_button_pressed() -> void:
print("Toggling pause!")
GameSingleton.toggle_paused()
# REQUIREMENTS:
# * UIFUN-72
func _on_increase_speed_button_pressed() -> void:
print("Speed up!")
GameSingleton.increase_speed()
# REQUIREMENTS:
# * UIFUN-73
func _on_decrease_speed_button_pressed() -> void:
print("Speed down!")
GameSingleton.decrease_speed()
|