diff --git a/scenes/diagram/diagram.gd b/scenes/diagram/diagram.gd index d33a1599..94fdb89a 100644 --- a/scenes/diagram/diagram.gd +++ b/scenes/diagram/diagram.gd @@ -2,12 +2,20 @@ class_name Diagram extends Sprite2D const NUM_OF_RANGE = 7 const NUM_OF_DIRECTIONS = 4 +const color0_default: Color = Color(0.38, 0.47, 0.51, 1.0) +const color1_default: Color = Color(0.39, 0.44, 0.50, 1.0) +var color0: Color = Color(0.38, 0.47, 0.51, 1.0) +var color1: Color = Color(0.39, 0.44, 0.50, 1.0) + var fs_default_colors: Array[Color] ## Цвета по умолчанию для блоков ФС. @export var SecZap: PackedScene + func _ready() -> void: signaller.connect('map_mode_changed', Callable(self, 'set_view_mode')) + ProjectSettings.connect('settings_changed', _on_settings_changed) + _on_settings_changed() set_def_colors() @@ -100,12 +108,15 @@ func set_view_mode(val: int): material.set('shader_parameter/mode', val) -## Закрашивание по умолчанию блоков ФС цветами из настроек. -func set_def_colors(): - var color0: Color = ProjectSettings.get_setting('application/interfer/default_color0', Color(0.38, 0.47, 0.51, 1.0)) - var color1: Color = ProjectSettings.get_setting('application/interfer/default_color1', Color(0.39, 0.44, 0.50, 1.0)) +func _on_settings_changed(): + color0 = ProjectSettings.get_setting('application/interfer/default_color0', color0_default) + color1 = ProjectSettings.get_setting('application/interfer/default_color1', color1_default) color0 *= Color(1.0, 1.0, 1.0, 0.0) color1 *= Color(1.0, 1.0, 1.0, 0.0) + + +## Закрашивание по умолчанию блоков ФС цветами из настроек. +func set_def_colors(): var col_arr: Array = [color0, color1] var col = false for i in NUM_OF_RANGE: