added separate audio; separated instrument animation and light triggers
This commit is contained in:
parent
391cdba6a4
commit
7afda132ec
@ -1,7 +1,3 @@
|
||||
# Eine Kleine Nachtmusik (Working Title)
|
||||
Entry for Trijam #363 ("Conductor")
|
||||
Beepbox project: https://is.gd/E5IIJR
|
||||
https://is.gd/E5IIJR
|
||||
https://is.gd/4iBSfC
|
||||
*latest: https://is.gd/H7zjZ1*
|
||||
final(?): https://is.gd/EcOorF
|
||||
Beepbox project: https://is.gd/OG2umE
|
||||
|
||||
BIN
assets/audio/new/eine-kleine-bass-new.wav
Normal file
BIN
assets/audio/new/eine-kleine-bass-new.wav
Normal file
Binary file not shown.
24
assets/audio/new/eine-kleine-bass-new.wav.import
Normal file
24
assets/audio/new/eine-kleine-bass-new.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://c7xjmhkvyyebo"
|
||||
path="res://.godot/imported/eine-kleine-bass-new.wav-77254fb7b0aeb514aba05a68fc85905f.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/audio/new/eine-kleine-bass-new.wav"
|
||||
dest_files=["res://.godot/imported/eine-kleine-bass-new.wav-77254fb7b0aeb514aba05a68fc85905f.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
BIN
assets/audio/new/eine-kleine-cello-new.wav
Normal file
BIN
assets/audio/new/eine-kleine-cello-new.wav
Normal file
Binary file not shown.
24
assets/audio/new/eine-kleine-cello-new.wav.import
Normal file
24
assets/audio/new/eine-kleine-cello-new.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://qm64ksqu4rjo"
|
||||
path="res://.godot/imported/eine-kleine-cello-new.wav-3d5772878dfe0290618a80d2ccfbbabd.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/audio/new/eine-kleine-cello-new.wav"
|
||||
dest_files=["res://.godot/imported/eine-kleine-cello-new.wav-3d5772878dfe0290618a80d2ccfbbabd.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
BIN
assets/audio/new/eine-kleine-viol-new.wav
Normal file
BIN
assets/audio/new/eine-kleine-viol-new.wav
Normal file
Binary file not shown.
24
assets/audio/new/eine-kleine-viol-new.wav.import
Normal file
24
assets/audio/new/eine-kleine-viol-new.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://mjgarsewuf48"
|
||||
path="res://.godot/imported/eine-kleine-viol-new.wav-5bd685fcc212089ad96db26c51ce191f.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/audio/new/eine-kleine-viol-new.wav"
|
||||
dest_files=["res://.godot/imported/eine-kleine-viol-new.wav-5bd685fcc212089ad96db26c51ce191f.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
||||
15
main.gd
15
main.gd
@ -20,6 +20,7 @@ var musician_lights: Array[Node]
|
||||
|
||||
func _ready() -> void:
|
||||
musicians = get_tree().get_nodes_in_group("musicians")
|
||||
print("Musicians: " + str(musicians))
|
||||
musician_lights = get_tree().get_nodes_in_group("musician_lights")
|
||||
rhythm_manager.connect("song_started", on_song_started)
|
||||
#func _process(delta: float) -> void:
|
||||
@ -33,8 +34,22 @@ func _unhandled_input(event: InputEvent) -> void:
|
||||
conductor.play("default")
|
||||
conductor_light.visible = true
|
||||
click_track.play()
|
||||
if event.is_action_pressed("viol"):
|
||||
enter_instrument(musicians[0])
|
||||
if event.is_action_pressed("cello"):
|
||||
enter_instrument(musicians[1])
|
||||
if event.is_action_pressed("bass"):
|
||||
enter_instrument(musicians[2])
|
||||
## CORE
|
||||
|
||||
func enter_instrument(instrument: Node) -> void:
|
||||
print("Now playing " + instrument.name)
|
||||
var instrument_audio: AudioStreamPlayer2D = instrument.get_child(0)
|
||||
var instrument_light: PointLight2D = instrument.get_child(1)
|
||||
instrument.play("default")
|
||||
instrument_audio.play()
|
||||
instrument_light.visible = true
|
||||
|
||||
## PRIVATE/HELPER
|
||||
|
||||
## RECEIVERS
|
||||
|
||||
54
main.tscn
54
main.tscn
@ -4,11 +4,11 @@
|
||||
[ext_resource type="Texture2D" uid="uid://42h7vrqekyma" path="res://assets/symphonyguys.png" id="1_ig7tw"]
|
||||
[ext_resource type="Texture2D" uid="uid://cs47f2rurekyx" path="res://assets/tiles/floor_wood_01-32x16.png" id="2_0xm2m"]
|
||||
[ext_resource type="AudioStream" uid="uid://bflw7me3q03gf" path="res://assets/audio/full/eine-kleine-full.wav" id="2_7mycd"]
|
||||
[ext_resource type="AudioStream" uid="uid://rn5a5gjgvn4k" path="res://assets/audio/full/eine-kleine-viol-full.wav" id="3_7mycd"]
|
||||
[ext_resource type="AudioStream" uid="uid://d3qyd08xk7d3h" path="res://assets/audio/full/eine-kleine-cello-full.wav" id="4_272bh"]
|
||||
[ext_resource type="AudioStream" uid="uid://bnypuodp8swg3" path="res://assets/audio/full/eine-kleine-bass-full.wav" id="5_5vw27"]
|
||||
[ext_resource type="AudioStream" uid="uid://mjgarsewuf48" path="res://assets/audio/new/eine-kleine-viol-new.wav" id="4_efxa6"]
|
||||
[ext_resource type="Texture2D" uid="uid://d1li1mlxutaym" path="res://resources/point_light_texture.tres" id="5_kek77"]
|
||||
[ext_resource type="AudioStream" uid="uid://qm64ksqu4rjo" path="res://assets/audio/new/eine-kleine-cello-new.wav" id="6_dg77c"]
|
||||
[ext_resource type="PackedScene" uid="uid://ojisu2jrshsp" path="res://rhythm_manager.tscn" id="7_272bh"]
|
||||
[ext_resource type="AudioStream" uid="uid://c7xjmhkvyyebo" path="res://assets/audio/new/eine-kleine-bass-new.wav" id="7_ycdy4"]
|
||||
[ext_resource type="Texture2D" uid="uid://du5d58gs5hbv1" path="res://assets/tiles/Flat_Wood_01-SE-64x96-scaled-down.png" id="10_dg77c"]
|
||||
[ext_resource type="PackedScene" uid="uid://dduyumwk5v1ge" path="res://click_track.tscn" id="11_efxa6"]
|
||||
|
||||
@ -295,7 +295,7 @@ script = ExtResource("1_5vw27")
|
||||
zoom = Vector2(6, 6)
|
||||
|
||||
[node name="Conductor" type="AnimatedSprite2D" parent="." unique_id=880231478]
|
||||
position = Vector2(30, 31)
|
||||
position = Vector2(26, 31)
|
||||
sprite_frames = SubResource("SpriteFrames_7mycd")
|
||||
frame_progress = 0.51704574
|
||||
|
||||
@ -323,12 +323,7 @@ sprite_frames = SubResource("SpriteFrames_074og")
|
||||
frame_progress = 0.6208535
|
||||
|
||||
[node name="ViolAudio" type="AudioStreamPlayer2D" parent="Musicians/Viol" unique_id=800067327]
|
||||
visible = false
|
||||
stream = ExtResource("3_7mycd")
|
||||
|
||||
[node name="ViolOccluder" type="LightOccluder2D" parent="Musicians/Viol" unique_id=781715626]
|
||||
position = Vector2(1, 0)
|
||||
occluder = SubResource("OccluderPolygon2D_ycdy4")
|
||||
stream = ExtResource("4_efxa6")
|
||||
|
||||
[node name="ViolLight" type="PointLight2D" parent="Musicians/Viol" unique_id=953248893 groups=["musician_lights"]]
|
||||
visible = false
|
||||
@ -340,18 +335,17 @@ shadow_filter = 2
|
||||
shadow_filter_smooth = 7.6
|
||||
texture = ExtResource("5_kek77")
|
||||
|
||||
[node name="ViolOccluder" type="LightOccluder2D" parent="Musicians/Viol" unique_id=781715626]
|
||||
position = Vector2(1, 0)
|
||||
occluder = SubResource("OccluderPolygon2D_ycdy4")
|
||||
|
||||
[node name="Cello" type="AnimatedSprite2D" parent="Musicians" unique_id=504793709 groups=["musicians"]]
|
||||
position = Vector2(-35, 20)
|
||||
sprite_frames = SubResource("SpriteFrames_dg77c")
|
||||
frame_progress = 0.5045058
|
||||
|
||||
[node name="CelloAudio" type="AudioStreamPlayer2D" parent="Musicians/Cello" unique_id=526745522]
|
||||
visible = false
|
||||
stream = ExtResource("4_272bh")
|
||||
|
||||
[node name="CelloOccluder" type="LightOccluder2D" parent="Musicians/Cello" unique_id=1913557474]
|
||||
position = Vector2(1, 0)
|
||||
occluder = SubResource("OccluderPolygon2D_dg77c")
|
||||
stream = ExtResource("6_dg77c")
|
||||
|
||||
[node name="CelloLight" type="PointLight2D" parent="Musicians/Cello" unique_id=576926503 groups=["musician_lights"]]
|
||||
visible = false
|
||||
@ -362,6 +356,10 @@ shadow_filter = 2
|
||||
shadow_filter_smooth = 7.6
|
||||
texture = ExtResource("5_kek77")
|
||||
|
||||
[node name="CelloOccluder" type="LightOccluder2D" parent="Musicians/Cello" unique_id=1913557474]
|
||||
position = Vector2(1, 0)
|
||||
occluder = SubResource("OccluderPolygon2D_dg77c")
|
||||
|
||||
[node name="Bass" type="AnimatedSprite2D" parent="Musicians" unique_id=1099071968 groups=["musicians"]]
|
||||
z_index = 10
|
||||
position = Vector2(-32, -8)
|
||||
@ -369,12 +367,7 @@ sprite_frames = SubResource("SpriteFrames_kq58d")
|
||||
frame_progress = 0.30279997
|
||||
|
||||
[node name="BassAudio" type="AudioStreamPlayer2D" parent="Musicians/Bass" unique_id=1653394620]
|
||||
visible = false
|
||||
stream = ExtResource("5_5vw27")
|
||||
|
||||
[node name="BassOccluder" type="LightOccluder2D" parent="Musicians/Bass" unique_id=2068886055]
|
||||
position = Vector2(1, 0)
|
||||
occluder = SubResource("OccluderPolygon2D_efxa6")
|
||||
stream = ExtResource("7_ycdy4")
|
||||
|
||||
[node name="BassLight" type="PointLight2D" parent="Musicians/Bass" unique_id=1562439646 groups=["musician_lights"]]
|
||||
visible = false
|
||||
@ -385,18 +378,23 @@ shadow_filter = 2
|
||||
shadow_filter_smooth = 7.6
|
||||
texture = ExtResource("5_kek77")
|
||||
|
||||
[node name="Stage" type="TileMapLayer" parent="." unique_id=15466516]
|
||||
[node name="BassOccluder" type="LightOccluder2D" parent="Musicians/Bass" unique_id=2068886055]
|
||||
position = Vector2(1, 0)
|
||||
occluder = SubResource("OccluderPolygon2D_efxa6")
|
||||
|
||||
[node name="Tilemaps" type="Node2D" parent="." unique_id=1115514972]
|
||||
|
||||
[node name="Stage" type="TileMapLayer" parent="Tilemaps" unique_id=15466516]
|
||||
z_index = -10
|
||||
tile_map_data = PackedByteArray("AAD8//L/BQABAAQAAAD8//P/BQABAAQAAAD8//T/BQABAAQAAAD8//X/BQABAAQAAAD8//b/BQABAAQAAAD8//f/BQABAAQAAAD8//j/BQABAAQAAAD8//n/BQABAAQAAAD8//r/BQABAAQAAAD8//v/BQABAAQAAAD8//z/BQABAAQAAAD8//3/BQABAAQAAAD8//7/BQABAAQAAAD8////BQABAAQAAAD8/wAABQABAAQAAAD8/wEABQABAAQAAAD8/wIABQABAAQAAAD8/wMABQABAAQAAAD8/wQABQABAAQAAAD8/wUABQABAAQAAAD8/wYABQABAAQAAAD8/wcABQABAAQAAAD8/wgABQABAAQAAAD9//L/BQABAAQAAAD9//P/BQABAAQAAAD9//T/BQABAAQAAAD9//X/BQABAAQAAAD9//b/BQABAAQAAAD9//f/BQABAAQAAAD9//j/BQABAAQAAAD9//n/BQABAAQAAAD9//r/BQABAAQAAAD9//v/BQABAAQAAAD9//z/BQABAAQAAAD9//3/BQABAAQAAAD9//7/BQABAAQAAAD9////BQABAAQAAAD9/wAABQABAAQAAAD9/wEABQABAAQAAAD9/wIABQABAAQAAAD9/wMABQABAAQAAAD9/wQABQABAAQAAAD9/wUABQABAAQAAAD9/wYABQABAAQAAAD9/wcABQABAAQAAAD9/wgABQABAAQAAAD+//L/BQABAAQAAAD+//P/BQABAAQAAAD+//T/BQABAAQAAAD+//X/BQABAAQAAAD+//b/BQABAAQAAAD+//f/BQABAAQAAAD+//j/BQABAAQAAAD+//n/BQABAAQAAAD+//r/BQABAAQAAAD+//v/BQABAAQAAAD+//z/BQABAAQAAAD+//3/BQABAAQAAAD+//7/BQABAAQAAAD+////BQABAAQAAAD+/wAABQABAAQAAAD+/wEABQABAAQAAAD+/wIABQABAAQAAAD+/wMABQABAAQAAAD+/wQABQABAAQAAAD+/wUABQABAAQAAAD+/wYABQABAAQAAAD+/wcABQABAAQAAAD+/wgABQABAAQAAAD///L/BQABAAQAAAD///P/BQABAAQAAAD///T/BQABAAQAAAD///X/BQABAAQAAAD///b/BQABAAQAAAD///f/BQABAAQAAAD///j/BQABAAQAAAD///n/BQABAAQAAAD///r/BQABAAQAAAD///v/BQABAAQAAAD///z/BQABAAQAAAD///3/BQABAAQAAAD///7/BQABAAQAAAD/////BQABAAQAAAD//wAABQABAAQAAAD//wEABQABAAQAAAD//wIABQABAAQAAAD//wMABQABAAQAAAD//wQABQABAAQAAAD//wUABQABAAQAAAD//wYABQABAAQAAAD//wcABQABAAQAAAD//wgABQABAAQAAAAAAPL/BQABAAQAAAAAAPP/BQABAAQAAAAAAPT/BQABAAQAAAAAAPX/BQABAAQAAAAAAPb/BQABAAQAAAAAAPf/BQABAAQAAAAAAPj/BQABAAQAAAAAAPn/BQABAAQAAAAAAPr/BQABAAQAAAAAAPv/BQABAAQAAAAAAPz/BQABAAQAAAAAAP3/BQABAAQAAAAAAP7/BQABAAQAAAAAAP//BQABAAQAAAAAAAAABQABAAQAAAAAAAEABQABAAQAAAAAAAIABQABAAQAAAAAAAMABQABAAQAAAAAAAQABQABAAQAAAAAAAUABQABAAQAAAAAAAYABQABAAQAAAAAAAcABQABAAQAAAAAAAgABQABAAQAAAABAPL/BQABAAQAAAABAPP/BQABAAQAAAABAPT/BQABAAQAAAABAPX/BQABAAQAAAABAPb/BQABAAQAAAABAPf/BQABAAQAAAABAPj/BQABAAQAAAABAPn/BQABAAQAAAABAPr/BQABAAQAAAABAPv/BQABAAQAAAABAPz/BQABAAQAAAABAP3/BQABAAQAAAABAP7/BQABAAQAAAABAP//BQABAAQAAAABAAAABQABAAQAAAABAAEABQABAAQAAAABAAIABQABAAQAAAABAAMABQABAAQAAAABAAQABQABAAQAAAABAAUABQABAAQAAAABAAYABQABAAQAAAABAAcABQABAAQAAAABAAgABQABAAQAAAACAPL/BQABAAQAAAACAPP/BQABAAQAAAACAPT/BQABAAQAAAACAPX/BQABAAQAAAACAPb/BQABAAQAAAACAPf/BQABAAQAAAACAPj/BQABAAQAAAACAPn/BQABAAQAAAACAPr/BQABAAQAAAACAPv/BQABAAQAAAACAPz/BQABAAQAAAACAP3/BQABAAQAAAACAP7/BQABAAQAAAACAP//BQABAAQAAAACAAAABQABAAQAAAACAAEABQABAAQAAAACAAIABQABAAQAAAACAAMABQABAAQAAAACAAQABQABAAQAAAACAAUABQABAAQAAAACAAYABQABAAQAAAACAAcABQABAAQAAAACAAgABQABAAQAAAADAPL/BQABAAQAAAADAPP/BQABAAQAAAADAPT/BQABAAQAAAADAPX/BQABAAQAAAADAPb/BQABAAQAAAADAPf/BQABAAQAAAADAPj/BQABAAQAAAADAPn/BQABAAQAAAADAPr/BQABAAQAAAADAPv/BQABAAQAAAADAPz/BQABAAQAAAADAP3/BQABAAQAAAADAP7/BQABAAQAAAADAP//BQABAAQAAAADAAAABQABAAQAAAADAAEABQABAAQAAAADAAIABQABAAQAAAADAAMABQABAAQAAAADAAQABQABAAQAAAADAAUABQABAAQAAAADAAYABQABAAQAAAADAAcABQABAAQAAAADAAgABQABAAQAAAA=")
|
||||
tile_set = SubResource("TileSet_272bh")
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="BackLeftWalls" type="TileMapLayer" parent="." unique_id=1380589034]
|
||||
[node name="BackLeftWalls" type="TileMapLayer" parent="Tilemaps" unique_id=1380589034]
|
||||
z_index = 1
|
||||
tile_map_data = PackedByteArray("AAD9//n/AAAEAAIAAAD9//r/AAAEAAIAAAD8//v/AAAEAAIAAAD8//z/AAAEAAIAAAD7//3/AAAEAAEAAAD7/wAAAAAEAAEAAAD7////AAAEAAEAAAD8//7/AAAEAAIAAAD8//3/AAAEAAIAAAD9//z/AAAEAAIAAAD9//v/AAAEAAIAAAD+//r/AAAEAAIAAAD+//n/AAAEAAIAAAD///j/AAAEAAIAAAD+//j/AAAEAAIAAAD7//7/AAAEAAEAAAD///r/AAAEAAIAAAD+//v/AAAEAAIAAAD+//z/AAAEAAIAAAD9//3/AAAEAAIAAAD9//7/AAAEAAIAAAD8////AAAEAAIAAAD+//f/AAAEAAIAAAD8//n/AAAEAAIAAAD9//j/AAAEAAIAAAD9//f/AAAEAAIAAAD+//b/AAAEAAIAAAD+//X/AAAEAAIAAAD///T/AAAEAAIAAAD///b/AAAEAAIAAAD8//r/AAAEAAIAAAD8/wAAAAAEAAIAAAD///L/AAAEAAIAAAD+//P/AAAEAAIAAAD+//T/AAAEAAIAAAD9//X/AAAEAAIAAAD9//b/AAAEAAIAAAD8//f/AAAEAAIAAAD8//j/AAAEAAIAAAA=")
|
||||
tile_set = SubResource("TileSet_ycdy4")
|
||||
|
||||
[node name="BackRightWalls" type="TileMapLayer" parent="." unique_id=1757009184]
|
||||
[node name="BackRightWalls" type="TileMapLayer" parent="Tilemaps" unique_id=1757009184]
|
||||
position = Vector2(0, -8)
|
||||
tile_map_data = PackedByteArray("AAABAPn/AAAFAAIAAAACAPr/AAAFAAIAAAAAAPn/AAAFAAIAAAABAPr/AAAFAAIAAAABAPv/AAAFAAIAAAACAPz/AAAFAAIAAAACAP3/AAAFAAIAAAAAAPr/AAAFAAIAAAAAAPv/AAAFAAIAAAABAPz/AAAFAAIAAAABAP3/AAAFAAIAAAACAP7/AAAFAAIAAAAAAPj/AAAFAAIAAAABAPj/AAAFAAIAAAACAPv/AAAFAAIAAAADAPz/AAAFAAIAAAAAAPf/AAAFAAIAAAAAAPb/AAAFAAIAAAD///v/AAAFAAIAAAAAAPz/AAAFAAIAAAAAAP3/AAAFAAIAAAABAP7/AAAFAAIAAAABAP//AAAFAAIAAAACAAAAAAAFAAIAAAACAAEAAAAFAAIAAAD///f/AAAFAAIAAAD///X/AAAFAAIAAAD///n/AAAFAAIAAAADAPr/AAAFAAIAAAADAP7/AAAFAAIAAAACAP//AAAFAAIAAAADAAAAAAAFAAIAAAADAAIAAAAFAAIAAAACAPn/AAAFAAIAAAACAPj/AAAFAAIAAAABAPf/AAAFAAIAAAABAPb/AAAFAAIAAAAAAPX/AAAFAAIAAAAAAPT/AAAFAAIAAAD///P/AAAFAAIAAAADAPj/AAAFAAIAAAACAPf/AAAFAAIAAAACAPb/AAAFAAIAAAABAPX/AAAFAAIAAAABAPT/AAAFAAIAAAAAAPP/AAAFAAIAAAAAAPL/AAAFAAIAAAD///H/AAAFAAIAAAA=")
|
||||
tile_set = SubResource("TileSet_w48qg")
|
||||
@ -404,10 +402,10 @@ tile_set = SubResource("TileSet_w48qg")
|
||||
[node name="CanvasModulate" type="CanvasModulate" parent="." unique_id=1681660400]
|
||||
color = Color(0.3478174, 0.34781674, 0.3478171, 1)
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=701919079]
|
||||
[node name="UI" type="CanvasLayer" parent="." unique_id=701919079]
|
||||
visible = false
|
||||
|
||||
[node name="RhythmManager" parent="CanvasLayer" unique_id=2036637300 node_paths=PackedStringArray("target_audio") instance=ExtResource("7_272bh")]
|
||||
[node name="RhythmManager" parent="UI" unique_id=2036637300 node_paths=PackedStringArray("target_audio") instance=ExtResource("7_272bh")]
|
||||
unique_name_in_owner = true
|
||||
target_audio = NodePath("../../Conductor/FullAudio")
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user