Доработка. Добавление скрола и генератора 100 целей.

This commit is contained in:
MaD_CaT
2025-02-12 09:55:35 +03:00
parent 0b594c9b97
commit 211c629454
4 changed files with 40 additions and 19 deletions

View File

@@ -1,15 +1,17 @@
extends Node2D
var sock = PacketPeerUDP.new()
@onready var table_threats = get_node('ColorRect/tabs/threats/table_t')
@onready var table_threats = get_node('ColorRect/tabs/threats/scroll_thr/table_t')
@onready var btn_add_threats = get_node('ColorRect/tabs/threats/btn_add')
@onready var btn_del_threats = get_node('ColorRect/tabs/threats/btn_del')
@onready var btn_save_threats = get_node('ColorRect/tabs/threats/btn_save')
@onready var btn_load_threats = get_node('ColorRect/tabs/threats/btn_load')
@onready var btn_thr_gen = get_node('ColorRect/tabs/threats/thr_gen')
@onready var scroll_thr = get_node('ColorRect/tabs/threats/scroll_thr')
@onready var btn_rotate = get_node('ColorRect/tabs/threats/panel_rotate/btn_rotate')
@onready var entry_rotate = get_node('ColorRect/tabs/threats/panel_rotate/entry_rotate')
@onready var chkbx_rotate = get_node('ColorRect/tabs/threats/panel_rotate/chkbx_rotate')
@onready var panel_threats = get_node('ColorRect/tabs/threats')
@onready var table_pomehi = get_node('ColorRect/tabs/pomehi/table_p')
@@ -23,7 +25,9 @@ func _ready():
'thr_gen': btn_thr_gen,
'btn_rt': btn_rotate,
'entry_rt': entry_rotate,
'chkbx_rt': chkbx_rotate}
'chkbx_rt': chkbx_rotate,
'scroll_thr': scroll_thr,
'panel': panel_threats}
sock.bind(Consts.MAIN_ADDR[1], Consts.MAIN_ADDR[0])
sock.set_dest_address(Consts.DST_ADDR[0], Consts.DST_ADDR[1])
Threats.init_treats(table_threats, nodes)
@@ -74,4 +78,5 @@ func _process(delta):
var data: = sock.get_packet()
var addr: = sock.get_packet_ip()
var port: = sock.get_packet_port()
print_debug()
on_receive(data)

View File

@@ -34,17 +34,15 @@ layout_mode = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_4dilt")
metadata/_tab_index = 0
[node name="table_t" type="GridContainer" parent="ColorRect/tabs/threats"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = 11.0
offset_top = 100.0
offset_right = 1.0
offset_bottom = 10.0
grow_horizontal = 2
grow_vertical = 2
[node name="scroll_thr" type="ScrollContainer" parent="ColorRect/tabs/threats"]
layout_mode = 0
offset_left = 5.0
offset_top = 78.0
offset_right = 1597.0
offset_bottom = 876.0
[node name="table_t" type="GridContainer" parent="ColorRect/tabs/threats/scroll_thr"]
layout_mode = 2
script = ExtResource("2_61iss")
node_type_file = "res://ячейка-1.tscn"

View File

@@ -10,8 +10,8 @@ extends GridContainer
@export_file var selector_type_file: = 'res://table/selector.tscn': set = load_selector_scene ## Сцена индикатора для выбранного ряда
const HEAD_PREFIX = 'HEAD_' ## Префикс ключа заголовка таблицы
const INDEX_FORMAT = '%02d_%02d' ## Формат индекса ключа
const MAX_INDEX = 99 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа
const INDEX_FORMAT = '%03d_%03d' ## Формат индекса ключа
const MAX_INDEX = 200 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа
const NODE_PREFIX = 'NODE_' ## Префикс ключа ячейки таблицы
const SLCT_PREFIX = 'SLCT_' ## Префикс ключа индикатора выбранного ряда таблицы

View File

@@ -85,7 +85,7 @@ const M_PROTO = ['<неопр.>', '3dlink', 'skyhopperpro', 'picardiooem', 'solo
# Номера колонок
const COLUMN_OPT = [[COLUMN_TMOD, MODE_TYPES], [COLUMN_FREQM, FREQM], [COLUMN_PROTO, M_PROTO]]
const COLUMN_OPT_BTN = [COLUMN_TMOD, COLUMN_FREQM, COLUMN_PROTO]
const ID_ARRAY_LEN = 100 # Размер пула номеров целей
const ID_ARRAY_LEN = 150 # Размер пула номеров целей
# Цель
@@ -278,10 +278,11 @@ func init_treats(table, nodes): # Инициализация вкладк
table.connect('row_pressed', Callable(self, 'on_row_pressed').bind(table))
table.connect_columns(self, 'text_submitted', 'on_edit_entry', TABLE_ENTRY_COLUMNS, [])
table.connect_columns(self, 'item_selected', 'on_item_selected', COLUMN_OPT_BTN, [])
table.pin_header(nodes.scroll_thr, nodes.panel)
nodes.btn_add.connect('button_up', Callable(self, 'on_btn_add').bind(table))
nodes.btn_del.connect('button_up', Callable(self, 'on_btn_del').bind(table))
nodes.btn_save.connect('button_up', Callable(self, 'on_btn_save'))
nodes.thr_gen.connect('button_up', Callable(self, 'on_thr_gen'))
nodes.thr_gen.connect('button_up', Callable(self, 'on_thr_gen').bind(table))
nodes.btn_load.connect('pressed', Callable(self, 'on_btn_load').bind(table))
nodes.btn_rt.connect('pressed', Callable(self, 'on_rotate_th').bind(nodes.entry_rt, table))
var timer = Timer.new()
@@ -505,5 +506,22 @@ func on_btn_load(table):
load_treats(table)
func on_thr_gen():
print_debug()
func on_thr_gen(table):
for i in range(100):
var id = pop_id()
if id == 0: return
var threat : = Threat.new(id, table.get_rows_count())
treats['%d' % id] = threat
threat.row.aoa[0] = 0 + 30 * i
while (threat.row.aoa[0] > 360):
threat.row.aoa[0] -= 360
threat.row.freq[0] = 400 + 350 * i
while (threat.row.freq[0] > 6000):
threat.row.freq[0] -= 5600
var row = threat.update_rows()
table.add_row(TABLE_ROW_TYPES)
table.set_row_text(table.get_rows_count()-1, row)
table.set_node_user_data(0, table.get_rows_count()-1, threat)
init_opt_btns(table.get_rows_count()-1, table, threat)
table.connect_columns(self, 'text_submitted', 'on_edit_entry', TABLE_ENTRY_COLUMNS, [])
table.connect_columns(self, 'item_selected', 'on_item_selected', COLUMN_OPT_BTN, [])