Доработка. Добавление скрола и генератора 100 целей.
This commit is contained in:
9
main.gd
9
main.gd
@@ -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)
|
||||
|
||||
20
main.tscn
20
main.tscn
@@ -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"
|
||||
|
||||
|
||||
@@ -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_' ## Префикс ключа индикатора выбранного ряда таблицы
|
||||
|
||||
|
||||
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_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, [])
|
||||
|
||||
Reference in New Issue
Block a user