Merge remote-tracking branch 'sasha/master'

This commit is contained in:
MaD_CaT
2023-08-15 13:36:04 +03:00
4 changed files with 22 additions and 26 deletions

View File

@@ -8,12 +8,13 @@ func set_strob_width(val: float): $строб.material.set('shader_parameter/
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(val: float) -> float: return $строб.material.set('shader_parameter/radius', sv(val))
func get_radius_max() -> float: return $строб.scale.x
func get_radius_min() -> float: return 212.0
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() -> float: return material.get('shader_parameter/radius_inner')
func sv(val: float) -> float: return val / ($строб.scale.x / 2.0) * 0.125

View File

@@ -2,13 +2,13 @@
[ext_resource type="Material" uid="uid://s6xe8igevnv2" path="res://shaders/shader_edu.tres" id="1_uxbga"]
[ext_resource type="Script" path="res://scenes/canvas.gd" id="2_vkwmy"]
[ext_resource type="PackedScene" uid="uid://c73ahpv8uiuc7" path="res://scenes/Sector.tscn" id="3_uhdvc"]
[ext_resource type="PackedScene" uid="uid://c73ahpv8uiuc7" path="res://scenes/sector.tscn" id="3_uhdvc"]
[ext_resource type="Shader" path="res://shaders/sector.gdshader" id="4_gb4a1"]
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_2bft1"]
size = Vector2(1600, 1200)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hwrhs"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_laka7"]
resource_local_to_scene = true
shader = ExtResource("4_gb4a1")
shader_parameter/color = Color(1, 1, 1, 0.168627)
@@ -26,6 +26,6 @@ centered = false
script = ExtResource("2_vkwmy")
[node name="строб" parent="." instance=ExtResource("3_uhdvc")]
material = SubResource("ShaderMaterial_hwrhs")
material = SubResource("ShaderMaterial_laka7")
position = Vector2(560, 560)
scale = Vector2(1100, 1100)

View File

@@ -7,6 +7,8 @@ uniform vec2 pc0; /* Центр сетки антенн */
uniform float rotation: hint_range(0.0, 360.0) = 0.0; /* */
uniform vec4 color0: source_color = vec4(0.38, 0.47, 0.51, 0.4);
uniform vec4 color1: source_color = vec4(0.39, 0.44, 0.50, 0.4);
uniform float radius_inner = 200.0; /* Радиус внутренний. Должно быть равно ant_band_r0_0 */
uniform float radius_outter = 550.0; /* Радиус внешний. Должно быть равно ant_band_r1_6 */
const float ant_band_count_0 = 2.0;
const float ant_band_count_1 = 2.0;
@@ -127,3 +129,5 @@ shader_parameter/pc0 = Vector2(560, 560)
shader_parameter/rotation = 0.0
shader_parameter/color0 = Color(0.380392, 0.470588, 0.509804, 0.537255)
shader_parameter/color1 = Color(0.3315, 0.45645, 0.51, 0.537255)
shader_parameter/radius_inner = 200.0
shader_parameter/radius_outter = 550.0

View File

@@ -9,18 +9,17 @@ extends GridContainer
@export_file var node_type_file: = 'res://table/node.tscn': get = get_node_scene, set = load_node_scene ## Сцена ячейки устанавливаемая по умолчанию
@export_file var selector_type_file: = 'res://table/selector.tscn': set = load_selector_scene ## Сцена индикатора для выбранного ряда
const CONN_PREFIX = 'CONN_' ## Префикс ключа обработчиков событий ячейки таблицы
const HEAD_PREFIX = 'HEAD_' ## Префикс ключа заголовка таблицы
const INDEX_FORMAT = '%02d_%02d' ## Формат индекса ключа
const MAX_INDEX = 99 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа
const NODE_PREFIX = 'NODE_' ## Префикс ключа ячейки таблицы
const SLCT_PREFIX = 'SLCT_' ## Префикс ключа индикатора выбранного ряда таблицы
const CONNECTED_KEY_FORMAT = CONN_PREFIX + INDEX_FORMAT ## Формат ключа подключенных обработчиков сигналов
const HEAD_KEY_FORMAT = HEAD_PREFIX + INDEX_FORMAT ## Формат ключа заголовка
const NODE_KEY_FORMAT = NODE_PREFIX + INDEX_FORMAT ## Формат ключа ячейки
const ROW_SELECTOR_KEY_FORMAT = SLCT_PREFIX + INDEX_FORMAT ## Формат ключа индикаторов выбранного ряда
const META_NAME_USER_DATA = 'user_data'
const META_NAME_CALLEBLE = 'calleble'
var header: GridContainer ## Заголовок таблицы
var in_focus: = false ## Фокус пользовательского ввода
@@ -390,14 +389,12 @@ func remove_row(i_row: int):
var node_key: String = NODE_KEY_FORMAT % [i_row, i_col]
var node = nodes[node_key]
var conn_key: String = CONNECTED_KEY_FORMAT % [i_row, i_col]
var conn = get_node_meta(i_col, i_row, 'callable_focus_entered')
node.disconnect('focus_entered', conn)
if nodes.has(conn_key):
conn = nodes[conn_key]
if node.has_meta(META_NAME_CALLEBLE):
conn = node.get_meta(META_NAME_CALLEBLE)
node.disconnect('pressed', conn)
nodes.erase(conn_key)
remove_child(node)
nodes.erase(node_key)
@@ -426,7 +423,6 @@ func rehash():
var i_node: = [Vector2i()]
var i_hdr: = [Vector2i()]
var i_slct: = [Vector2i()]
var i_conn: = [Vector2i()]
var nodes_copy = {}
for key in nodes:
var iv = get_key_indexes(key)
@@ -440,9 +436,6 @@ func rehash():
elif SLCT_PREFIX in key:
swap_nodes(nodes_copy, ROW_SELECTOR_KEY_FORMAT, i0, i_slct[0])
next_index(i_slct)
elif CONN_PREFIX in key:
swap_nodes(nodes_copy, CONNECTED_KEY_FORMAT, i0, i_conn[0])
next_index(i_conn)
nodes.clear()
nodes.merge(nodes_copy)
@@ -465,15 +458,13 @@ func connect_columns(dest_node: Node, event_name: String, callback: String, clmn
for i_row in rows_count:
for i_col in clmns:
assert(i_col >= 0 and i_col < columns, 'ошибка: нет такой колонки: %d' % i_col)
var node_key: String = NODE_KEY_FORMAT % [i_row, i_col]
var conn_key: String = CONNECTED_KEY_FORMAT % [i_row, i_col]
var node = nodes[node_key]
if nodes.has(conn_key):
var conn = nodes[conn_key]
var node = get_node2(i_col, i_row)
if node.has_meta(META_NAME_CALLEBLE):
var conn = node.get_meta(META_NAME_CALLEBLE)
node.disconnect(event_name, conn)
var conn = Callable(dest_node, callback).bind([node] + user_data)
assert (OK == node.connect(event_name, conn))
nodes[conn_key] = conn
node.set_meta(META_NAME_CALLEBLE, conn)
##
func set_rows_text(rows: Array) -> void: