@@ -8,120 +8,125 @@ extends Node2D
88@onready var _compact_gui = $ Compact
99
1010var gut = null :
11- set (val ):
12- gut = val
13- _set_gut (val )
11+ set (val ):
12+ gut = val
13+ _set_gut (val )
1414
1515
1616func _ready ():
17- _normal_gui .switch_modes .connect (use_compact_mode .bind (true ))
18- _compact_gui .switch_modes .connect (use_compact_mode .bind (false ))
17+ _normal_gui .switch_modes .connect (use_compact_mode .bind (true ))
18+ _compact_gui .switch_modes .connect (use_compact_mode .bind (false ))
1919
20- _normal_gui .set_title ("GUT" )
21- _compact_gui .set_title ("GUT" )
20+ _normal_gui .set_title ("GUT" )
21+ _compact_gui .set_title ("GUT" )
2222
23- _normal_gui .align_right ()
24- _compact_gui .to_bottom_right ()
23+ _normal_gui .align_right ()
24+ _compact_gui .to_bottom_right ()
2525
26- use_compact_mode (false )
26+ use_compact_mode (false )
2727
28- if (get_parent () == get_tree ().root ):
29- _test_running_setup ()
28+ if (get_parent () == get_tree ().root ):
29+ _test_running_setup ()
3030
3131func _test_running_setup ():
32- set_font_size (100 )
33- _normal_gui .get_textbox ().text = "hello world, how are you doing?"
32+ set_font_size (100 )
33+ _normal_gui .get_textbox ().text = "hello world, how are you doing?"
3434
3535# ------------------------
3636# Private
3737# ------------------------
3838func _set_gut (val ):
39- if (_normal_gui .get_gut () == val ):
40- return
41- _normal_gui .set_gut (val )
42- _compact_gui .set_gut (val )
39+ if (_normal_gui .get_gut () == val ):
40+ return
41+ _normal_gui .set_gut (val )
42+ _compact_gui .set_gut (val )
4343
44- val .start_run .connect (_on_gut_start_run )
45- val .end_run .connect (_on_gut_end_run )
46- val .start_pause_before_teardown .connect (_on_gut_pause )
47- val .end_pause_before_teardown .connect (_on_pause_end )
44+ val .start_run .connect (_on_gut_start_run )
45+ val .end_run .connect (_on_gut_end_run )
46+ val .start_pause_before_teardown .connect (_on_gut_pause )
47+ val .end_pause_before_teardown .connect (_on_pause_end )
4848
4949func _set_both_titles (text ):
50- _normal_gui .set_title (text )
51- _compact_gui .set_title (text )
50+ _normal_gui .set_title (text )
51+ _compact_gui .set_title (text )
5252
5353
5454# ------------------------
5555# Events
5656# ------------------------
5757func _on_gut_start_run ():
58- _set_both_titles ('Running' )
58+ _set_both_titles ('Running' )
5959
6060func _on_gut_end_run ():
61- _set_both_titles ('Finished' )
61+ _set_both_titles ('Finished' )
6262
6363func _on_gut_pause ():
64- _set_both_titles ('-- Paused --' )
64+ _set_both_titles ('-- Paused --' )
6565
6666func _on_pause_end ():
67- _set_both_titles ('Running' )
67+ _set_both_titles ('Running' )
6868
6969
7070# ------------------------
7171# Public
7272# ------------------------
7373func get_textbox ():
74- return _normal_gui .get_textbox ()
74+ return _normal_gui .get_textbox ()
7575
7676
7777func set_font_size (new_size ):
78- var rtl = _normal_gui .get_textbox ()
78+ var rtl = _normal_gui .get_textbox ()
7979
80- rtl .set ('theme_override_font_sizes/bold_italics_font_size' , new_size )
81- rtl .set ('theme_override_font_sizes/bold_font_size' , new_size )
82- rtl .set ('theme_override_font_sizes/italics_font_size' , new_size )
83- rtl .set ('theme_override_font_sizes/normal_font_size' , new_size )
80+ rtl .set ('theme_override_font_sizes/bold_italics_font_size' , new_size )
81+ rtl .set ('theme_override_font_sizes/bold_font_size' , new_size )
82+ rtl .set ('theme_override_font_sizes/italics_font_size' , new_size )
83+ rtl .set ('theme_override_font_sizes/normal_font_size' , new_size )
8484
8585
8686func set_font (font_name ):
87- _set_all_fonts_in_rtl (_normal_gui .get_textbox (), font_name )
87+ _set_all_fonts_in_rtl (_normal_gui .get_textbox (), font_name )
8888
8989
9090func _set_font (rtl , font_name , custom_name ):
91- if (font_name == null ):
92- rtl .remove_theme_font_override (custom_name )
93- else :
94- var dyn_font = FontFile .new ()
95- dyn_font .load_dynamic_font ('res://addons/gut/fonts/' + font_name + '.ttf' )
96- rtl .add_theme_font_override (custom_name , dyn_font )
91+ if (font_name == null ):
92+ rtl .remove_theme_font_override (custom_name )
93+ else :
94+ var font_path = 'res://addons/gut/fonts/' + font_name + '.ttf'
95+ if (FileAccess .file_exists (font_path )):
96+ var dyn_font = FontFile .new ()
97+ dyn_font .load_dynamic_font ('res://addons/gut/fonts/' + font_name + '.ttf' )
98+ rtl .add_theme_font_override (custom_name , dyn_font )
9799
98100
99101func _set_all_fonts_in_rtl (rtl , base_name ):
100- if (base_name == 'Default' ):
101- _set_font (rtl , null , 'normal_font' )
102- _set_font (rtl , null , 'bold_font' )
103- _set_font (rtl , null , 'italics_font' )
104- _set_font (rtl , null , 'bold_italics_font' )
105- else :
106- _set_font (rtl , base_name + '-Regular' , 'normal_font' )
107- _set_font (rtl , base_name + '-Bold' , 'bold_font' )
108- _set_font (rtl , base_name + '-Italic' , 'italics_font' )
109- _set_font (rtl , base_name + '-BoldItalic' , 'bold_italics_font' )
102+ if (base_name == 'Default' ):
103+ _set_font (rtl , null , 'normal_font' )
104+ _set_font (rtl , null , 'bold_font' )
105+ _set_font (rtl , null , 'italics_font' )
106+ _set_font (rtl , null , 'bold_italics_font' )
107+ else :
108+ _set_font (rtl , base_name + '-Regular' , 'normal_font' )
109+ _set_font (rtl , base_name + '-Bold' , 'bold_font' )
110+ _set_font (rtl , base_name + '-Italic' , 'italics_font' )
111+ _set_font (rtl , base_name + '-BoldItalic' , 'bold_italics_font' )
110112
111113
112114func set_default_font_color (color ):
113- _normal_gui .get_textbox ().set ('custom_colors/default_color' , color )
115+ _normal_gui .get_textbox ().set ('custom_colors/default_color' , color )
114116
115117
116118func set_background_color (color ):
117- _normal_gui .set_bg_color (color )
119+ _normal_gui .set_bg_color (color )
118120
119121
120122func use_compact_mode (should = true ):
121- _compact_gui .visible = should
122- _normal_gui .visible = ! should
123+ _compact_gui .visible = should
124+ _normal_gui .visible = ! should
123125
124126
125127func set_opacity (val ):
126- _normal_gui .modulate .a = val
127- _compact_gui .modulate .a = val
128+ _normal_gui .modulate .a = val
129+ _compact_gui .modulate .a = val
130+
131+ func set_title (text ):
132+ _set_both_titles (text )
0 commit comments