feature/showcase_bugfixing_kathi_partII #16
Merged
Jonathan
merged 33 commits from feature/showcase_bugfixing_kathi_partII into develop 3 months ago
Loading…
Reference in new issue
There is no content yet.
Delete Branch 'feature/showcase_bugfixing_kathi_partII'
Deleting a branch is permanent. It CANNOT be undone. Continue?
Merged Quest branch and integrated further bugfixes. Tomato farming works again.
grow_vertical = 2theme_override_colors/font_color = Color(0, 0, 0, 1)text = "Switch to Unity"text = "[Hier könnte Ihre Werbung stehen]"😂
Aktuell sind noch ein paar Sachen kaputt. Daher würde ich es noch nicht mergen. Ggf. mergen wir das erst nach der Gamescom und machen aus dem aktuellen Branch nach Bedarf Builds.
script = ExtResource("66_2065p")questResource = ExtResource("67_tm0yg")toStatus = 1makeActive = trueDurch die Änderung wird die erste Quest nicht richtig getriggert und das Post-it zeigt nur den Standardtext.
[node name="Yeli" parent="YSorted" instance=ExtResource("24_wtdui")]position = Vector2(6403, 3362)_timelinesToPlay = PackedStringArray("yeli_quest_select")_retriggerSameTimeline = trueDadurch ist Yelis Dialog kaputt.
Yelis Dialog ist gerade komplett kaputt. Bei mir zumindest wird nie "Please could you get the runner ducks back into their coop?" erreicht und auch nicht die zweite Quest aktiviert. Kannst du den gesamten Questdurchlauf bei dir mal gegenchecken?
}#endregionNen change ohne changes. Währe etwas sauberer, wenn hier garkein change währe
public override void _Ready(){GetTree().CallGroup("PlantGrowing", VesnaAnimations.MethodName.PlayFarmingAnimation);CallGroup hat ziemlich viel codesmell. Kannst du gerne für jetzt so lassen, aber setz da am besten noch ein To-do hinter, damit wir daran denken, das zu ändern, sobald wir eine event bus implementierung haben.
public int maxStack;[Export]public PackedScene? itemPrefab;Ich musste im Code nachschauen, um zu verstehen, wofür das überhaupt ist. Ich denke, das braucht mindestens einen anderen Namen.
Besser aber noch, das kommt in eine neue Klasse oder eine abgeleitete Klasse (z. B.
PlantableItemResource)Außerdem habe ich Angst, da hier ne PackedScene referenziert wird, dass wir wieder irgendwann in ein cyclic dependency problem geraten, das super schwer zu debuggen ist.
Ich habe noch einmal darüber nachgedacht und bin mir sehr sicher, dass wir damit in eine cyclic dependency geraten, sobald eine Tomatenpflanze nicht nur Tomaten, sondern auch selbst wieder Samen droped. Selbst wenn das Gamedesign technisch nicht vorgesehen ist, schaffen wir uns hier einen ganz gefährlichen Sonderfall.
Wir sollten stattdessen lieber eine Lookup-Table-Resource haben. Darin ist ein Array aus Paaren von ItemResource und PackedScene. Die FieldBehaviour Klasse kann sich basierend auf dem Item das richtige Prefab für die Pflanze raus suchen
Lass mal bei Gelegenheit darüber callen.
Ich bin mir fast sicher, dass deine Bedenken hier unbegründet sind. Der Lösungsvorschlag mit der Lookup-Tabelle ließe sich zwar auch umsetzen, allerdings nicht mit ItemResources als Keys, weil diese nicht von Godot serialisiert werden können und damit in Godot Dictionaries Fehler werfen.
Man kann das umgehen, indem man strings oder enums als identifier benutzt und dazwischenschaltet, das ist aber im Verhältnis zu dieser Lösung sehr viel komplexer und meiner Meinung nach nicht notwendig, da wir ja nicht auf Instanzen direkt zugreifen, sondern nur auf Prefabs / Resourcen verweisen.
using Babushka.scripts.CSharp.Common.CharacterControls;Wird das script irgenwo benutzt außer in der InventoryDependentInteractable test scene?
{public void PlayPickupAnimation(){GetTree().CallGroup("Pickup", VesnaAnimations.MethodName.PlayPickUpAnimation);Siehe oben
{string sceneName = _sceneNamesToLoad[index];SceneTransitionThreaded.Instance.ChangeSceneToFile(sceneName);SceneTransitionThreaded.Instance.ChangeSceneToFileThreaded(sceneName);Das funktioniert bei mir immer noch nicht.
Bist du dir sicher, dass das bei dir funktioniert? Also nicht nur, wenn du die Farmszene direkt startest, sondern auch wenn du den richtigen Play-Button drückst und aus dem Hauptmenü lädst?
Sieht ok aus.
Gibt noch einige probleme, ich würde das aber so approven, damit es weiter geht.
40b8c022feinto develop 3 months agoReviewers
40b8c022fe.