Исправление. Добавление курса к выбору секторов. Исправление случайного включения двух помех при выборе СРН. Автовыбор помехи для цели только в автоматическом режиме.

This commit is contained in:
MaD_CaT
2025-10-09 15:38:55 +03:00
committed by sasha80
parent 148e705af1
commit 71178ced2d
5 changed files with 33 additions and 12 deletions

View File

@@ -46,6 +46,7 @@ const COLUMN_NAME = 1
const COLUMN_AOA = 2
const COLUMN_STATE = 3
var course = 0.0 ## Курс корабля
func on_rto_threat_unsel(_th_id): $table.clear_rows_selected()
@@ -88,6 +89,8 @@ func _ready():
interfer.connect('interfer_recommendate', Callable(self, 'on_interfer_recommendate'))
$table.connect('row_pressed', Callable(self, 'on_row_pressed'))
call_deferred('init_table')
var unit_nav = network.get_unit_instance('навигация')
unit_nav.connect('data_received', on_navi_data_received)
func init_table():
@@ -148,7 +151,7 @@ func map_th_to_row(ecm) -> Array:
row[COLUMN_NAME] = ''
if INTERFER_NAMES.has(ecm.krp):
row[COLUMN_NAME] = '%s' % INTERFER_NAMES[ecm.krp]
row[COLUMN_AOA] = '%s' % ecm.kni
row[COLUMN_AOA] = '%s' % (ecm.kni + course)
row[COLUMN_STATE] = ''
if INTERFER_STATE.has(ecm.svk):
row[COLUMN_STATE] = '%s' % INTERFER_STATE[ecm.svk]
@@ -162,3 +165,7 @@ func on_interfer_recommendate(ecm):
var sel_ecm = $table.get_node_user_data(0, sel_rows[0])
if ecm == sel_ecm:
signaller.emit_signal('interfer_selected', ecm)
func on_navi_data_received(data: Dictionary):
course = data.get('k', 0.0)

View File

@@ -33,6 +33,8 @@ var view_mode: MapViewMode ## Режим отображения к
var color_ecm: Color
var color_select: Color
var course = 0.0 ## Курс корабля
signal drag_begin ## Вызывается в момент начала перетаскивания.
signal drag_continue ## Вызывается во время продолжения перетаскивания.
signal drag_end ## Вызывается в момент завершения перетаскивания.
@@ -165,7 +167,8 @@ func _ready():
func on_navi_data_received(data: Dictionary):
$canvas.set_canvas_rotation(data.get('k', 0.0))
$canvas.set_canvas_rotation(data.get('k', 0.0))
course = data.get('k', 0.0)
func on_user_panning():
@@ -417,7 +420,7 @@ func sel_fs_sector(event):
if (event.button_index == MOUSE_BUTTON_LEFT) or (event.button_index == MOUSE_BUTTON_RIGHT):
var center: Vector2 = $tilemap.position
var center_offset: Vector2 = ProjectSettings.get_setting('application/interfer/center_offset', Vector2i(0, 25))
var angle: float = event.position.angle_to_point(center + center_offset) * 180/PI - 45.0
var angle: float = event.position.angle_to_point(center + center_offset) * 180/PI - 45.0 - course
if angle < 0:
angle += 360
var distance: float = event.position.distance_to(center + center_offset)

View File

@@ -53,6 +53,7 @@ colors = PackedColorArray(1, 1, 1, 0.352941, 1, 1, 1, 0)
[sub_resource type="SystemFont" id="SystemFont_5ffal"]
generate_mipmaps = true
subpixel_positioning = 0
[node name="Работа" type="Panel"]
script = ExtResource("1_niok4")
@@ -345,7 +346,7 @@ text = ""
[connection signal="toggled" from="btn_activate" to="." method="on_btn_activate_toggled"]
[connection signal="toggled" from="btn_center" to="." method="on_btn_center_toggled"]
[connection signal="button_down" from="zoom_plus" to="tilemap" method="_on_zoom_plus_button_down"]
[connection signal="button_up" from="zoom_plus" to="tilemap" method="_on_zoom_plus_button_up"]
[connection signal="button_up" from="zoom_plus" to="tilemap" method="_on_zoom_button_up"]
[connection signal="button_up" from="zoom_plus" to="tilemap" method="_on_zoom_plus_button_up"]
[connection signal="button_down" from="zoom_minus" to="tilemap" method="_on_zoom_minus_button_down"]
[connection signal="button_up" from="zoom_minus" to="tilemap" method="_on_zoom_button_up"]