Files
uarep-ctl/scenes/diagram/diagram.gd

45 lines
2.4 KiB
GDScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

class_name Diagram extends Sprite2D
var fs_default_colors: Array ## Цвета по умолчанию для блоков ФС.
func _ready() -> void:
signaller.connect('map_mode_changed', Callable(self, 'set_view_mode'))
set_def_colors()
func sv(val: float) -> float: return val / ($строб.scale.x / 2.0) * 0.125
func set_strob_visible(val: bool): $строб.visible = val
func set_strob_center(val: Vector2): $строб.position = val
func set_strob_dir(val: float): $строб.material.set('shader_parameter/dir', val)
func set_strob_color(val: Color): $строб.material.set('shader_parameter/color', val)
func set_strob_width(val: float): $строб.material.set('shader_parameter/width', val)
func set_strob_band(val: float): $строб.material.set('shader_parameter/band', val / 125.0)
func set_strob_radius(val: float): $строб.material.set('shader_parameter/radius', sv(val))
func get_strob_center() -> Vector2: return $строб.position
func get_strob_visible() -> bool: return $строб.visible
func get_strob_width() -> float: return $строб.material.get('shader_parameter/width')
func get_strob_band() -> float: return $строб.material.get('shader_parameter/band') * 125.0
func get_strob_radius() -> float: return $строб.material.get('shader_parameter/radius') * 125.0
func get_radius_outter() -> float: return material.get('shader_parameter/radius_outter')
func get_radius_inner_0() -> float: return material.get('shader_parameter/radius_inner_0')
func get_radius_inner_1() -> float: return material.get('shader_parameter/radius_inner_1')
func set_view_mode(val: int): material.set('shader_parameter/mode', val);
func set_band_colors(val: Array): material.set('shader_parameter/ant_band_c', val)
## Закрашивание по умолчанию блоков ФС цветами из настроек.
func set_def_colors():
var color0: Vector3 = ProjectSettings.get_setting('application/interfer/default_color0', Vector3(0.38, 0.47, 0.51))
var color1: Vector3 = ProjectSettings.get_setting('application/interfer/default_color1', Vector3(0.39, 0.44, 0.50))
var col_arr: Array = [color0, color1]
var col = false
for i in range(7):
for j in range (4):
fs_default_colors.append(col_arr[int(col)])
col = not col
col = not col
set_band_colors(fs_default_colors)