Add one log row at a time and pad log times
The log rebuilt every row each time a point was given or taken. It now adds just the new row, and shows times as 09:05:03 instead of 9:5:3.
This commit is contained in:
1 parent
428decf73a
commit
14c166614d
2 files changed
+24
-13
No files matched your search
@@ -11,19 +11,16 @@ var log_rows: Array
|
|||||||
func add_log_row(text: String) -> void:
|
func add_log_row(text: String) -> void:
|
||||||
var log_row: String = get_time() + text
|
var log_row: String = get_time() + text
|
||||||
log_rows.append(log_row)
|
log_rows.append(log_row)
|
||||||
update_log()
|
log_box.add_child(make_log_label(log_row))
|
||||||
|
|
||||||
func update_log() -> void:
|
func make_log_label(row: String) -> Label:
|
||||||
print("update_log")
|
var log_label: Label = Label.new()
|
||||||
Settings.delete_children(log_box)
|
log_label.set_texture_filter(TextureFilter.TEXTURE_FILTER_NEAREST)
|
||||||
for row: String in log_rows:
|
log_label.add_theme_font_size_override("font_size", 20)
|
||||||
var log_label: Label = Label.new()
|
log_label.text = row
|
||||||
log_label.set_texture_filter(TextureFilter.TEXTURE_FILTER_NEAREST)
|
log_label.autowrap_mode = TextServer.AUTOWRAP_WORD
|
||||||
log_label.add_theme_font_size_override("font_size", 20)
|
return log_label
|
||||||
log_label.text = row
|
|
||||||
log_label.autowrap_mode = TextServer.AUTOWRAP_WORD
|
|
||||||
log_box.add_child(log_label)
|
|
||||||
|
|
||||||
func get_time() -> String:
|
func get_time() -> String:
|
||||||
var dateTime: Dictionary = Time.get_datetime_dict_from_system()
|
var time: Dictionary = Time.get_time_dict_from_system()
|
||||||
return "" + str(dateTime.hour) + ":" + str(dateTime.minute) + ":" + str(dateTime.second) + " "
|
return "%02d:%02d:%02d " % [time.hour, time.minute, time.second]
|
||||||
@@ -226,3 +226,17 @@ func test_show_answer_before_first_song_does_not_reveal_next_song() -> void:
|
|||||||
|
|
||||||
assert_str((_window.get_node("VBoxContainer/SoundtrackLabel") as Label).text) \
|
assert_str((_window.get_node("VBoxContainer/SoundtrackLabel") as Label).text) \
|
||||||
.is_equal("????????")
|
.is_equal("????????")
|
||||||
|
|
||||||
|
|
||||||
|
func test_log_adds_one_row_per_point_with_padded_time() -> void:
|
||||||
|
var log_box: VBoxContainer = _window.get_node("%Log").get_node("%LogVBoxContainer")
|
||||||
|
var crono: PlayerObject = _add_player("Crono")
|
||||||
|
await _play_first_song()
|
||||||
|
|
||||||
|
crono.add_point()
|
||||||
|
crono.minus_point()
|
||||||
|
|
||||||
|
assert_int(log_box.get_child_count()).is_equal(2)
|
||||||
|
var time_pattern: RegEx = RegEx.create_from_string("^\\d\\d:\\d\\d:\\d\\d Crono got a point$")
|
||||||
|
assert_object(time_pattern.search((log_box.get_child(0) as Label).text)).is_not_null()
|
||||||
|
assert_str((log_box.get_child(1) as Label).text).ends_with("Crono lost a point")
|
||||||
Reference in new issue
Block a user