Merge remote-tracking branch 'sasha80/master'
# Conflicts: # scenes/контроль/control-prd.gd
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -39,3 +39,4 @@ modbus/serial/__pycache__
|
|||||||
/scenes/pribor-prd-n/kasseta-fs-nd.tscn.bak
|
/scenes/pribor-prd-n/kasseta-fs-nd.tscn.bak
|
||||||
|
|
||||||
*.patch
|
*.patch
|
||||||
|
проверка.log
|
||||||
|
|||||||
16
check.sh
16
check.sh
@@ -50,10 +50,12 @@ while IFS= read -r file; do
|
|||||||
# Удаляем начальные и конечные пробелы
|
# Удаляем начальные и конечные пробелы
|
||||||
gsub(/^[[:space:]]+|[[:space:]]+$/, "", line)
|
gsub(/^[[:space:]]+|[[:space:]]+$/, "", line)
|
||||||
|
|
||||||
# Ищем непустые строки с двойными кавычками
|
if (index(original_line, "\"\"\"") == 0) {
|
||||||
if (line ~ /"[^"\\]*"/) {
|
# Ищем непустые строки с двойными кавычками
|
||||||
print line_num ": " original_line
|
if (line ~ /"[^"\\]*"/) {
|
||||||
}
|
print line_num ": " original_line
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
' "$file")
|
' "$file")
|
||||||
|
|
||||||
@@ -65,8 +67,10 @@ while IFS= read -r file; do
|
|||||||
done
|
done
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
done < <(find "$TARGET_DIR" -type f -name "*.gd")
|
done < <(find "$TARGET_DIR" -type f -name "*.gd" -not -path "./addons/*")
|
||||||
|
|
||||||
if [ "$FOUND_MATCHES" -eq 0 ]; then
|
if [ "$FOUND_MATCHES" -eq 0 ]; then
|
||||||
echo "Совпадений не найдено."
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
|||||||
@@ -20,8 +20,8 @@
|
|||||||
# - выполнение фиксации;
|
# - выполнение фиксации;
|
||||||
# - выполнение слияния.
|
# - выполнение слияния.
|
||||||
|
|
||||||
|
|
||||||
GDSCRIPT_FILE="scripts/commit.gd"
|
GDSCRIPT_FILE="scripts/commit.gd"
|
||||||
|
LOGFILE="проверка.log"
|
||||||
HEAD="$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short HEAD) $(git log -1 --format=%cd)"
|
HEAD="$(git rev-parse --abbrev-ref HEAD) $(git rev-parse --short HEAD) $(git log -1 --format=%cd)"
|
||||||
if [ -n "$(git status --porcelain)" ]; then
|
if [ -n "$(git status --porcelain)" ]; then
|
||||||
HEAD="Изменённый ${HEAD}"
|
HEAD="Изменённый ${HEAD}"
|
||||||
@@ -29,3 +29,6 @@ fi
|
|||||||
echo "extends Node" > ${GDSCRIPT_FILE}
|
echo "extends Node" > ${GDSCRIPT_FILE}
|
||||||
echo "# Файл сгенерирован автоматически! Не изменять вручную!" >> ${GDSCRIPT_FILE}
|
echo "# Файл сгенерирован автоматически! Не изменять вручную!" >> ${GDSCRIPT_FILE}
|
||||||
echo "const VCS_HEAD = '${HEAD}'" >> ${GDSCRIPT_FILE}
|
echo "const VCS_HEAD = '${HEAD}'" >> ${GDSCRIPT_FILE}
|
||||||
|
|
||||||
|
echo "${HEAD}" > ${LOGFILE}
|
||||||
|
./check.sh . >> ${LOGFILE}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
## ```
|
## ```
|
||||||
## > iptables v1.8.2 (nf_tables)
|
## > iptables v1.8.2 (nf_tables)
|
||||||
|
|
||||||
|
|
||||||
INI_FILE="/opt/5p28/device.ini" ## Путь к INI-файлу 5п28
|
INI_FILE="/opt/5p28/device.ini" ## Путь к INI-файлу 5п28
|
||||||
SECTION_NAME="navigat" ## Название секции INI-файла 5п28
|
SECTION_NAME="navigat" ## Название секции INI-файла 5п28
|
||||||
IP_PORT_NAME="port" ## Имя поля INI-файла 5п28 в котором хранится номер порта назначения
|
IP_PORT_NAME="port" ## Имя поля INI-файла 5п28 в котором хранится номер порта назначения
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ func _enter_tree() -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _on_settings_changed():
|
func _on_settings_changed():
|
||||||
apply_colors(ProjectSettings.get_setting("application/config/Цвет темы программы", false ))
|
apply_colors(ProjectSettings.get_setting('application/config/%s' % 'Цвет темы программы', false ))
|
||||||
|
|
||||||
|
|
||||||
func _exit_tree() -> void:
|
func _exit_tree() -> void:
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
extends CanvasGroup
|
extends CanvasGroup
|
||||||
class_name MercatorTileMap
|
class_name MercatorTileMap
|
||||||
|
|
||||||
|
const VECTOR00: = Vector2(0, 0)
|
||||||
|
const VECTOR11: = Vector2(1, 1)
|
||||||
|
|
||||||
## Отображение карт WEB Mercator
|
## Отображение карт WEB Mercator
|
||||||
|
|
||||||
#http://10.1.1.220/osm_tiles/0/0/0.png
|
#http://10.1.1.220/osm_tiles/0/0/0.png
|
||||||
@@ -26,7 +29,6 @@ const TILE_REQUEST_NAME: = 'tile_request_%d'
|
|||||||
@export_color_no_alpha() var back_color: = Color.BLACK
|
@export_color_no_alpha() var back_color: = Color.BLACK
|
||||||
@export var show_ship_radius: bool = true
|
@export var show_ship_radius: bool = true
|
||||||
@export var ship_radius_km: float = 8.0
|
@export var ship_radius_km: float = 8.0
|
||||||
@onready var scale_label: String
|
|
||||||
@onready var coordinates_label: String
|
@onready var coordinates_label: String
|
||||||
@onready var threat_mark: PackedScene = load("res://scenes/tilemap/threat.tscn")
|
@onready var threat_mark: PackedScene = load("res://scenes/tilemap/threat.tscn")
|
||||||
@onready var ship_mark: PackedScene = load("res://scenes/tilemap/ship-mark.tscn")
|
@onready var ship_mark: PackedScene = load("res://scenes/tilemap/ship-mark.tscn")
|
||||||
@@ -89,7 +91,7 @@ var _marks: Dictionary = {}
|
|||||||
var _req_count: = 0
|
var _req_count: = 0
|
||||||
var image: = Image.new()
|
var image: = Image.new()
|
||||||
var image_load_proc: Callable
|
var image_load_proc: Callable
|
||||||
var now: = 0
|
var now: = 0.0
|
||||||
var visible_marks_count: = 0
|
var visible_marks_count: = 0
|
||||||
var border1: ImageTexture
|
var border1: ImageTexture
|
||||||
var border2: ImageTexture
|
var border2: ImageTexture
|
||||||
@@ -227,9 +229,11 @@ func _input(e) -> void:
|
|||||||
if e.button_index == MOUSE_BUTTON_WHEEL_DOWN:
|
if e.button_index == MOUSE_BUTTON_WHEEL_DOWN:
|
||||||
if (not is_out_border1) and (not is_out_border2):
|
if (not is_out_border1) and (not is_out_border2):
|
||||||
increment_zoom(-zoom_step, lmp)
|
increment_zoom(-zoom_step, lmp)
|
||||||
|
update_scale_label()
|
||||||
queue_redraw()
|
queue_redraw()
|
||||||
elif e.button_index == MOUSE_BUTTON_WHEEL_UP:
|
elif e.button_index == MOUSE_BUTTON_WHEEL_UP:
|
||||||
increment_zoom( zoom_step, lmp)
|
increment_zoom( zoom_step, lmp)
|
||||||
|
update_scale_label()
|
||||||
queue_redraw()
|
queue_redraw()
|
||||||
if e.button_index == MOUSE_BUTTON_LEFT:
|
if e.button_index == MOUSE_BUTTON_LEFT:
|
||||||
_dragging = e.pressed
|
_dragging = e.pressed
|
||||||
@@ -256,22 +260,12 @@ func _input(e) -> void:
|
|||||||
signaller.emmit(signaller.map_user_panning)
|
signaller.emmit(signaller.map_user_panning)
|
||||||
|
|
||||||
|
|
||||||
func multiply_zoom(multiplier: float, pivot: Vector2) -> void:
|
|
||||||
var p1: = screen_to_world(_xyz, pivot)
|
|
||||||
_xyz.z = clampf(_xyz.z * multiplier, min_zoom_level, max_zoom_level)
|
|
||||||
var p2: = screen_to_world(_xyz, pivot)
|
|
||||||
_xyz.x -= p2.x - p1.x
|
|
||||||
_xyz.y -= p2.y - p1.y
|
|
||||||
update_scale_label()
|
|
||||||
|
|
||||||
|
|
||||||
func increment_zoom(increment: float, pivot: Vector2) -> void:
|
func increment_zoom(increment: float, pivot: Vector2) -> void:
|
||||||
var p1: = screen_to_world(_xyz, pivot)
|
var p1: = screen_to_world(_xyz, pivot)
|
||||||
_xyz.z = clampf(_xyz.z + increment, min_zoom_level, max_zoom_level)
|
_xyz.z = clampf(_xyz.z + increment, min_zoom_level, max_zoom_level)
|
||||||
var p2: = screen_to_world(_xyz, pivot)
|
var p2: = screen_to_world(_xyz, pivot)
|
||||||
_xyz.x -= p2.x - p1.x
|
_xyz.x -= p2.x - p1.x
|
||||||
_xyz.y -= p2.y - p1.y
|
_xyz.y -= p2.y - p1.y
|
||||||
update_scale_label()
|
|
||||||
|
|
||||||
|
|
||||||
func set_zoom(zoom: float, pivot: Vector2) -> void:
|
func set_zoom(zoom: float, pivot: Vector2) -> void:
|
||||||
@@ -280,14 +274,13 @@ func set_zoom(zoom: float, pivot: Vector2) -> void:
|
|||||||
var p2: = screen_to_world(_xyz, pivot)
|
var p2: = screen_to_world(_xyz, pivot)
|
||||||
_xyz.x -= p2.x - p1.x
|
_xyz.x -= p2.x - p1.x
|
||||||
_xyz.y -= p2.y - p1.y
|
_xyz.y -= p2.y - p1.y
|
||||||
update_scale_label()
|
|
||||||
|
|
||||||
|
|
||||||
func _draw() -> void:
|
func _draw() -> void:
|
||||||
# Рисование плиток
|
# Рисование плиток
|
||||||
var z: float = min(max_zoom_level, _xyz.z)
|
var z: float = min(max_zoom_level, _xyz.z)
|
||||||
var t1: = screen_to_tile(Vector2(0, 0), z)
|
var t1: = screen_to_tile(VECTOR00, z)
|
||||||
var t2: = screen_to_tile($canvas.size, z) + Vector2(1, 1)
|
var t2: = screen_to_tile($canvas.size, z) + VECTOR11
|
||||||
is_out_border1 = true
|
is_out_border1 = true
|
||||||
is_out_border2 = true
|
is_out_border2 = true
|
||||||
for tx in range(t1.x, t2.x):
|
for tx in range(t1.x, t2.x):
|
||||||
@@ -373,12 +366,10 @@ func _process(delta) -> void:
|
|||||||
remove_child(req)
|
remove_child(req)
|
||||||
req.queue_free()
|
req.queue_free()
|
||||||
_req_count -= 1
|
_req_count -= 1
|
||||||
push_error('запрос \"%s\" не отправлен' % tile.url) #TODO: For Deugs
|
push_error('запрос \"%s\" не отправлен' % tile.url)
|
||||||
if _queue.is_empty():
|
if _queue.is_empty():
|
||||||
emit_signal('load_completed')
|
emit_signal('load_completed')
|
||||||
|
|
||||||
update_scale_label()
|
|
||||||
|
|
||||||
|
|
||||||
func process_online(result):
|
func process_online(result):
|
||||||
# ERROR: res://scenes/tilemap/tilemap.gd:396 - Invalid access to property or key 'online' on a base object of type 'Nil'.
|
# ERROR: res://scenes/tilemap/tilemap.gd:396 - Invalid access to property or key 'online' on a base object of type 'Nil'.
|
||||||
@@ -642,7 +633,7 @@ class Tile:
|
|||||||
var x: int = 0
|
var x: int = 0
|
||||||
var y: int = 0
|
var y: int = 0
|
||||||
var z: int = 0
|
var z: int = 0
|
||||||
var t: int = 0
|
var t: float = 0.0
|
||||||
var url: String = ''
|
var url: String = ''
|
||||||
var texture: Texture2D = null
|
var texture: Texture2D = null
|
||||||
|
|
||||||
@@ -732,7 +723,7 @@ func update_coordinates_label(lon: float, lat: float) -> void:
|
|||||||
|
|
||||||
|
|
||||||
func update_scale_label() -> void:
|
func update_scale_label() -> void:
|
||||||
scale_label = 'Масштаб: ' + str(round(_xyz.z))
|
var scale_label: = 'Масштаб: %f' % round(_xyz.z)
|
||||||
signaller.emit_signal('update_scale_map', scale_label)
|
signaller.emit_signal('update_scale_map', scale_label)
|
||||||
|
|
||||||
|
|
||||||
@@ -766,6 +757,7 @@ func zoom_in() -> void:
|
|||||||
return
|
return
|
||||||
var center: Vector2 = $canvas.size / 2.0
|
var center: Vector2 = $canvas.size / 2.0
|
||||||
increment_zoom(zoom_step, center)
|
increment_zoom(zoom_step, center)
|
||||||
|
update_scale_label()
|
||||||
queue_redraw()
|
queue_redraw()
|
||||||
|
|
||||||
|
|
||||||
@@ -774,6 +766,7 @@ func zoom_out() -> void:
|
|||||||
return
|
return
|
||||||
var center: Vector2 = $canvas.size / 2.0
|
var center: Vector2 = $canvas.size / 2.0
|
||||||
increment_zoom(-zoom_step, center)
|
increment_zoom(-zoom_step, center)
|
||||||
|
update_scale_label()
|
||||||
queue_redraw()
|
queue_redraw()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,18 +30,14 @@ func _setup_styles() -> void:
|
|||||||
|
|
||||||
func _setup_signals() -> void:
|
func _setup_signals() -> void:
|
||||||
connect('pressed', Callable(self, '_on_pressed'))
|
connect('pressed', Callable(self, '_on_pressed'))
|
||||||
|
|
||||||
if not signaller:
|
|
||||||
return
|
|
||||||
var signals_to_connect := ['режим_работа', 'режим_журнал', 'режим_эмс', 'режим_настройки', 'режим_контроль']
|
var signals_to_connect := ['режим_работа', 'режим_журнал', 'режим_эмс', 'режим_настройки', 'режим_контроль']
|
||||||
for signal_name in signals_to_connect:
|
for signal_name in signals_to_connect:
|
||||||
if signaller.has_signal(signal_name):
|
signaller.connect(signal_name, Callable(self, '_on_status_change'))
|
||||||
signaller.connect(signal_name, Callable(self, '_on_status_change'))
|
|
||||||
|
|
||||||
|
|
||||||
func _on_pressed():
|
func _on_pressed():
|
||||||
disabled = true
|
disabled = true
|
||||||
text = 'Идет выполнение контроля'
|
text = 'Контроль выполняется ...'
|
||||||
flag_control_is_over = false
|
flag_control_is_over = false
|
||||||
_start_pulse()
|
_start_pulse()
|
||||||
|
|
||||||
|
|||||||
@@ -634,12 +634,12 @@ func set_btns_disabled(value: bool, btn):
|
|||||||
|
|
||||||
func on_interfer_prinuditelno(prenuditelno_sectors):
|
func on_interfer_prinuditelno(prenuditelno_sectors):
|
||||||
for key in prenuditelno_sectors:
|
for key in prenuditelno_sectors:
|
||||||
var sectors = []
|
var sectors: = []
|
||||||
for sector in prenuditelno_sectors[key]:
|
for sector in prenuditelno_sectors[key]:
|
||||||
sectors.append(prd.get_fs_param(sector))
|
sectors.append(prd.get_fs_param(sector))
|
||||||
signaller.emit_signal('interfer_init', key, sectors, interfer.POW_DEFAULT)
|
signaller.emit_signal('interfer_init', key, sectors, interfer.POW_DEFAULT)
|
||||||
update_fs_colors()
|
update_fs_colors()
|
||||||
var btns: Array = get_tree().get_nodes_in_group('группа-режим-помехи')
|
var btns: = get_tree().get_nodes_in_group('группа-режим-помехи')
|
||||||
for btn in btns:
|
for btn in btns:
|
||||||
btn.set_pressed(false)
|
btn.set_pressed(false)
|
||||||
set_btns_disabled(true, btn)
|
set_btns_disabled(true, btn)
|
||||||
@@ -663,12 +663,12 @@ func on_btn_activate_toggled(toggled_on: bool) -> void:
|
|||||||
$btn_activate.self_modulate = Color.WHITE
|
$btn_activate.self_modulate = Color.WHITE
|
||||||
|
|
||||||
|
|
||||||
func on_update_coordinates_label(coordinates_label) -> void:
|
func on_update_coordinates_label(coordinates_label: String) -> void:
|
||||||
$coordinates_map.text = str(coordinates_label)
|
$coordinates_map.text = coordinates_label
|
||||||
|
|
||||||
|
|
||||||
func on_update_scale_label(scale_label) -> void:
|
func on_update_scale_label(scale_label: String) -> void:
|
||||||
$scale_map.text = str(scale_label)
|
$scale_map.text = scale_label
|
||||||
|
|
||||||
|
|
||||||
func on_btn_close():
|
func on_btn_close():
|
||||||
@@ -698,7 +698,7 @@ func on_th_aoa_update(ths):
|
|||||||
|
|
||||||
|
|
||||||
func count_threats(ths):
|
func count_threats(ths):
|
||||||
$count_all_pad/count_all.text = '%02d' % ths.size()
|
$count_all_pad/count_all.text = '%02d' % ths.size() if ths.size() < 100 else 99
|
||||||
var c: int = 0
|
var c: int = 0
|
||||||
if gos_flag:
|
if gos_flag:
|
||||||
c = ths.values().filter(func(th: threats.Threat): return th.proto != '').size()
|
c = ths.values().filter(func(th: threats.Threat): return th.proto != '').size()
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ signal emit_changed(state)
|
|||||||
|
|
||||||
## Вызывается при изменении детализации карты.[br]
|
## Вызывается при изменении детализации карты.[br]
|
||||||
## [param new_scale] - обновленное значение масштаба ([b]true[/b]
|
## [param new_scale] - обновленное значение масштаба ([b]true[/b]
|
||||||
signal update_scale_map(new_scale)
|
signal update_scale_map(new_scale: String)
|
||||||
|
|
||||||
|
|
||||||
## Вызывается при изменении текущих координат.[br]
|
## Вызывается при изменении текущих координат.[br]
|
||||||
|
|||||||
Reference in New Issue
Block a user