Irgendwie habe ich einen Logikfehler in meinen Gameslots. Bzw. Übergabeproblem zwischen den Widgets.

  • Wenn sich nur der Button Status ändert, und NewEnumerator0 immer auf load bleibt, dann müsste deine Schaltung funktionieren. Besteht irgendeine Verbindung zwischen Button Status und NewEnumerator0, die dürfen ja nichts miteinander zu tun haben. Wie stellst du denn NewEnumerator0 um, im Gameplay oder im Editor? Vielleicht fehlt mir da das nötige Verständnis.

  • New Enumerator ist halt nur ein Platzhalter in dem bluprintue.com

    Ich habe natürlich eine Enumdatei, mit diesen beiden Einträgen Load und Save.

    Dann lege ich eine Variable an, diese ist dann vom Typ Enum und beinhaltet diese Datei. Dann kann ich halt auswählen, Load oder Save.

    Im Button selbst ist dann halt das nötige Blueprint, welches feststellt, ob der Slot ein Savegame enthält, also ob Slot 1 zum Beispiel belegt ist, ich habe das recht einfach gehalten und nur die Nummern zur Identifizierung benutzt, wenn ja, werden halt aus dem SavegameSlot diverse Informationen geladen, wie Datum und Uhrzeit, wann es abgespeichert wurde, Name des Levels und, wenn es funktionieren sollte, ein Screenshot zum Zeitpunkt des Speicherns. Zudem soll der Button dann immer enabled sein, egal ob der Status speichern oder laden ist, weil Laden ist klar, muss man halt anklicken können und speichern, weil man es auch überschreiben kann.

    Ist kein Savegame in dem Slot enthalten, dann soll der Button halt disaabled sein, weil ist eh leer, wenn geladen werden soll, aber Speichern soll natürlich möglich sein.

    Der Witz dabei ist, es funktioniert ja alles. Jetzt, wo ich beim Testen ausversehen das Hauptmenü gespeichert habe, dann ist beim Laden dieser eine Slot auch enebled, alle anderen disabled. Stelle ich testweise auf Save um, dann sind die anderen Buttons trotzdem disabled.


    Im ButtonBP wird hier differenziert.

    Und im Menü wird es halt so aufgerufen.


    Es gibt ja mehrere Möglichkeiten.
    Hier gibt es ja eine Abfrage, ob ein Spielstand im Slot vorhanden ist oder nicht.


    Das funktioniert auch. In dem Moment, wo ein Spielstand vorhanden ist, ist der Button Enabled.

    Ich wüsste jetzt allerdings keinen einzigen Grund, warum die Abfrage danach, also ob Load oder Save, ignoriert werden sollte, bzw. die Abfrage liefert ja immer true zurück.

    Das ergibt gar keinen Sinn. Bestimmt ist das irgendein winziger Fehler, auf den man absolut nicht kommt. Weil das Verhalten selber, das ändert sich ja. Wenn ich im Menü bei der Übergabe Save auswähle, dann speichert er ja.

    Aber um mal auf die eigentliche Frage zurückzulkommen. Das ist alles fest im Editor. Im Spiel ändert sich das nicht. Das Ganze dient lediglich dazu, dass man im Hauptmenü nur laden kann und das auch nur, wenn ein Spielstand vorhanden ist, und im Pausemenü ist halt beides möglich. Da brauche ich also eigentlich nichts flexibel im Spiel ändern oder so, das wird je nachdem übergeben, welcher Button in den Menüs geklickt wird.

  • Zitat

    dann ist beim Laden dieser eine Slot auch enebled, alle anderen disabled. Stelle ich testweise auf Save um, dann sind die anderen Buttons trotzdem disabled

    Also wird ja, wenn du auf save gestellt hast, im Vergleich nicht save==load, sondern save==save abgefragt, weil true rauskommt. Danke für die ausführliche Erklärung.

  • Ja, aber du siehst ja, dass auf Load abgefragt wird. Und das wird halt auch nicht geändert.


    Vielleicht sollte ich die Logik noch einmal komplett neu aufbauen. Wie gesagt, das ist bestimmt ein winziger Denkfehler dahinter, den man nicht gleich sieht, aber wenn man ihn findet, kommt dann das große "Mensch, bin ich blöd".

  • Na eigentlich nicht. Bei Create Widget wird es einmal eingestellt und gut ist. Wenn ich auf den Loadbutton klicke, wird es mit Load aufgerufen und wenn ich auf den Savebutton klicke, dann halt mit Save. Also es ist halt nur der jeweilige Aufruf mit Create. Da siehst du ja auch den Punkt, wo Load und Save eingestellt wird, direkt im Create Widget.