🐛 fixed ObjectDisposedException from the Inventory when switching scenes.

pull/21/head
kziolkowski 2 months ago
parent e202534c6b
commit 02b6584e44

@ -77,9 +77,9 @@ colors = PackedColorArray(0.348791, 0.400092, 0.435264, 1, 0.219333, 0.251087, 0
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ubx8m"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_ubx8m"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_d53cn"] [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_d53cn"]
seamless = true
color_ramp = SubResource("Gradient_kt1wx")
noise = SubResource("FastNoiseLite_ubx8m") noise = SubResource("FastNoiseLite_ubx8m")
color_ramp = SubResource("Gradient_kt1wx")
seamless = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ubx8m"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ubx8m"]
shader = ExtResource("24_anpd4") shader = ExtResource("24_anpd4")
@ -97,9 +97,9 @@ fractal_gain = 0.795
domain_warp_enabled = true domain_warp_enabled = true
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_e5alv"] [sub_resource type="NoiseTexture2D" id="NoiseTexture2D_e5alv"]
seamless = true
color_ramp = SubResource("Gradient_eryax")
noise = SubResource("FastNoiseLite_wgikv") noise = SubResource("FastNoiseLite_wgikv")
color_ramp = SubResource("Gradient_eryax")
seamless = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0sfl7"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_0sfl7"]
resource_local_to_scene = true resource_local_to_scene = true
@ -197,7 +197,7 @@ stream_2/stream = ExtResource("63_td2xu")
[node name="BabushkaSceneFarmOutside2d" type="Node2D"] [node name="BabushkaSceneFarmOutside2d" type="Node2D"]
script = ExtResource("1_6krrk") script = ExtResource("1_6krrk")
_sceneNamesToLoad = PackedStringArray("res://scenes/res://scenes/Babushka_scene_farm_outside_2d.tscn.tscn") _sceneNamesToLoad = PackedStringArray("res://scenes/Babushka_scene_farm_outside_2d.tscn")
[node name="Camera2D" type="Camera2D" parent="." node_paths=PackedStringArray("_followNode")] [node name="Camera2D" type="Camera2D" parent="." node_paths=PackedStringArray("_followNode")]
position = Vector2(3180, 1961) position = Vector2(3180, 1961)
@ -914,12 +914,6 @@ position = Vector2(2693, 1876)
_fieldParent = NodePath("../Farm visuals/FieldParent") _fieldParent = NodePath("../Farm visuals/FieldParent")
_hoe = ExtResource("28_le48k") _hoe = ExtResource("28_le48k")
[node name="Animated Sprites" parent="YSorted/Vesna/CharacterBody2D/visuals" index="0"]
position = Vector2(-33, 554)
[node name="FarmingControls" parent="YSorted/Vesna" index="1" node_paths=PackedStringArray("_camera")]
_camera = NodePath("../../../Camera2D")
[node name="Brünnen" type="Sprite2D" parent="YSorted"] [node name="Brünnen" type="Sprite2D" parent="YSorted"]
z_index = 1 z_index = 1
y_sort_enabled = true y_sort_enabled = true
@ -1856,7 +1850,7 @@ offset_bottom = 30.2285
position = Vector2(4002, 2030) position = Vector2(4002, 2030)
stream = SubResource("AudioStreamPlaylist_ceriq") stream = SubResource("AudioStreamPlaylist_ceriq")
autoplay = true autoplay = true
max_distance = 1e+06 max_distance = 1000000.0
bus = &"Music" bus = &"Music"
area_mask = 33 area_mask = 33
playback_type = 1 playback_type = 1
@ -1865,7 +1859,7 @@ script = ExtResource("54_pn8sy")
[node name="Background Music loop" type="AudioStreamPlayer2D" parent="Audio"] [node name="Background Music loop" type="AudioStreamPlayer2D" parent="Audio"]
position = Vector2(4002, 2030) position = Vector2(4002, 2030)
stream = ExtResource("55_aq24k") stream = ExtResource("55_aq24k")
max_distance = 1e+06 max_distance = 1000000.0
bus = &"Music" bus = &"Music"
area_mask = 33 area_mask = 33
playback_type = 1 playback_type = 1
@ -1875,30 +1869,28 @@ script = ExtResource("54_pn8sy")
[node name="Farming SFX" type="AudioStreamPlayer2D" parent="Audio/SFX"] [node name="Farming SFX" type="AudioStreamPlayer2D" parent="Audio/SFX"]
stream = SubResource("AudioStreamRandomizer_ceriq") stream = SubResource("AudioStreamRandomizer_ceriq")
max_distance = 2e+07 max_distance = 20000000.0
playback_type = 2 playback_type = 2
script = ExtResource("58_m3hs4") script = ExtResource("58_m3hs4")
[node name="Watering SFX" type="AudioStreamPlayer2D" parent="Audio/SFX"] [node name="Watering SFX" type="AudioStreamPlayer2D" parent="Audio/SFX"]
stream = SubResource("AudioStreamRandomizer_p4qqi") stream = SubResource("AudioStreamRandomizer_p4qqi")
max_distance = 2e+07 max_distance = 20000000.0
playback_type = 2 playback_type = 2
script = ExtResource("58_m3hs4") script = ExtResource("58_m3hs4")
[node name="FillWater SFX2" type="AudioStreamPlayer2D" parent="Audio/SFX"] [node name="FillWater SFX2" type="AudioStreamPlayer2D" parent="Audio/SFX"]
stream = SubResource("AudioStreamRandomizer_618my") stream = SubResource("AudioStreamRandomizer_618my")
max_distance = 2e+07 max_distance = 20000000.0
playback_type = 2 playback_type = 2
script = ExtResource("58_m3hs4") script = ExtResource("58_m3hs4")
[connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"] [connection signal="FilledWateringCan" from="YSorted/Vesna" to="Audio/SFX/FillWater SFX2" method="PlayOneShot"]
[connection signal="WateringField" from="YSorted/Vesna/FarmingControls" to="Audio/SFX/Watering SFX" method="PlayOneShot"]
[connection signal="InteractedTool" from="YSorted/Brünnen/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"] [connection signal="InteractedTool" from="YSorted/Brünnen/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"]
[connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"] [connection signal="FieldCreated" from="YSorted/Farm visuals/FieldParent" to="Audio/SFX/Farming SFX" method="PlayOneShot"]
[connection signal="InteractedTool" from="YSorted/Blocker/BackToFarm" to="." method="LoadSceneAtIndex"] [connection signal="InteractedTool" from="YSorted/Blocker/BackToFarm" to="." method="LoadSceneAtIndex"]
[connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"] [connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"]
[editable path="YSorted/Vesna"]
[editable path="YSorted/Brünnen/InteractionArea"] [editable path="YSorted/Brünnen/InteractionArea"]
[editable path="YSorted/Farm visuals/FieldParent/BaseField"] [editable path="YSorted/Farm visuals/FieldParent/BaseField"]
[editable path="YSorted/Farm visuals/FieldParent/BaseField2"] [editable path="YSorted/Farm visuals/FieldParent/BaseField2"]

@ -32,6 +32,11 @@ public partial class VesnaBehaviour2D : Node
_inventoryManager.SlotIndexChanged += HandleInventorySelectedSlotIndexChanged; _inventoryManager.SlotIndexChanged += HandleInventorySelectedSlotIndexChanged;
} }
public override void _ExitTree()
{
_inventoryManager.SlotIndexChanged -= HandleInventorySelectedSlotIndexChanged;
}
/// <summary> /// <summary>
/// Called when picking up an item. /// Called when picking up an item.
/// Makes sure that item animations are also updated when they are occupying a currently empty spot. /// Makes sure that item animations are also updated when they are occupying a currently empty spot.

Loading…
Cancel
Save