Доработка. Опыты с раскраской антенн.

This commit is contained in:
MaD_CaT
2024-01-26 14:18:50 +03:00
parent e8750570be
commit cf1b1a3694
4 changed files with 62 additions and 2 deletions

View File

@@ -27,6 +27,7 @@ config/map_server_addr="https://b.tile.openstreetmap.org"
interfer/resend_timeout=1000.0
config/map_image_size_rto=Vector2i(512, 512)
config/map_image_size_rls=Vector2i(1024, 1024)
interfer/center_offset=Vector2(0, 25)
[autoload]
@@ -80,6 +81,7 @@ enabled=PackedStringArray()
[global]
map_server_addr=false
center_offset=Vector2(0, 0)
[gui]

View File

@@ -23,3 +23,4 @@ func get_radius_inner_0() -> float: return material.get('shader_parameter/radiu
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_band_colors(val: Array): material.set('shader_parameter/ant_band_c', val)

View File

@@ -36,7 +36,34 @@ signal drag_begin ## Вызывается в момент начала пе
signal drag_continue ## Вызывается во время продолжения перетаскивания
signal drag_end ## Вызывается в момент завершения перетаскивания
const fs_sectors: Dictionary = {
0: [0.0, 90.0],
1: [90.0, 180.0],
2: [180.0, 270.0],
3: [270.0, 360.0]
}
const fs_band_rto: Dictionary = {
0: [200.0, 250.0],
1: [250.0, 300.0],
2: [300.0, 350.0],
3: [350.0, 400.0],
4: [400.0, 450.0],
5: [450.0, 500.0],
6: [500.0, 550.0],
}
const fs_band_rls: Dictionary = {
0: [480.0, 490.0],
1: [490.0, 500.0],
2: [500.0, 510.0],
3: [510.0, 520.0],
4: [520.0, 530.0],
5: [530.0, 540.0],
6: [540.0, 550.0],
}
var fs_band = fs_band_rto
## Состояние перетаскивания
enum DragFSM {
DRAG, ## В процессе
@@ -52,7 +79,12 @@ 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_button_view_toggled(toggled: bool): signaller.emit_signal('map_mode_changed', int(toggled))
func on_button_view_toggled(toggled: bool):
signaller.emit_signal('map_mode_changed', int(toggled))
if toggled:
fs_band = fs_band_rls
else:
fs_band = fs_band_rto
##
@@ -292,4 +324,26 @@ func _on_zoom_complete(zoom: int) -> void:
# Обработчик нажатия по сектору формирователя сигналов
func sel_fs_sector(event):
print_debug(event.position)
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
if angle < 0:
angle +=360
var distance: float = event.position.distance_to(center + center_offset)
var sector: int
var band: int
for sec in fs_sectors.values():
if angle >= sec[0] and angle <= sec[1]:
sector = fs_sectors.find_key(sec)
for diap in fs_band.values():
if distance >= diap[0] and distance <= diap[1]:
band = fs_band.find_key(diap)
var colors: Array = []
var color0 = Vector3(0.38, 0.47, 0.51)
var color1 = Vector3(0.39, 0.44, 0.50)
for i in range(14):
colors.append(color0)
colors.append(color1)
$canvas.set_band_colors(colors)
print_debug(sector, band)

View File

@@ -41,6 +41,8 @@ const float ant_band_r1_4[] = {450.0, 530.0};
const float ant_band_r1_5[] = {500.0, 540.0};
const float ant_band_r1_6[] = {550.0, 550.0};
const vec4 ant_band_colors[] = {vec4(0.38, 0.47, 0.51, 0.4),vec4(0.38, 0.47, 0.51, 0.4), vec4(0.38, 0.47, 0.51, 0.4), vec4(0.38, 0.47, 0.51, 0.4)};
uniform vec3 ant_band_c[28];
const float d4 = 90.0;
const float ds = 1.0;
@@ -108,3 +110,4 @@ shader_parameter/radius_inner_0 = 200.0
shader_parameter/radius_inner_1 = 480.0
shader_parameter/radius_outter = 550.0
shader_parameter/mode = 0
shader_parameter/ant_band_c = PackedVector3Array(0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5, 0.38, 0.47, 0.51, 0.39, 0.44, 0.5)