Доработка. Размер изображение карты для режима РТО и РЛС
This commit is contained in:
@@ -21,12 +21,12 @@ boot_splash/use_filter=false
|
|||||||
config/icon="res://data/icon.png"
|
config/icon="res://data/icon.png"
|
||||||
config/map_bcs=Vector3(0.5, 1.5, 0.3)
|
config/map_bcs=Vector3(0.5, 1.5, 0.3)
|
||||||
config/map_tile_size=256
|
config/map_tile_size=256
|
||||||
config/map_image_hight=512
|
|
||||||
config/map_image_width=512
|
|
||||||
config/map_minimum_zoom=3
|
config/map_minimum_zoom=3
|
||||||
config/map_maximum_zoom=19
|
config/map_maximum_zoom=19
|
||||||
config/map_server_addr="https://b.tile.openstreetmap.org"
|
config/map_server_addr="https://b.tile.openstreetmap.org"
|
||||||
interfer/resend_timeout=1000.0
|
interfer/resend_timeout=1000.0
|
||||||
|
config/map_image_size_rto=Vector2i(512, 512)
|
||||||
|
config/map_image_size_rls=Vector2i(1024, 1024)
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ func get_strob_width() -> float: return $строб.material.get('shader_par
|
|||||||
func get_strob_band() -> float: return $строб.material.get('shader_parameter/band') * 125.0
|
func get_strob_band() -> float: return $строб.material.get('shader_parameter/band') * 125.0
|
||||||
func get_strob_radius() -> float: return $строб.material.get('shader_parameter/radius') * 125.0
|
func get_strob_radius() -> float: return $строб.material.get('shader_parameter/radius') * 125.0
|
||||||
|
|
||||||
func get_radius_outter() -> float: return material.get('shader_parameter/radius_outter')
|
func get_radius_outter() -> float: return material.get('shader_parameter/radius_outter')
|
||||||
func get_radius_inner() -> float: return material.get('shader_parameter/radius_inner')
|
func get_radius_inner_0() -> float: return material.get('shader_parameter/radius_inner_0')
|
||||||
|
func get_radius_inner_1() -> float: return material.get('shader_parameter/radius_inner_1')
|
||||||
|
|
||||||
func set_view_mode(val: int): material.set('shader_parameter/mode', val);
|
func set_view_mode(val: int): material.set('shader_parameter/mode', val);
|
||||||
|
|||||||
@@ -46,15 +46,20 @@ func _ready():
|
|||||||
map_request = HTTPRequest.new()
|
map_request = HTTPRequest.new()
|
||||||
add_child(map_request)
|
add_child(map_request)
|
||||||
map_request.request_completed.connect(self._map_request_completed)
|
map_request.request_completed.connect(self._map_request_completed)
|
||||||
var map_image_width = ProjectSettings.get_setting('application/config/map_image_width', 512)
|
|
||||||
var map_image_hight = ProjectSettings.get_setting('application/config/map_image_hight', 512)
|
|
||||||
map_image = Image.create(map_image_width, map_image_hight, true, Image.FORMAT_RGB8)
|
|
||||||
map_bcs = ProjectSettings.get_setting('application/config/map_bcs', Vector3(1.0, 1.0, 1.0))
|
map_bcs = ProjectSettings.get_setting('application/config/map_bcs', Vector3(1.0, 1.0, 1.0))
|
||||||
map_server_addr = ProjectSettings.get_setting('application/config/map_server_addr')
|
map_server_addr = ProjectSettings.get_setting('application/config/map_server_addr')
|
||||||
|
var map_image_size = ProjectSettings.get_setting('application/config/map_image_size_rto', Vector2i(512, 512))
|
||||||
var map_tile_size = ProjectSettings.get_setting('application/config/map_tile_size', 256)
|
var map_tile_size = ProjectSettings.get_setting('application/config/map_tile_size', 256)
|
||||||
|
map_image = Image.create(map_image_size.x, map_image_size.y, true, Image.FORMAT_RGB8)
|
||||||
map_tile = Rect2i(0, 0, map_tile_size, map_tile_size)
|
map_tile = Rect2i(0, 0, map_tile_size, map_tile_size)
|
||||||
signaller.connect('zoom_changed', Callable(self, '_on_zoom_changed'))
|
signaller.connect('zoom_changed', Callable(self, '_on_zoom_changed'))
|
||||||
|
signaller.connect('map_image_size_changed', Callable(self, '_on_map_image_size_changed'))
|
||||||
log.info('Модуль географической карты готов')
|
log.info('Модуль географической карты готов')
|
||||||
|
log.info('Адрес сервера поставщика карт: \"%s\"' % map_server_addr)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_map_mode_changed(mode: bool) -> void:
|
||||||
|
print_debug(mode)
|
||||||
|
|
||||||
|
|
||||||
func mark_image_center(image: Image, color: Color = Color.RED):
|
func mark_image_center(image: Image, color: Color = Color.RED):
|
||||||
@@ -109,7 +114,6 @@ func _process(_delta: float):
|
|||||||
else:
|
else:
|
||||||
if map_tile_stack.size() == 0:
|
if map_tile_stack.size() == 0:
|
||||||
signaller.emit_signal('zoom_complete', map_zoom)
|
signaller.emit_signal('zoom_complete', map_zoom)
|
||||||
print_debug('zoom_complete: %s' % [map_rects])
|
|
||||||
map_tile_state = TASK_STATE.DONE
|
map_tile_state = TASK_STATE.DONE
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,9 @@ enum DragFSM {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func on_button_view_toggled(toggled: bool): $canvas.set_view_mode(int(toggled))
|
func on_button_view_toggled(toggled: bool):
|
||||||
|
$canvas.set_view_mode(int(toggled))
|
||||||
|
signaller.emit_signal('map_mode_changed', toggled)
|
||||||
|
|
||||||
|
|
||||||
## Обработчик сигнала изменения списка целей
|
## Обработчик сигнала изменения списка целей
|
||||||
|
|||||||
@@ -80,4 +80,4 @@ signal map_coords_changed(lan: float, lat: float)
|
|||||||
|
|
||||||
## Вызывается при изменении размера изображения для отображения карты.
|
## Вызывается при изменении размера изображения для отображения карты.
|
||||||
## [param w], [param h] - Вновь установленный размер.
|
## [param w], [param h] - Вновь установленный размер.
|
||||||
signal map_image_size_changed(w: int, h: int)
|
signal map_mode_changed(w: int, h: int)
|
||||||
|
|||||||
@@ -5,13 +5,17 @@ code = "shader_type canvas_item;
|
|||||||
|
|
||||||
#include \"tools.gdshaderinc\"
|
#include \"tools.gdshaderinc\"
|
||||||
|
|
||||||
|
#define RADIUS_INNER_0 200.0 /* Радиус внутренний для режима приоритет РТО */
|
||||||
|
#define RADIUS_INNER_1 480.0 /* Радиус внутренний для режима приоритет РЛС */
|
||||||
|
|
||||||
uniform vec2 pc0 = vec2(560, 560); /* Центр сетки антенн */
|
uniform vec2 pc0 = vec2(560, 560); /* Центр сетки антенн */
|
||||||
uniform float rotation: hint_range(0.0, 360.0) = 0.0; /* */
|
uniform float rotation: hint_range(0.0, 360.0) = 0.0; /* */
|
||||||
uniform vec4 color0: source_color = vec4(0.38, 0.47, 0.51, 0.4);
|
uniform vec4 color0: source_color = vec4(0.38, 0.47, 0.51, 0.4);
|
||||||
uniform vec4 color1: source_color = vec4(0.39, 0.44, 0.50, 0.4);
|
uniform vec4 color1: source_color = vec4(0.39, 0.44, 0.50, 0.4);
|
||||||
uniform float radius_inner = 200.0; /* Радиус внутренний. Должно быть равно ant_band_r0_0 */
|
uniform float radius_inner_0 = RADIUS_INNER_0;
|
||||||
uniform float radius_outter = 550.0; /* Радиус внешний. Должно быть равно ant_band_r1_6 */
|
uniform float radius_inner_1 = RADIUS_INNER_1;
|
||||||
uniform int mode = 0; /* Режим отображения. Приоритет РТО - 0, приоритет РЛС - 1 */
|
uniform float radius_outter = 550.0; /* Радиус внешний. Должно быть равно ant_band_r1_6 */
|
||||||
|
uniform int mode = 0; /* Режим отображения. Приоритет РТО - 0, приоритет РЛС - 1 */
|
||||||
|
|
||||||
const int ant_band_count_0 = 2;
|
const int ant_band_count_0 = 2;
|
||||||
const int ant_band_count_1 = 2;
|
const int ant_band_count_1 = 2;
|
||||||
@@ -21,7 +25,7 @@ const int ant_band_count_4 = 2;
|
|||||||
const int ant_band_count_5 = 2;
|
const int ant_band_count_5 = 2;
|
||||||
const int ant_band_count_6 = 2;
|
const int ant_band_count_6 = 2;
|
||||||
|
|
||||||
const float ant_band_r0_0[] = {200.0, 480.0};
|
const float ant_band_r0_0[] = {RADIUS_INNER_0, RADIUS_INNER_1};
|
||||||
const float ant_band_r0_1[] = {250.0, 490.0};
|
const float ant_band_r0_1[] = {250.0, 490.0};
|
||||||
const float ant_band_r0_2[] = {300.0, 500.0};
|
const float ant_band_r0_2[] = {300.0, 500.0};
|
||||||
const float ant_band_r0_3[] = {350.0, 510.0};
|
const float ant_band_r0_3[] = {350.0, 510.0};
|
||||||
@@ -100,6 +104,7 @@ shader_parameter/pc0 = Vector2(560, 560)
|
|||||||
shader_parameter/rotation = 0.0
|
shader_parameter/rotation = 0.0
|
||||||
shader_parameter/color0 = Color(0.380392, 0.470588, 0.509804, 0.537255)
|
shader_parameter/color0 = Color(0.380392, 0.470588, 0.509804, 0.537255)
|
||||||
shader_parameter/color1 = Color(0.3315, 0.45645, 0.51, 0.537255)
|
shader_parameter/color1 = Color(0.3315, 0.45645, 0.51, 0.537255)
|
||||||
shader_parameter/radius_inner = 200.0
|
shader_parameter/radius_inner_0 = 200.0
|
||||||
|
shader_parameter/radius_inner_1 = 480.0
|
||||||
shader_parameter/radius_outter = 550.0
|
shader_parameter/radius_outter = 550.0
|
||||||
shader_parameter/mode = 0
|
shader_parameter/mode = 0
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ shader_type canvas_item;
|
|||||||
|
|
||||||
/* Рисует текстуру по маске в форме окружности */
|
/* Рисует текстуру по маске в форме окружности */
|
||||||
|
|
||||||
uniform float radius: hint_range(0.0, 1.0) = 0.8; /* Радиус */
|
uniform float radius: hint_range(0.0, 1.0) = 0.39; /* Радиус */
|
||||||
const vec2 center = vec2(0.5, 0.5);
|
const vec2 center = vec2(0.5, 0.5);
|
||||||
|
|
||||||
void fragment()
|
void fragment()
|
||||||
|
|||||||
Reference in New Issue
Block a user