create weather controller and daynight controller
This commit is contained in:
70
docs/museums/daynight/camera_3d.gd
Normal file
70
docs/museums/daynight/camera_3d.gd
Normal file
@@ -0,0 +1,70 @@
|
||||
extends Camera3D
|
||||
|
||||
@export_group("Movement")
|
||||
@export var move_speed: float = 10.0
|
||||
@export var fast_move_multiplier: float = 3.0
|
||||
@export var move_smoothing: float = 10.0
|
||||
|
||||
@export_group("Look")
|
||||
@export var mouse_sensitivity: float = 0.3
|
||||
@export var invert_y: bool = false
|
||||
|
||||
var _velocity: Vector3 = Vector3.ZERO
|
||||
var _yaw: float = 0.0 # Y rotation
|
||||
var _pitch: float = 0.0 # X rotation
|
||||
var _is_active: bool = false
|
||||
|
||||
func _ready() -> void:
|
||||
#Current rotation
|
||||
_yaw = rotation_degrees.y
|
||||
_pitch = rotation_degrees.x
|
||||
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
#Activate camera movement using mouse right button
|
||||
if event is InputEventMouseButton:
|
||||
if event.button_index == MOUSE_BUTTON_RIGHT:
|
||||
_is_active = event.pressed
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED if _is_active else Input.MOUSE_MODE_VISIBLE
|
||||
|
||||
if event is InputEventMouseMotion and _is_active:
|
||||
_yaw -= event.relative.x * mouse_sensitivity
|
||||
var pitch_delta = event.relative.y * mouse_sensitivity
|
||||
_pitch += pitch_delta if invert_y else -pitch_delta
|
||||
_pitch = clamp(_pitch, -89.0, 89.0)
|
||||
|
||||
if event.is_action_pressed("ui_cancel"):
|
||||
_is_active = false
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
rotation_degrees.y = _yaw
|
||||
rotation_degrees.x = _pitch
|
||||
|
||||
if not _is_active:
|
||||
_velocity = _velocity.lerp(Vector3.ZERO, move_smoothing * delta)
|
||||
position += _velocity * delta
|
||||
return
|
||||
|
||||
var input_dir := Vector3.ZERO
|
||||
|
||||
if Input.is_key_pressed(KEY_W) or Input.is_key_pressed(KEY_UP):
|
||||
input_dir -= basis.z # avanti
|
||||
if Input.is_key_pressed(KEY_S) or Input.is_key_pressed(KEY_DOWN):
|
||||
input_dir += basis.z # indietro
|
||||
if Input.is_key_pressed(KEY_A) or Input.is_key_pressed(KEY_LEFT):
|
||||
input_dir -= basis.x # sinistra
|
||||
if Input.is_key_pressed(KEY_D) or Input.is_key_pressed(KEY_RIGHT):
|
||||
input_dir += basis.x # destra
|
||||
if Input.is_key_pressed(KEY_E) or Input.is_key_pressed(KEY_PAGEUP):
|
||||
input_dir += Vector3.UP # su (world space)
|
||||
if Input.is_key_pressed(KEY_Q) or Input.is_key_pressed(KEY_PAGEDOWN):
|
||||
input_dir += Vector3.DOWN # giù (world space)
|
||||
|
||||
if input_dir != Vector3.ZERO:
|
||||
input_dir = input_dir.normalized()
|
||||
|
||||
var speed := move_speed * fast_move_multiplier if Input.is_key_pressed(KEY_SHIFT) else move_speed
|
||||
|
||||
var target_velocity := input_dir * speed
|
||||
_velocity = _velocity.lerp(target_velocity, move_smoothing * delta)
|
||||
position += _velocity * delta
|
||||
1
docs/museums/daynight/camera_3d.gd.uid
Normal file
1
docs/museums/daynight/camera_3d.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ccdd52apoh4ir
|
||||
13
docs/museums/daynight/control.gd
Normal file
13
docs/museums/daynight/control.gd
Normal file
@@ -0,0 +1,13 @@
|
||||
extends Control
|
||||
|
||||
func _on_rain_toggled(toggled_on: bool) -> void:
|
||||
UIEvents.toggle_rain.emit(toggled_on)
|
||||
|
||||
func _on_snow_toggled(toggled_on: bool) -> void:
|
||||
UIEvents.toggle_snow.emit(toggled_on)
|
||||
|
||||
func _on_wind_toggled(toggled_on: bool) -> void:
|
||||
UIEvents.toggle_wind.emit(toggled_on)
|
||||
|
||||
func _on_fireflies_toggled(toggled_on: bool) -> void:
|
||||
UIEvents.toggle_fireflies.emit(toggled_on)
|
||||
1
docs/museums/daynight/control.gd.uid
Normal file
1
docs/museums/daynight/control.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cx2tlvxhvatj5
|
||||
180
docs/museums/daynight/museum_daynight.tscn
Normal file
180
docs/museums/daynight/museum_daynight.tscn
Normal file
@@ -0,0 +1,180 @@
|
||||
[gd_scene format=3 uid="uid://bjkhawylawqof"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cmuvmmp7xam4o" path="res://core/daynight/environment_management.tscn" id="1_daynt"]
|
||||
[ext_resource type="Shader" uid="uid://bneoex8xpmcm8" path="res://core/daynight/sky.gdshader" id="3_jiovi"]
|
||||
[ext_resource type="Texture2D" uid="uid://dest0qa7vaid0" path="res://core/daynight/stars_albedo.png" id="4_abyor"]
|
||||
[ext_resource type="Script" uid="uid://brcimd12tx3dm" path="res://core/daynight/edge_detection_compositor.gd" id="5_jgh18"]
|
||||
[ext_resource type="Script" uid="uid://cx2tlvxhvatj5" path="res://docs/museums/daynight/control.gd" id="6_q52t1"]
|
||||
[ext_resource type="Script" uid="uid://ccdd52apoh4ir" path="res://docs/museums/daynight/camera_3d.gd" id="7_p2t1d"]
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_jiovi"]
|
||||
fractal_lacunarity = 1.915
|
||||
fractal_gain = 0.53
|
||||
fractal_weighted_strength = 0.35
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_abyor"]
|
||||
noise = SubResource("FastNoiseLite_jiovi")
|
||||
seamless = true
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_abyor"]
|
||||
shader = ExtResource("3_jiovi")
|
||||
shader_parameter/sky_top_color = Color(0, 0.84999996, 1.5999999, 1)
|
||||
shader_parameter/sky_horizon_color = Color(0.55, 1.0500001, 1.55, 1)
|
||||
shader_parameter/night_intensity = 0.0
|
||||
shader_parameter/cloud_noise = SubResource("NoiseTexture2D_abyor")
|
||||
shader_parameter/sun_color = Color(1, 1.1999999, 1.4000001, 1)
|
||||
shader_parameter/cloud_center_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/cloud_edge_color = Color(0.8, 0.85, 0.9, 1)
|
||||
shader_parameter/cloud_direction = Vector2(0.5, 0.2)
|
||||
shader_parameter/cloud_speed = 0.1
|
||||
shader_parameter/cloud_scale = 0.5
|
||||
shader_parameter/cloud_threshold = 0.5
|
||||
shader_parameter/cloud_edge_thickness = 0.406000019285
|
||||
shader_parameter/cloud_edge_softness = 0.0
|
||||
shader_parameter/star_density = 1500.0
|
||||
shader_parameter/star_rarity = 2500.0
|
||||
shader_parameter/star_scale_variation = 0.5
|
||||
shader_parameter/shooting_star_texture = ExtResource("4_abyor")
|
||||
shader_parameter/shooting_star_color = Color(0.38431373, 0.61960787, 0.23137255, 1)
|
||||
shader_parameter/shooting_star_density = 1.0
|
||||
shader_parameter/shooting_star_speed = 1.0
|
||||
shader_parameter/shooting_star_scale = 5.0
|
||||
shader_parameter/shooting_star_lifetime = 0.5
|
||||
shader_parameter/shooting_star_travel_dist = 15.0
|
||||
|
||||
[sub_resource type="Sky" id="Sky_50i22"]
|
||||
sky_material = SubResource("ShaderMaterial_abyor")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_icuhg"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_50i22")
|
||||
ambient_light_color = Color(1, 1.1999999, 1.4000001, 1)
|
||||
tonemap_exposure = 1.05
|
||||
ssao_enabled = true
|
||||
ssao_radius = 0.5
|
||||
ssao_intensity = 14.0
|
||||
ssao_detail = 0.0
|
||||
ssil_enabled = true
|
||||
glow_enabled = true
|
||||
glow_levels/4 = 1.0
|
||||
glow_intensity = 1.6
|
||||
glow_strength = 0.65
|
||||
glow_bloom = 1.0
|
||||
fog_enabled = true
|
||||
fog_mode = 1
|
||||
fog_light_color = Color(0.55, 1.0500001, 1.55, 1)
|
||||
fog_density = 0.008
|
||||
fog_sky_affect = 0.0
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_q52t1"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
effect_callback_type = 1
|
||||
access_resolved_color = false
|
||||
access_resolved_depth = false
|
||||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("5_jgh18")
|
||||
metadata/_custom_type_script = "uid://brcimd12tx3dm"
|
||||
|
||||
[sub_resource type="Compositor" id="Compositor_jbfcc"]
|
||||
compositor_effects = Array[CompositorEffect]([SubResource("CompositorEffect_q52t1")])
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_p2t1d"]
|
||||
albedo_color = Color(0.135, 0.45, 0.18224995, 1)
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_p2t1d"]
|
||||
size = Vector3(200, 0.08, 200)
|
||||
|
||||
[node name="Museum" type="Node3D" unique_id=1411616506]
|
||||
|
||||
[node name="DayNight" parent="." unique_id=1578787116 instance=ExtResource("1_daynt")]
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=6398994]
|
||||
environment = SubResource("Environment_icuhg")
|
||||
compositor = SubResource("Compositor_jbfcc")
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=565189502]
|
||||
transform = Transform3D(0.17364818, 0.69636416, 0.69636416, 0, 0.7071067, -0.7071067, -0.9848075, 0.12278782, 0.12278782, 0, 0, 0)
|
||||
light_color = Color(1, 1.1999999, 1.4000001, 1)
|
||||
light_indirect_energy = 0.0
|
||||
light_volumetric_fog_energy = 0.0
|
||||
shadow_enabled = true
|
||||
shadow_bias = 0.2
|
||||
shadow_normal_bias = 0.0
|
||||
shadow_opacity = 0.97
|
||||
shadow_blur = 0.4
|
||||
directional_shadow_mode = 0
|
||||
directional_shadow_fade_start = 0.9
|
||||
|
||||
[node name="Control" type="Control" parent="." unique_id=1032167802]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
script = ExtResource("6_q52t1")
|
||||
|
||||
[node name="Snow" type="CheckButton" parent="Control" unique_id=1267493556]
|
||||
layout_mode = 0
|
||||
offset_left = 21.0
|
||||
offset_top = 13.0
|
||||
offset_right = 109.0
|
||||
offset_bottom = 44.0
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_focus_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_pressed_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_hover_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1)
|
||||
text = "Snow"
|
||||
|
||||
[node name="Rain" type="CheckButton" parent="Control" unique_id=1387886007]
|
||||
layout_mode = 0
|
||||
offset_left = 21.0
|
||||
offset_top = 41.0
|
||||
offset_right = 109.0
|
||||
offset_bottom = 72.0
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_focus_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_pressed_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_hover_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1)
|
||||
text = "Rain"
|
||||
|
||||
[node name="Wind" type="CheckButton" parent="Control" unique_id=1160113828]
|
||||
layout_mode = 0
|
||||
offset_left = 21.0
|
||||
offset_top = 71.0
|
||||
offset_right = 109.0
|
||||
offset_bottom = 102.0
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_focus_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_pressed_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_hover_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1)
|
||||
text = "Wind"
|
||||
|
||||
[node name="Fireflies" type="CheckButton" parent="Control" unique_id=1177089839]
|
||||
layout_mode = 0
|
||||
offset_left = 21.0
|
||||
offset_top = 100.0
|
||||
offset_right = 130.0
|
||||
offset_bottom = 131.0
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_focus_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_pressed_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_hover_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1)
|
||||
text = "Fireflies"
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="." unique_id=1893906598]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.99452555, -0.10449375, 0, 0.10449375, 0.99452555, 0.48949432, 25.39013, 0)
|
||||
script = ExtResource("7_p2t1d")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=1335123628]
|
||||
material_override = SubResource("StandardMaterial3D_p2t1d")
|
||||
mesh = SubResource("BoxMesh_p2t1d")
|
||||
|
||||
[connection signal="toggled" from="Control/Snow" to="Control" method="_on_snow_toggled"]
|
||||
[connection signal="toggled" from="Control/Rain" to="Control" method="_on_rain_toggled"]
|
||||
[connection signal="toggled" from="Control/Wind" to="Control" method="_on_wind_toggled"]
|
||||
151
docs/museums/daynight/museum_daynight.tscn12025044106.tmp
Normal file
151
docs/museums/daynight/museum_daynight.tscn12025044106.tmp
Normal file
@@ -0,0 +1,151 @@
|
||||
[gd_scene format=3 uid="uid://bjkhawylawqof"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d27xbipk650kf" path="res://core/daynight/day_night.gd" id="1_o8twy"]
|
||||
[ext_resource type="Script" uid="uid://butda6k2tli3o" path="res://core/environment_config.gd" id="2_ecsq1"]
|
||||
[ext_resource type="Shader" uid="uid://bneoex8xpmcm8" path="res://core/daynight/sky.gdshader" id="3_jiovi"]
|
||||
[ext_resource type="Texture2D" uid="uid://dest0qa7vaid0" path="res://core/daynight/stars_albedo.png" id="4_abyor"]
|
||||
[ext_resource type="Script" uid="uid://brcimd12tx3dm" path="res://core/daynight/edge_detection_compositor.gd" id="5_jgh18"]
|
||||
[ext_resource type="Script" uid="uid://cx2tlvxhvatj5" path="res://docs/museums/daynight/control.gd" id="6_q52t1"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_50i22"]
|
||||
script = ExtResource("2_ecsq1")
|
||||
metadata/_custom_type_script = "uid://butda6k2tli3o"
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_jiovi"]
|
||||
fractal_lacunarity = 1.915
|
||||
fractal_gain = 0.53
|
||||
fractal_weighted_strength = 0.35
|
||||
|
||||
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_abyor"]
|
||||
noise = SubResource("FastNoiseLite_jiovi")
|
||||
seamless = true
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_abyor"]
|
||||
shader = ExtResource("3_jiovi")
|
||||
shader_parameter/sky_top_color = Color(0.35, 0.65, 0.9, 1)
|
||||
shader_parameter/sky_horizon_color = Color(0.75, 0.85, 0.95, 1)
|
||||
shader_parameter/night_intensity = 0.0
|
||||
shader_parameter/cloud_noise = SubResource("NoiseTexture2D_abyor")
|
||||
shader_parameter/sun_color = Color(1, 0.9, 0.8, 1)
|
||||
shader_parameter/cloud_center_color = Color(1, 1, 1, 1)
|
||||
shader_parameter/cloud_edge_color = Color(0.8, 0.85, 0.9, 1)
|
||||
shader_parameter/cloud_direction = Vector2(0.5, 0.2)
|
||||
shader_parameter/cloud_speed = 0.1
|
||||
shader_parameter/cloud_scale = 0.5
|
||||
shader_parameter/cloud_threshold = 0.5
|
||||
shader_parameter/cloud_edge_thickness = 0.406000019285
|
||||
shader_parameter/cloud_edge_softness = 0.0
|
||||
shader_parameter/star_density = 1500.0
|
||||
shader_parameter/star_rarity = 2500.0
|
||||
shader_parameter/star_scale_variation = 0.5
|
||||
shader_parameter/shooting_star_texture = ExtResource("4_abyor")
|
||||
shader_parameter/shooting_star_color = Color(0.38431373, 0.61960787, 0.23137255, 1)
|
||||
shader_parameter/shooting_star_density = 1.0
|
||||
shader_parameter/shooting_star_speed = 1.0
|
||||
shader_parameter/shooting_star_scale = 5.0
|
||||
shader_parameter/shooting_star_lifetime = 0.5
|
||||
shader_parameter/shooting_star_travel_dist = 15.0
|
||||
|
||||
[sub_resource type="Sky" id="Sky_50i22"]
|
||||
sky_material = SubResource("ShaderMaterial_abyor")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_icuhg"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_50i22")
|
||||
ambient_light_color = Color(1, 0.9, 0.8, 1)
|
||||
ssao_enabled = true
|
||||
ssao_radius = 0.5
|
||||
ssao_intensity = 14.0
|
||||
ssao_detail = 0.0
|
||||
ssil_enabled = true
|
||||
glow_enabled = true
|
||||
glow_levels/4 = 1.0
|
||||
glow_intensity = 1.2
|
||||
glow_strength = 0.65
|
||||
glow_bloom = 1.0
|
||||
fog_enabled = true
|
||||
fog_mode = 1
|
||||
fog_light_color = Color(0.75, 0.85, 0.95, 1)
|
||||
fog_density = 0.005
|
||||
fog_sky_affect = 0.0
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_q52t1"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
effect_callback_type = 1
|
||||
access_resolved_color = false
|
||||
access_resolved_depth = false
|
||||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("5_jgh18")
|
||||
metadata/_custom_type_script = "uid://brcimd12tx3dm"
|
||||
|
||||
[sub_resource type="Compositor" id="Compositor_jbfcc"]
|
||||
compositor_effects = Array[CompositorEffect]([SubResource("CompositorEffect_q52t1")])
|
||||
|
||||
[node name="Museum" type="Node3D" unique_id=1411616506]
|
||||
|
||||
[node name="DayNightRoot" type="Node3D" parent="." unique_id=1578787116]
|
||||
script = ExtResource("1_o8twy")
|
||||
environment_config = SubResource("Resource_50i22")
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=6398994]
|
||||
environment = SubResource("Environment_icuhg")
|
||||
compositor = SubResource("Compositor_jbfcc")
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=565189502]
|
||||
transform = Transform3D(0.70710677, -0.1830127, 0.68301266, 0, 0.9659258, 0.25881904, -0.70710677, -0.1830127, 0.68301266, 0, 0, 0)
|
||||
light_color = Color(1, 0.9, 0.8, 1)
|
||||
light_indirect_energy = 0.0
|
||||
light_volumetric_fog_energy = 0.0
|
||||
shadow_enabled = true
|
||||
shadow_bias = 0.2
|
||||
shadow_normal_bias = 0.0
|
||||
shadow_opacity = 0.97
|
||||
shadow_blur = 0.4
|
||||
directional_shadow_mode = 0
|
||||
directional_shadow_fade_start = 0.9
|
||||
|
||||
[node name="Control" type="Control" parent="." unique_id=1032167802]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
script = ExtResource("6_q52t1")
|
||||
|
||||
[node name="Snow" type="CheckButton" parent="Control" unique_id=1267493556]
|
||||
layout_mode = 0
|
||||
offset_left = 21.0
|
||||
offset_top = 13.0
|
||||
offset_right = 109.0
|
||||
offset_bottom = 44.0
|
||||
text = "Snow"
|
||||
|
||||
[node name="Rain" type="CheckButton" parent="Control" unique_id=1387886007]
|
||||
layout_mode = 0
|
||||
offset_left = 21.0
|
||||
offset_top = 41.0
|
||||
offset_right = 109.0
|
||||
offset_bottom = 72.0
|
||||
text = "Rain"
|
||||
|
||||
[node name="Wind" type="CheckButton" parent="Control" unique_id=1160113828]
|
||||
layout_mode = 0
|
||||
offset_left = 21.0
|
||||
offset_top = 71.0
|
||||
offset_right = 109.0
|
||||
offset_bottom = 102.0
|
||||
text = "Wind"
|
||||
|
||||
[node name="Fireflies" type="CheckButton" parent="Control" unique_id=1177089839]
|
||||
layout_mode = 0
|
||||
offset_left = 21.0
|
||||
offset_top = 100.0
|
||||
offset_right = 130.0
|
||||
offset_bottom = 131.0
|
||||
text = "Fireflies"
|
||||
|
||||
[connection signal="toggled" from="Control/Snow" to="Control" method="_on_snow_toggled"]
|
||||
[connection signal="toggled" from="Control/Rain" to="Control" method="_on_rain_toggled"]
|
||||
[connection signal="toggled" from="Control/Wind" to="Control" method="_on_wind_toggled"]
|
||||
Reference in New Issue
Block a user