Рефактор
This commit is contained in:
@@ -24,8 +24,6 @@ config/map_tile_size=256
|
||||
config/map_minimum_zoom=5
|
||||
config/map_maximum_zoom=19
|
||||
config/map_server_addr="https://b.tile.openstreetmap.org"
|
||||
config/map_image_size_rto=Vector2i(512, 512)
|
||||
config/map_image_size_rls=Vector2i(1024, 1024)
|
||||
interfer/center_offset=Vector2(0, 25)
|
||||
interfer/default_color0=Vector3(0.38, 0.47, 0.51)
|
||||
interfer/default_color1=Vector3(0.39, 0.44, 0.5)
|
||||
@@ -89,6 +87,8 @@ window/vsync/vsync_mode=false
|
||||
|
||||
[editor]
|
||||
|
||||
movie_writer/mjpeg_quality=0.5
|
||||
movie_writer/fps=24
|
||||
version_control/autoload_on_startup=true
|
||||
|
||||
[editor_plugins]
|
||||
@@ -99,6 +99,7 @@ enabled=PackedStringArray()
|
||||
|
||||
folder_colors={
|
||||
"res://addons/": "blue",
|
||||
"res://data/": "yellow",
|
||||
"res://modbus/": "blue",
|
||||
"res://scenes/": "teal",
|
||||
"res://scenes/bip/": "blue",
|
||||
@@ -192,7 +193,6 @@ common/enable_object_picking=false
|
||||
|
||||
renderer/rendering_method="gl_compatibility"
|
||||
renderer/rendering_method.web="mobile"
|
||||
gl_compatibility/item_buffer_size=8192
|
||||
shader_compiler/shader_cache/strip_debug=true
|
||||
textures/default_filters/anisotropic_filtering_level=0
|
||||
anti_aliasing/screen_space_roughness_limiter/enabled=false
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
@tool
|
||||
extends CanvasGroup
|
||||
class_name MercatorTileMap
|
||||
|
||||
## Отображение карт WEB Mercator
|
||||
|
||||
const MIN_ZOOM: float = 2.0
|
||||
const MAX_ZOOM: float = 19.0
|
||||
const TEST_COORDS: = [ Vector2(0, 0), Vector2(1, 0), Vector2(0, 1), Vector2(1, 1) ]
|
||||
var test_coords_i: = 3
|
||||
|
||||
|
||||
#http://10.1.1.220/osm_tiles/0/0/0.png
|
||||
#https://tile.openstreetmap.org/{z}/{x}/{y}.png
|
||||
@export var base_url: String = 'https://tile.openstreetmap.org/{z}/{x}/{y}.png':
|
||||
@@ -23,7 +18,8 @@ var test_coords_i: = 3
|
||||
@export var tile_height: float = 256.0
|
||||
@export_range(1, 1000, 1) var max_concurrent_requests:int = 5
|
||||
@export_range(100, 100000, 1) var max_cached_tiles: int = 200
|
||||
@export_range(0, 25, 1) var max_zoom_level: int = 21
|
||||
@export_range(0, 25, 1) var max_zoom_level: int = 19
|
||||
@export_range(0, 25, 1) var min_zoom_level: int = 0
|
||||
@export_color_no_alpha() var back_color: = Color.BLACK
|
||||
@export var animation_time: float = 1.0
|
||||
|
||||
@@ -61,7 +57,7 @@ var test_coords_i: = 3
|
||||
return _xyz.z
|
||||
|
||||
|
||||
var _xyz: Vector3 = Vector3(0, 0, MIN_ZOOM)
|
||||
var _xyz: Vector3 = Vector3(0, 0, min_zoom_level)
|
||||
var _cache: Dictionary = {}
|
||||
var _queue: Dictionary = {}
|
||||
var _dragging: bool = false
|
||||
@@ -218,7 +214,7 @@ func is_border_visible():
|
||||
|
||||
func multiply_zoom(multiplier: float, pivot: Vector2):
|
||||
var p1: = screen_to_world(_xyz, pivot.x, pivot.y)
|
||||
_xyz.z = clampf(_xyz.z * multiplier, MIN_ZOOM, MAX_ZOOM)
|
||||
_xyz.z = clampf(_xyz.z * multiplier, min_zoom_level, max_zoom_level)
|
||||
var p2: = screen_to_world(_xyz, pivot.x, pivot.y)
|
||||
_xyz.x -= p2.x - p1.x
|
||||
_xyz.y -= p2.y - p1.y
|
||||
@@ -229,7 +225,7 @@ func set_zoom(zoom: float, pivot=null):
|
||||
pivot = $canvas.size / 2.0
|
||||
|
||||
var p1: = screen_to_world(_xyz, pivot.x, pivot.y)
|
||||
_xyz.z = clampf(zoom, MAX_ZOOM, MIN_ZOOM)
|
||||
_xyz.z = clampf(zoom, max_zoom_level, min_zoom_level)
|
||||
var p2: = screen_to_world(_xyz, pivot.x, pivot.y)
|
||||
_xyz.x -= p2.x - p1.x
|
||||
_xyz.y -= p2.y - p1.y
|
||||
@@ -335,7 +331,7 @@ func _process(delta):
|
||||
|
||||
|
||||
# result, response_code, headers, body
|
||||
func _response(result, code, headers: Array, body: PackedByteArray, req, tile: Tile):
|
||||
func _response(result, code, _headers: Array, body: PackedByteArray, req, tile: Tile):
|
||||
|
||||
_req_count -= 1
|
||||
remove_child(req)
|
||||
@@ -635,7 +631,6 @@ func remove_closest_dot(screen_pos):
|
||||
|
||||
func find_at_screen_position(screen_pos: Vector2):
|
||||
var closest_dot = null
|
||||
var closest_l = null
|
||||
var closest_distance = INF
|
||||
for mark in _marks.values():
|
||||
var dot_screen_pos = world_to_screen(mark.position.x, mark.position.y)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
[node name="tilemap" type="CanvasGroup" groups=["gui_items"]]
|
||||
script = ExtResource("1_l64tp")
|
||||
max_zoom_level = 21
|
||||
az = 2.0
|
||||
|
||||
[node name="canvas" type="TextureRect" parent="." groups=["gui_items"]]
|
||||
|
||||
@@ -37,6 +37,7 @@ signal drag_begin ## Вызывается в момент начала пе
|
||||
signal drag_continue ## Вызывается во время продолжения перетаскивания.
|
||||
signal drag_end ## Вызывается в момент завершения перетаскивания.
|
||||
|
||||
|
||||
## Границы секторов блоков ФС по частоте в режиме РТО.
|
||||
const fs_band_rto: Dictionary = {
|
||||
0: [200.0, 250.0],
|
||||
@@ -105,6 +106,10 @@ func on_threats_resized(threats: Dictionary): $count_all_pad/count_all.text = '%
|
||||
func on_threat_selected(th, ecm_btns): on_rto_threat_sel(th.id, ecm_btns)
|
||||
|
||||
|
||||
## Встроенный обратный вызов.
|
||||
func on_enter_tree() -> void: call_deferred('on_button_strobe_pressed')
|
||||
|
||||
|
||||
## Обработчик нажатия на кнопку вид.
|
||||
func on_button_view_toggled(toggled: bool):
|
||||
signaller.emit_signal('map_mode_changed', int(toggled))
|
||||
@@ -136,7 +141,6 @@ func _ready():
|
||||
min_zoom = ProjectSettings.get_setting('application/config/map_minimum_zoom', 5)
|
||||
max_zoom = ProjectSettings.get_setting('application/config/map_maximum_zoom', 19)
|
||||
drag_fsm = DragFSM.OFF
|
||||
$btn_zoom.set_meta('zoom', min_zoom - 1)
|
||||
var btns_select: Array = $btns_select.get_children()
|
||||
btns_select.any(func(btn): btn.button_connect('pressed', Callable(self, 'on_button_select').bind(btn, btns_select)))
|
||||
$btn_view.button_connect('toggled', Callable(self, 'on_button_view_toggled'))
|
||||
@@ -146,7 +150,6 @@ func _ready():
|
||||
threats.connect('threat_lost', Callable(self, 'on_threat_lost'))
|
||||
threats.connect('threats_resized', Callable(self, 'on_threats_resized'))
|
||||
threats.connect('threat_update', Callable(self, 'on_threat_update'))
|
||||
signaller.connect('zoom_complete', Callable(self, '_on_zoom_complete'))
|
||||
signaller.connect('rto_threat_sel', Callable(self, 'on_rto_threat_sel').bind(nodes))
|
||||
signaller.connect('bip_pressed', Callable(self, 'on_bip_pressed').bind(nodes))
|
||||
signaller.connect('rto_threat_unsel', Callable(self, 'on_rto_threat_unsel').bind(nodes))
|
||||
@@ -166,11 +169,6 @@ func get_all_nodes(root):
|
||||
return nodes
|
||||
|
||||
|
||||
func on_enter_tree() -> void:
|
||||
call_deferred('_on_btn_scale_pressed')
|
||||
call_deferred('on_button_strobe_pressed')
|
||||
|
||||
|
||||
## Производит отображение цели на диаграмму.
|
||||
func map_threat_to_bip(th: threats.Threat, bip: Control):
|
||||
bip.position = tools.pos_calc(
|
||||
@@ -370,20 +368,6 @@ func _input(event) -> void:
|
||||
shift_pressed = event.pressed
|
||||
|
||||
|
||||
## Вызывается по нажатию кнопки "Детализация".
|
||||
func _on_btn_scale_pressed() -> void:
|
||||
var zoom = $btn_zoom.get_meta('zoom')
|
||||
zoom = zoom + 1 if zoom < max_zoom else min_zoom
|
||||
signaller.emit_signal('zoom_changed', zoom)
|
||||
|
||||
|
||||
## Вызывается по завершению изменения детализации карты.
|
||||
func _on_zoom_complete(zoom: int) -> void:
|
||||
var prefix = $btn_zoom.get_meta('prefix')
|
||||
$btn_zoom/lbl.text = '%s %d' % [prefix, zoom]
|
||||
$btn_zoom.set_meta('zoom', zoom)
|
||||
|
||||
|
||||
## Обработчик нажатия по сектору формирователя сигналов.
|
||||
func sel_fs_sector(event):
|
||||
if (event.button_index == MOUSE_BUTTON_LEFT) or (event.button_index == MOUSE_BUTTON_RIGHT):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://b276iygic5itk"]
|
||||
[gd_scene load_steps=12 format=3 uid="uid://b276iygic5itk"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/работа/работа.gd" id="1_niok4"]
|
||||
[ext_resource type="PackedScene" uid="uid://nl1vklubr5kr" path="res://scenes/bip/bip.tscn" id="2_br3s6"]
|
||||
@@ -7,7 +7,6 @@
|
||||
[ext_resource type="PackedScene" uid="uid://dymo732qc2doa" path="res://scenes/count-all/count-all-pad.tscn" id="6_e3re7"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwti82byphl68" path="res://scenes/count-danger/count_danger_pad.tscn" id="7_2arls"]
|
||||
[ext_resource type="PackedScene" uid="uid://da7w3vkhadfwe" path="res://scenes/button-flat/button-flat.tscn" id="8_k0iv2"]
|
||||
[ext_resource type="PackedScene" uid="uid://0uqi1ghf7sma" path="res://scenes/button-scale/btn-scale.tscn" id="9_oey3x"]
|
||||
[ext_resource type="PackedScene" uid="uid://ceknxxfu1loo5" path="res://scenes/tilemap/tilemap.tscn" id="10_gtwyg"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5kjdyxuwsot5" path="res://scenes/diagram/diagram.tscn" id="11_b6su4"]
|
||||
[ext_resource type="Script" path="res://scenes/работа/sld-mode.gd" id="12_gqdkl"]
|
||||
@@ -145,14 +144,6 @@ layout_mode = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="btn_zoom" parent="." instance=ExtResource("9_oey3x")]
|
||||
layout_mode = 0
|
||||
offset_left = 12.0
|
||||
offset_top = 986.0
|
||||
offset_right = 112.0
|
||||
offset_bottom = 1006.0
|
||||
metadata/zoom = 4
|
||||
|
||||
[node name="btns_select" type="GridContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 1018.0
|
||||
@@ -264,5 +255,4 @@ vertical_alignment = 1
|
||||
|
||||
[connection signal="drag_begin" from="." to="." method="_on_drag_begin"]
|
||||
[connection signal="drag_continue" from="." to="." method="_on_drag_continue"]
|
||||
[connection signal="pressed" from="btn_zoom" to="." method="_on_btn_scale_pressed"]
|
||||
[connection signal="value_changed" from="vslider" to="vslider" method="_on_value_changed"]
|
||||
|
||||
@@ -119,16 +119,6 @@ signal interfer_selected (ecm: interfer.Interfer)
|
||||
signal fs_selected(ecm: interfer.Interfer)
|
||||
|
||||
|
||||
## Вызывается при запросе изменения уровня детализации карты.[br]
|
||||
## [param zoom] - Вновь установленный уровень детализации.
|
||||
signal zoom_changed(zoom: int)
|
||||
|
||||
|
||||
## Вызывается при завершении изменения уровня детализации карты.[br]
|
||||
## [param zoom] - Вновь установленный уровень детализации.
|
||||
signal zoom_complete(zoom: int)
|
||||
|
||||
|
||||
## Вызывается при изменении координат карты.[br]
|
||||
## [param lan], [param lat] - Вновь установленные координаты.
|
||||
signal map_coords_changed(lan: float, lat: float)
|
||||
|
||||
Reference in New Issue
Block a user