Доработка. Добавление скрола и генератора 100 целей.
This commit is contained in:
9
main.gd
9
main.gd
@@ -1,15 +1,17 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
var sock = PacketPeerUDP.new()
|
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_add_threats = get_node('ColorRect/tabs/threats/btn_add')
|
||||||
@onready var btn_del_threats = get_node('ColorRect/tabs/threats/btn_del')
|
@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_save_threats = get_node('ColorRect/tabs/threats/btn_save')
|
||||||
@onready var btn_load_threats = get_node('ColorRect/tabs/threats/btn_load')
|
@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 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 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 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 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')
|
@onready var table_pomehi = get_node('ColorRect/tabs/pomehi/table_p')
|
||||||
|
|
||||||
@@ -23,7 +25,9 @@ func _ready():
|
|||||||
'thr_gen': btn_thr_gen,
|
'thr_gen': btn_thr_gen,
|
||||||
'btn_rt': btn_rotate,
|
'btn_rt': btn_rotate,
|
||||||
'entry_rt': entry_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.bind(Consts.MAIN_ADDR[1], Consts.MAIN_ADDR[0])
|
||||||
sock.set_dest_address(Consts.DST_ADDR[0], Consts.DST_ADDR[1])
|
sock.set_dest_address(Consts.DST_ADDR[0], Consts.DST_ADDR[1])
|
||||||
Threats.init_treats(table_threats, nodes)
|
Threats.init_treats(table_threats, nodes)
|
||||||
@@ -74,4 +78,5 @@ func _process(delta):
|
|||||||
var data: = sock.get_packet()
|
var data: = sock.get_packet()
|
||||||
var addr: = sock.get_packet_ip()
|
var addr: = sock.get_packet_ip()
|
||||||
var port: = sock.get_packet_port()
|
var port: = sock.get_packet_port()
|
||||||
|
print_debug()
|
||||||
on_receive(data)
|
on_receive(data)
|
||||||
|
|||||||
20
main.tscn
20
main.tscn
@@ -34,17 +34,15 @@ layout_mode = 2
|
|||||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_4dilt")
|
theme_override_styles/panel = SubResource("StyleBoxEmpty_4dilt")
|
||||||
metadata/_tab_index = 0
|
metadata/_tab_index = 0
|
||||||
|
|
||||||
[node name="table_t" type="GridContainer" parent="ColorRect/tabs/threats"]
|
[node name="scroll_thr" type="ScrollContainer" parent="ColorRect/tabs/threats"]
|
||||||
layout_mode = 1
|
layout_mode = 0
|
||||||
anchors_preset = 15
|
offset_left = 5.0
|
||||||
anchor_right = 1.0
|
offset_top = 78.0
|
||||||
anchor_bottom = 1.0
|
offset_right = 1597.0
|
||||||
offset_left = 11.0
|
offset_bottom = 876.0
|
||||||
offset_top = 100.0
|
|
||||||
offset_right = 1.0
|
[node name="table_t" type="GridContainer" parent="ColorRect/tabs/threats/scroll_thr"]
|
||||||
offset_bottom = 10.0
|
layout_mode = 2
|
||||||
grow_horizontal = 2
|
|
||||||
grow_vertical = 2
|
|
||||||
script = ExtResource("2_61iss")
|
script = ExtResource("2_61iss")
|
||||||
node_type_file = "res://ячейка-1.tscn"
|
node_type_file = "res://ячейка-1.tscn"
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ extends GridContainer
|
|||||||
@export_file var selector_type_file: = 'res://table/selector.tscn': set = load_selector_scene ## Сцена индикатора для выбранного ряда
|
@export_file var selector_type_file: = 'res://table/selector.tscn': set = load_selector_scene ## Сцена индикатора для выбранного ряда
|
||||||
|
|
||||||
const HEAD_PREFIX = 'HEAD_' ## Префикс ключа заголовка таблицы
|
const HEAD_PREFIX = 'HEAD_' ## Префикс ключа заголовка таблицы
|
||||||
const INDEX_FORMAT = '%02d_%02d' ## Формат индекса ключа
|
const INDEX_FORMAT = '%03d_%03d' ## Формат индекса ключа
|
||||||
const MAX_INDEX = 99 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа
|
const MAX_INDEX = 200 ## Максимальное значение индекса для колонки и строки. Связано с форматом индекса ключа
|
||||||
const NODE_PREFIX = 'NODE_' ## Префикс ключа ячейки таблицы
|
const NODE_PREFIX = 'NODE_' ## Префикс ключа ячейки таблицы
|
||||||
const SLCT_PREFIX = 'SLCT_' ## Префикс ключа индикатора выбранного ряда таблицы
|
const SLCT_PREFIX = 'SLCT_' ## Префикс ключа индикатора выбранного ряда таблицы
|
||||||
|
|
||||||
|
|||||||
26
threats.gd
26
threats.gd
@@ -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 = [[COLUMN_TMOD, MODE_TYPES], [COLUMN_FREQM, FREQM], [COLUMN_PROTO, M_PROTO]]
|
||||||
const COLUMN_OPT_BTN = [COLUMN_TMOD, COLUMN_FREQM, COLUMN_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('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, 'text_submitted', 'on_edit_entry', TABLE_ENTRY_COLUMNS, [])
|
||||||
table.connect_columns(self, 'item_selected', 'on_item_selected', COLUMN_OPT_BTN, [])
|
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_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_del.connect('button_up', Callable(self, 'on_btn_del').bind(table))
|
||||||
nodes.btn_save.connect('button_up', Callable(self, 'on_btn_save'))
|
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_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))
|
nodes.btn_rt.connect('pressed', Callable(self, 'on_rotate_th').bind(nodes.entry_rt, table))
|
||||||
var timer = Timer.new()
|
var timer = Timer.new()
|
||||||
@@ -505,5 +506,22 @@ func on_btn_load(table):
|
|||||||
load_treats(table)
|
load_treats(table)
|
||||||
|
|
||||||
|
|
||||||
func on_thr_gen():
|
func on_thr_gen(table):
|
||||||
print_debug()
|
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, [])
|
||||||
|
|||||||
Reference in New Issue
Block a user