Трасса - кластер

This commit is contained in:
lepshiy
2025-11-01 15:21:59 +03:00
parent 606f5ea689
commit 5657892887
7 changed files with 167 additions and 30 deletions

View File

@@ -78,6 +78,13 @@ func set_seczap(id: int, szv: Vector4):
seczap.set_instance_shader_parameter('radius', sv(szv.x))
func clear_all_seczap():
for child in get_children():
if child.name.begins_with("SECZAP"):
remove_child(child)
child.queue_free()
func set_seczap_color(id: int, color: Color):
var seczap: = get_node('SECZAP%d' % id)
seczap.set_instance_shader_parameter('color', color)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -3,6 +3,6 @@
[ext_resource type="Texture2D" uid="uid://cj1f2uy6qfvki" path="res://scenes/tilemap/23900.png" id="1_v0nwa"]
[node name="23900" type="Sprite2D"]
rotation = 4.71239
rotation = -6.28319
scale = Vector2(0.496934, 0.496934)
texture = ExtResource("1_v0nwa")

View File

@@ -177,19 +177,25 @@ func _ready():
signaller.connect('map_user_panning', Callable(self, 'on_user_panning'))
signaller.connect('update_coordinates_map', Callable(self, 'on_update_coordinates_label'))
signaller.connect('update_scale_map', Callable(self, 'on_update_scale_label'))
signaller.connect('sector_klaster', Callable(self, 'sector_klaster'))
signaller.connect('clear_klaster', Callable(self, 'clear_all_klaster'))
var unit_nav = network.get_unit_instance('навигация')
unit_nav.connect('data_received', on_navi_data_received)
on_btn_center_toggled(true)
on_btn_activate_toggled(true)
#$canvas.add_seczap(0, Vector4(372, 0, 30, 348))
#$canvas.add_seczap(1, Vector4(372, 90, 30, 348))
#$canvas.add_seczap(2, Vector4(198 + 348, 180, 30, 5))
#$canvas.add_seczap(3, Vector4(203, 270, 30, 5))
#$canvas.set_seczap_color(2, Color.MAGENTA)
#$canvas.set_seczap_color(3, Color.CHARTREUSE)
func sector_klaster(sector_data):
if sector_data["draw"]:
var rect: Rect2 = sector_data["rect"]
var color: Color = sector_data["color"]
var id: int = sector_data["index"]
$canvas.add_seczap(id, Vector4(rect.position.x, rect.position.y, rect.size.x, rect.size.y))
$canvas.set_seczap_color(id, color)
else:
pass
func clear_all_klaster(): $canvas.clear_all_seczap()
func on_navi_data_received(data: Dictionary):
var k = data.get('k', 0.0)