From 97dcadf07a6e2e2357464700783c74f7fc48bb06 Mon Sep 17 00:00:00 2001 From: kziolkowski Date: Tue, 11 Nov 2025 12:15:30 +0100 Subject: [PATCH] :sparkles: Added sceneprovider reference to field scripts and made them register on ready. Also added VariableSetter. --- prefabs/characters/Player2D.tscn | 2 +- prefabs/farm/base_field.tscn | 4 +- scenes/Babushka_scene_farm_outside_2d.tscn | 40 +++++++++++------ scenes/Babushka_scene_outside_beets.tscn | 45 +++++-------------- .../Common/Farming/FarmingControls2D.cs | 5 +-- .../CSharp/Common/Farming/FieldBehaviour2D.cs | 3 ++ scripts/CSharp/Common/Farming/FieldService.cs | 1 + .../Low Code/Variables/VariableSetter.cs | 14 ++++++ .../Low Code/Variables/VariableSetter.cs.uid | 1 + 9 files changed, 61 insertions(+), 54 deletions(-) create mode 100644 scripts/CSharp/Low Code/Variables/VariableSetter.cs create mode 100644 scripts/CSharp/Low Code/Variables/VariableSetter.cs.uid diff --git a/prefabs/characters/Player2D.tscn b/prefabs/characters/Player2D.tscn index b54d14c..d2004cc 100644 --- a/prefabs/characters/Player2D.tscn +++ b/prefabs/characters/Player2D.tscn @@ -2162,7 +2162,7 @@ _fieldPrefab = ExtResource("818_16w6h") _movingPlayer = NodePath("../CharacterBody2D") _wateringParticles = NodePath("../pouring water vfx") _wateringCanParticlesVerticalOffset = -100.0 -_fieldOffsetVector = Vector2i(735, 680) +_fieldOffsetVector = Vector2i(735, 600) [node name="pouring water vfx" type="CPUParticles2D" parent="."] position = Vector2(-652, -599) diff --git a/prefabs/farm/base_field.tscn b/prefabs/farm/base_field.tscn index ca0947d..873170a 100644 --- a/prefabs/farm/base_field.tscn +++ b/prefabs/farm/base_field.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=18 format=3 uid="uid://b1d2e7ely6hyw"] +[gd_scene load_steps=19 format=3 uid="uid://b1d2e7ely6hyw"] [ext_resource type="Script" uid="uid://bdffon388rkty" path="res://scripts/CSharp/Common/Farming/FieldBehaviour2D.cs" id="1_qa01x"] [ext_resource type="Texture2D" uid="uid://cgmu3qlovdr22" path="res://art/masks/field_outline_1.png" id="2_w8caw"] @@ -13,6 +13,7 @@ [ext_resource type="Script" uid="uid://b5dotkx17gvxg" path="res://scripts/CSharp/Low Code/Events/EventRaiser.cs" id="9_teirr"] [ext_resource type="Texture2D" uid="uid://bovypw2hsn2nq" path="res://art/masks/field_outline_1_outline.png" id="9_wx561"] [ext_resource type="Resource" uid="uid://b4hawvsc7cmkn" path="res://resources/low code/farming/event_newPlantCreated.tres" id="10_wx561"] +[ext_resource type="Resource" uid="uid://tt3d166mntmi" path="res://resources/low code/farming/var_sceneNameProvider.tres" id="11_cjahb"] [ext_resource type="Script" uid="uid://3t0af586fimq" path="res://scripts/CSharp/Common/Inventory/InventoryListener.cs" id="14_w08sx"] [ext_resource type="Resource" uid="uid://d1uuxp1lp4aro" path="res://resources/items/tomato_seed.tres" id="15_i4qwg"] [ext_resource type="Resource" uid="uid://duq7tshxv6uhp" path="res://resources/items/beet_seed.tres" id="16_i4qwg"] @@ -35,6 +36,7 @@ PlantingInteraction = NodePath("../InteractionArea") PlantingPlaceholder = NodePath("PlantPlaceholder") ItemRepository = ExtResource("7_w8caw") FieldInteractionArea = NodePath("../InteractionArea") +_sceneKeyProvider = ExtResource("11_cjahb") [node name="MaskedField" type="Sprite2D" parent="FieldBehaviour"] clip_children = 1 diff --git a/scenes/Babushka_scene_farm_outside_2d.tscn b/scenes/Babushka_scene_farm_outside_2d.tscn index 792a193..b3d63df 100644 --- a/scenes/Babushka_scene_farm_outside_2d.tscn +++ b/scenes/Babushka_scene_farm_outside_2d.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=115 format=3 uid="uid://gigb28qk8t12"] +[gd_scene load_steps=117 format=3 uid="uid://gigb28qk8t12"] [ext_resource type="PackedScene" uid="uid://c25udixd5m6l0" path="res://prefabs/characters/Player2D.tscn" id="1_7wfwe"] [ext_resource type="Texture2D" uid="uid://8sr11ex30n0m" path="res://art/mockups/Kenney_Backgrounds/Samples/uncolored_hills.png" id="2_7b2ri"] @@ -73,8 +73,10 @@ [ext_resource type="Resource" uid="uid://5t8g0firdif0" path="res://resources/quests/demo/5_talk_yeli_3.tres" id="69_l4wxt"] [ext_resource type="Script" uid="uid://bhbldab74vmhy" path="res://scripts/CSharp/Common/QuestBehaviour/DetectFieldWork.cs" id="74_fv1t2"] [ext_resource type="Resource" uid="uid://h05jgxqtq37m" path="res://resources/quests/demo/6_till_and_water.tres" id="75_l7ekk"] +[ext_resource type="Script" uid="uid://dfpyjxivcuidr" path="res://scripts/CSharp/Low Code/Variables/VariableSetter.cs" id="76_l7ekk"] [ext_resource type="Resource" uid="uid://byjqeukpibkvi" path="res://resources/quests/demo/7_talk_yeli_inside_1.tres" id="76_xcwle"] [ext_resource type="Script" uid="uid://dih1b0opgc3f7" path="res://scripts/GdScript/dialogic_start_specific.gd" id="77_l7ekk"] +[ext_resource type="Resource" uid="uid://tt3d166mntmi" path="res://resources/low code/farming/var_sceneNameProvider.tres" id="77_xcwle"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_wtdui"] shader = ExtResource("13_7p0hq") @@ -211,10 +213,10 @@ shader_parameter/tiling_scale = Vector2(1, 25) [sub_resource type="RectangleShape2D" id="RectangleShape2D_p6n74"] resource_local_to_scene = true -size = Vector2(7150, 1192) +size = Vector2(7150, 941.9418) [sub_resource type="RectangleShape2D" id="RectangleShape2D_2nee2"] -size = Vector2(5782, 1176) +size = Vector2(5782, 896.7792) [sub_resource type="ShaderMaterial" id="ShaderMaterial_lwk6t"] shader = ExtResource("13_7p0hq") @@ -602,7 +604,7 @@ texture = ExtResource("13_0qu0h") [node name="JelenaMockupBg03" type="Sprite2D" parent="ParallaxBackground/background layer 4"] z_index = -200 material = SubResource("ShaderMaterial_wtdui") -position = Vector2(7923, 727) +position = Vector2(7893.0005, 727) scale = Vector2(2.75, 2.75) texture = ExtResource("13_0qu0h") @@ -1039,8 +1041,9 @@ z_index = 1 position = Vector2(9322, 2018) _hoe = ExtResource("28_6b2nr") -[node name="FarmingControls" parent="YSorted/Vesna" index="1" node_paths=PackedStringArray("_camera")] +[node name="FarmingControls" parent="YSorted/Vesna" index="1" node_paths=PackedStringArray("_camera", "_fieldParent")] _camera = NodePath("../../../Camera2D") +_fieldParent = NodePath("../../FieldParent") [node name="Well" type="Sprite2D" parent="YSorted" node_paths=PackedStringArray("_interactionArea")] z_index = 1 @@ -1117,6 +1120,9 @@ shape = SubResource("CircleShape2D_tm0yg") [node name="Icon" parent="YSorted/SeedPickup2" index="4"] scale = Vector2(1, 1) +[node name="FieldParent" type="Node2D" parent="YSorted"] +position = Vector2(0, -200) + [node name="Farm visuals" type="Node2D" parent="YSorted"] position = Vector2(-60, 122) @@ -2093,20 +2099,20 @@ rotation = 1.5708 scale = Vector2(0.1, 10.8) texture = ExtResource("21_if5vh") -[node name="Area2D" type="Area2D" parent="YSorted/Farm visuals"] +[node name="Farming Colliders" type="Area2D" parent="YSorted/Farm visuals"] position = Vector2(5, 4.098892) scale = Vector2(1, 0.993819) collision_mask = 5 collision_priority = 10.0 -[node name="CollisionShape2D2" type="CollisionShape2D" parent="YSorted/Farm visuals/Area2D"] -position = Vector2(11913.999, 2960) -scale = Vector2(0.99999994, 0.99999994) +[node name="CollisionShape2D2" type="CollisionShape2D" parent="YSorted/Farm visuals/Farming Colliders"] +position = Vector2(11913.995, 3085.0288) +scale = Vector2(0.9999998, 0.9999998) shape = SubResource("RectangleShape2D_p6n74") -[node name="CollisionShape2D" type="CollisionShape2D" parent="YSorted/Farm visuals/Area2D"] -position = Vector2(2895.9998, 2949) -scale = Vector2(0.99999994, 0.99999994) +[node name="CollisionShape2D" type="CollisionShape2D" parent="YSorted/Farm visuals/Farming Colliders"] +position = Vector2(2895.9988, 3088.6096) +scale = Vector2(0.9999998, 0.9999998) shape = SubResource("RectangleShape2D_2nee2") [node name="Blocker" type="Node2D" parent="YSorted"] @@ -2409,6 +2415,11 @@ _toNextQuest = ExtResource("76_xcwle") script = ExtResource("77_l7ekk") timeline = "quest2_tomatoes_end" +[node name="SceneNameSetter" type="Node" parent="."] +script = ExtResource("76_l7ekk") +_variableResource = ExtResource("77_xcwle") +_payloadToSet = "farmOutside" + [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/Well/InteractionArea" to="YSorted/Vesna" method="TryFillWateringCan"] @@ -2417,8 +2428,8 @@ timeline = "quest2_tomatoes_end" [connection signal="SuccessfulPickUp" from="YSorted/SeedPickup" to="YSorted/Vesna" method="HandlePickUp"] [connection signal="SuccessfulPickUp" from="YSorted/SeedPickup2" to="YSorted/Vesna" method="HandlePickUp"] [connection signal="InteractedTool" from="YSorted/Farm visuals/Static/EnterHouseInteraction" to="." method="LoadSceneAtIndex"] -[connection signal="mouse_entered" from="YSorted/Farm visuals/Area2D" to="YSorted/Vesna/FarmingControls" method="CanCreateFields"] -[connection signal="mouse_exited" from="YSorted/Farm visuals/Area2D" to="YSorted/Vesna/FarmingControls" method="CannotCreateFields"] +[connection signal="mouse_entered" from="YSorted/Farm visuals/Farming Colliders" to="YSorted/Vesna/FarmingControls" method="CanCreateFields"] +[connection signal="mouse_exited" from="YSorted/Farm visuals/Farming Colliders" to="YSorted/Vesna/FarmingControls" method="CannotCreateFields"] [connection signal="InteractedTool" from="YSorted/Blocker/InteractionArea" to="." method="LoadSceneAtIndex"] [connection signal="GoalReached" from="YSorted/ducks" to="YSorted/ducks/DialogicToggle" method="ToggleDialogue"] [connection signal="DuckCollected" from="YSorted/ducks/Duck2" to="YSorted/ducks" method="Increment"] @@ -2431,6 +2442,7 @@ timeline = "quest2_tomatoes_end" [connection signal="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"] [connection signal="ready" from="SpecialQuestTrigger/QuestInstantStart" to="SpecialQuestTrigger/QuestInstantStart/QuestTrigger" method="Trigger"] [connection signal="OnFulfilled" from="SpecialQuestTrigger/FieldWorkTrigger" to="SpecialQuestTrigger/FieldWorkTrigger/StartDialog" method="open"] +[connection signal="tree_entered" from="SceneNameSetter" to="SceneNameSetter" method="Set"] [editable path="YSorted/Vesna"] [editable path="YSorted/Well/InteractionArea"] diff --git a/scenes/Babushka_scene_outside_beets.tscn b/scenes/Babushka_scene_outside_beets.tscn index 527a852..8406460 100644 --- a/scenes/Babushka_scene_outside_beets.tscn +++ b/scenes/Babushka_scene_outside_beets.tscn @@ -41,16 +41,16 @@ [ext_resource type="Texture2D" uid="uid://badnnid7dgnpk" path="res://art/nature/grass/grass-4.png" id="42_7jeth"] [ext_resource type="PackedScene" uid="uid://dpbbroif2tnil" path="res://prefabs/interactions/generic_item_on_ground_2d.tscn" id="43_dr6bm"] [ext_resource type="Texture2D" uid="uid://ct7ea8ikor5rf" path="res://art/nature/grass/grass-3.png" id="43_g8k4k"] -[ext_resource type="Material" uid="uid://blch5kdhkbj75" path="res://art/materials/simple_interactable_outline.tres" id="44_34r5t"] [ext_resource type="Texture2D" uid="uid://d3dwl6ph0pu1d" path="res://art/nature/grass/grass-6.png" id="44_jgrpl"] -[ext_resource type="Script" uid="uid://dhxtdhfqx3bte" path="res://scripts/CSharp/Common/Farming/FieldService2D.cs" id="46_xkmgh"] [ext_resource type="Texture2D" uid="uid://blb3agipyxnal" path="res://art/farm/farming/farmobjekte/zaun/fence_door.png" id="47_xfjh2"] [ext_resource type="PackedScene" uid="uid://cgjc4wurbgimy" path="res://prefabs/UI/Inventory/Inventory.tscn" id="52_gwhnv"] [ext_resource type="AudioStream" uid="uid://dku1rq5cocisg" path="res://audio/Music/Farming_90BPM_69Bars.wav" id="53_2tfpr"] [ext_resource type="Script" uid="uid://clxb3n668oud3" path="res://scripts/CSharp/Common/Audio/AudioDebugger.cs" id="54_pn8sy"] [ext_resource type="AudioStream" uid="uid://cfqg50am0swb7" path="res://audio/Music/Farming_90BPM_69Bars_Loop.wav" id="55_aq24k"] +[ext_resource type="Script" uid="uid://dfpyjxivcuidr" path="res://scripts/CSharp/Low Code/Variables/VariableSetter.cs" id="56_34r5t"] [ext_resource type="AudioStream" uid="uid://vcftvrpi6c7k" path="res://audio/sfx/Farming/SFX_Harke_03_Solo.wav" id="56_vojpc"] [ext_resource type="AudioStream" uid="uid://bxh5m04vdo0sr" path="res://audio/sfx/Farming/SFX_Harke_04_Solo.wav" id="57_euap5"] +[ext_resource type="Resource" uid="uid://tt3d166mntmi" path="res://resources/low code/farming/var_sceneNameProvider.tres" id="57_hpgl7"] [ext_resource type="Script" uid="uid://cfnrd5k1k0gxw" path="res://scripts/CSharp/Common/AudioPlayer2D.cs" id="58_m3hs4"] [ext_resource type="AudioStream" uid="uid://dapsknn486aee" path="res://audio/sfx/Farming/SFX_WateringPlants_01.wav" id="59_km2vg"] [ext_resource type="AudioStream" uid="uid://dnyne8wov50so" path="res://audio/sfx/Farming/SFX_WateringPlants_02.wav" id="60_qi2gu"] @@ -1701,12 +1701,9 @@ rotation = 1.5708 scale = Vector2(0.1, 8.7) texture = ExtResource("26_bwvai") -[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals" node_paths=PackedStringArray("fields")] +[node name="FieldParent" type="Node2D" parent="YSorted/Farm visuals"] position = Vector2(53, 20) scale = Vector2(1, 0.993819) -script = ExtResource("46_xkmgh") -fields = {} -metadata/_custom_type_script = "uid://dhxtdhfqx3bte" [node name="BaseField" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] position = Vector2(651, 2630.26) @@ -1716,9 +1713,6 @@ scale = Vector2(1, 1.00622) _state = 2 _field = NodePath("../..") -[node name="InteractionArea" parent="YSorted/Farm visuals/FieldParent/BaseField" index="1"] -_outlineMaterial = ExtResource("44_34r5t") - [node name="BaseField2" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] position = Vector2(1226, 3098.15) scale = Vector2(1, 1.00622) @@ -1727,12 +1721,9 @@ scale = Vector2(1, 1.00622) FieldState = 3 [node name="Beet2" parent="YSorted/Farm visuals/FieldParent/BaseField2/FieldBehaviour/PlantPlaceholder" index="0" node_paths=PackedStringArray("_field") instance=ExtResource("41_vyqmy")] -_state = 1 +_state = 2 _field = NodePath("../..") -[node name="InteractionArea" parent="YSorted/Farm visuals/FieldParent/BaseField2" index="1"] -_outlineMaterial = ExtResource("44_34r5t") - [node name="BaseField3" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] position = Vector2(1782, 2606.11) scale = Vector2(1, 1.00622) @@ -1744,9 +1735,6 @@ FieldState = 3 _state = 2 _field = NodePath("../..") -[node name="InteractionArea" parent="YSorted/Farm visuals/FieldParent/BaseField3" index="1"] -_outlineMaterial = ExtResource("44_34r5t") - [node name="BaseField4" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] position = Vector2(2559, 2624.22) scale = Vector2(1, 1.00622) @@ -1758,9 +1746,6 @@ FieldState = 3 _state = 2 _field = NodePath("../..") -[node name="InteractionArea" parent="YSorted/Farm visuals/FieldParent/BaseField4" index="1"] -_outlineMaterial = ExtResource("44_34r5t") - [node name="BaseField5" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] position = Vector2(3305, 2624.22) scale = Vector2(1, 1.00622) @@ -1772,9 +1757,6 @@ FieldState = 3 _state = 2 _field = NodePath("../..") -[node name="InteractionArea" parent="YSorted/Farm visuals/FieldParent/BaseField5" index="1"] -_outlineMaterial = ExtResource("44_34r5t") - [node name="BaseField6" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] position = Vector2(4033, 2618.18) scale = Vector2(1, 1.00622) @@ -1786,9 +1768,6 @@ FieldState = 3 _state = 1 _field = NodePath("../..") -[node name="InteractionArea" parent="YSorted/Farm visuals/FieldParent/BaseField6" index="1"] -_outlineMaterial = ExtResource("44_34r5t") - [node name="BaseField7" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] position = Vector2(4755, 2630.26) scale = Vector2(1, 1.00622) @@ -1800,9 +1779,6 @@ FieldState = 3 _state = 2 _field = NodePath("../..") -[node name="InteractionArea" parent="YSorted/Farm visuals/FieldParent/BaseField7" index="1"] -_outlineMaterial = ExtResource("44_34r5t") - [node name="BaseField8" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] position = Vector2(4418, 3226.95) scale = Vector2(1, 1.00622) @@ -1814,9 +1790,6 @@ FieldState = 3 _state = 2 _field = NodePath("../..") -[node name="InteractionArea" parent="YSorted/Farm visuals/FieldParent/BaseField8" index="1"] -_outlineMaterial = ExtResource("44_34r5t") - [node name="BaseField9" parent="YSorted/Farm visuals/FieldParent" instance=ExtResource("40_efblm")] position = Vector2(5317, 3208.83) scale = Vector2(1, 1.00622) @@ -1828,9 +1801,6 @@ FieldState = 3 _state = 1 _field = NodePath("../..") -[node name="InteractionArea" parent="YSorted/Farm visuals/FieldParent/BaseField9" index="1"] -_outlineMaterial = ExtResource("44_34r5t") - [node name="Blocker" type="Node2D" parent="YSorted"] [node name="BackToFarm" parent="YSorted/Blocker" node_paths=PackedStringArray("_spritesToOutline") instance=ExtResource("31_xcb8u")] @@ -1936,12 +1906,17 @@ max_distance = 20000000.0 playback_type = 2 script = ExtResource("58_m3hs4") +[node name="SceneNameSetter" type="Node" parent="."] +script = ExtResource("56_34r5t") +_variableResource = ExtResource("57_hpgl7") +_payloadToSet = "beetRootScene" + [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="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="finished" from="Audio/Background Music Ramp up" to="Audio/Background Music loop" method="PlayFromOffset"] +[connection signal="tree_entered" from="SceneNameSetter" to="SceneNameSetter" method="Set"] [editable path="YSorted/Vesna"] [editable path="YSorted/Vesna/GenericItemOnGround"] diff --git a/scripts/CSharp/Common/Farming/FarmingControls2D.cs b/scripts/CSharp/Common/Farming/FarmingControls2D.cs index 1a19e83..f0e1f21 100644 --- a/scripts/CSharp/Common/Farming/FarmingControls2D.cs +++ b/scripts/CSharp/Common/Farming/FarmingControls2D.cs @@ -15,6 +15,7 @@ public partial class FarmingControls2D : Node2D [Export] private CpuParticles2D _wateringParticles; [Export] private float _wateringCanParticlesVerticalOffset = 50f; [Export] private Vector2I _fieldOffsetVector = new Vector2I(735, 651); + [Export] private Node2D _fieldParent; private int _toolId = -1; private bool _wateringCanFilled = false; @@ -143,13 +144,11 @@ public partial class FarmingControls2D : Node2D // reposition and reparent the instance field2d.Position = new Vector2(fieldPosition.X, fieldPosition.Y); - FieldService.Instance.AddChild(fieldInstance); + _fieldParent.AddChild(fieldInstance); EmitSignal(SignalName.FieldCreated); } } } - - #endregion } \ No newline at end of file diff --git a/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs b/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs index 7d87c08..c76b51c 100644 --- a/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs +++ b/scripts/CSharp/Common/Farming/FieldBehaviour2D.cs @@ -1,6 +1,7 @@ using System; using Babushka.scripts.CSharp.Common.CharacterControls; using Babushka.scripts.CSharp.Common.Inventory; +using Babushka.scripts.CSharp.Low_Code.Variables; using Godot; namespace Babushka.scripts.CSharp.Common.Farming; @@ -20,6 +21,7 @@ public partial class FieldBehaviour2D : Sprite2D [Export] public Node2D PlantingPlaceholder; [Export] public ItemRepository ItemRepository; [Export] public InteractionArea2D FieldInteractionArea; + [Export] public VariableResource _sceneKeyProvider; public Vector2 FieldPosition; @@ -52,6 +54,7 @@ public partial class FieldBehaviour2D : Sprite2D public override void _Ready() { UpdateFieldState(FieldState); + FieldService.Instance.TryAddEntry(_sceneKeyProvider.Payload.AsString(), (Vector2I) GlobalPosition, this); int randomIndex = new Random().Next(0, _maskTexture.Length); _maskSprite.Texture = _maskTexture[randomIndex]; _outlineSprite.Texture = _maskOutlineTextures[randomIndex]; diff --git a/scripts/CSharp/Common/Farming/FieldService.cs b/scripts/CSharp/Common/Farming/FieldService.cs index 80e4770..1405f99 100644 --- a/scripts/CSharp/Common/Farming/FieldService.cs +++ b/scripts/CSharp/Common/Farming/FieldService.cs @@ -24,6 +24,7 @@ public partial class FieldService : Node //Create public bool TryAddEntry(string sceneName, Vector2I position, FieldBehaviour2D field) { + GD.Print("Trying to add a field at: " + position); if (_outerDict != null ) { FieldsInScene innerDict; diff --git a/scripts/CSharp/Low Code/Variables/VariableSetter.cs b/scripts/CSharp/Low Code/Variables/VariableSetter.cs new file mode 100644 index 0000000..cdde4cf --- /dev/null +++ b/scripts/CSharp/Low Code/Variables/VariableSetter.cs @@ -0,0 +1,14 @@ +using Godot; + +namespace Babushka.scripts.CSharp.Low_Code.Variables; + +public partial class VariableSetter : Node +{ + [Export] private VariableResource _variableResource; + [Export] private Variant _payloadToSet; + + public void Set() + { + _variableResource.Payload = _payloadToSet; + } +} \ No newline at end of file diff --git a/scripts/CSharp/Low Code/Variables/VariableSetter.cs.uid b/scripts/CSharp/Low Code/Variables/VariableSetter.cs.uid new file mode 100644 index 0000000..34c1435 --- /dev/null +++ b/scripts/CSharp/Low Code/Variables/VariableSetter.cs.uid @@ -0,0 +1 @@ +uid://dfpyjxivcuidr