Hi,
ok folgendes könnte recht lang und kompliziert werden. Ich versuch es möglichst genau zu erklären und wo mein Problem liegt.
In meinem In-Game Hauptmenü werden sogenannte RadioButtons erstellt. Für jeden im SaveGame gespeicherten Floor (meine Level) wird ein Button erstellt. Kommt ein neuer Floor hinzu, wird auch entsprechend ein neuer Button im Menü dazu erstellt. Was soweit auch schon mal funktioniert.
Jeder Button soll dann den entsprechenden Floor laden, wenn man draufklickt.
Dazu muss ich den Index des angeklickten Buttons auslesen, um diesem Index den richtigen Floor zuweisen zu können.
Mein Problem ist allerdings, das jeder meiner erstellen Buttons alle den Index 0 haben! Was eigentlich nicht sein kann... und somit wird immer nur Floor 01 jedem Button zugewiesen
Meine Frage ist daher nun, woran liegt das und wie änder ich es?
Meine Radiobuttons basieren (mit eigenen abwandlungen) auf folgenden Tutorials:
https://www.youtube.com/watch?v=E8QwYIPLc-c
https://www.youtube.com/watch?v=W0eW6zmo38k
Leider ist der gute Tefel nicht all zu explizit in seinen Ausführungen und hastet da ein wenig durch, dennoch habe ich wohl das meiste mehr oder weniger verstanden.
Meine Abwandlungen:
1. Damit die Buttons angezeigt werden In-Game, werden sie in meinem RadioButtonLine-Widget nicht per Event Pre-Construct ausgeführt wie im Tutorial, sondern als Function, welche im UMG-MainMenü abgerufen wird. Da die Anzahl Buttons nicht manuell sondern dynamisch erstellt werden. Je nach Anzahl der vorhandenen Floors halt.
2. Im UMG MenüWidget gibt es die Funktion ConvertToName, welche jedem Index einen entsprechenden Floor-Namen zuweist. Dieser Name wird dann zusammen mit dem Index im "Button
Floor 1-5"-Array eingefügt, woraus wiederum die Buttons mit entsprechender Bezeichnung erzeugt werden. Anzahl Buttons wie gesagt, abhängig vom SaveGame-Array.
Und ich vermute mal, dass auch dort irgendwo der Fehler liegt. Eventuell am "Set Array Elem"? Nutze ich "Insert" stattdessen, habe ich aber das selbe Problem.
Ich kann die Buttons anklicken und der aktuell selectierte Button wechselt auch jeweils die Farbe, aber lese ich dann meinen ausgewählten "Button Floor 1-5"-Array aus, ist seine "Length" immer 0 und das obwohl Buttons erstellt wurden. In meinem Fall drei Stück, also müsste die Länge doch auch bei 3 sein oder nicht?
Der Button-Array wird nur kurz vorm Erstellen einmal geleert, aber nicht mehr danach, sollte also Indizes besitzen... Woran könnte es liegen? Ich weiß es ist eine Menge, inklusive der Tutorials, aber eventuell kann mir ja jemand dabei ein wenig in die richtige Richtung schubsen.
Falls weitere Fragen bestehen oder Screenshots von Blueprints gewünscht sind, einfach bescheid geben!
Schöne Grüße
Ace D.