Jump to content
Unity Insider Forum

auf liste in einem anderen Script zugreifen


peachplayer

Recommended Posts

Hallo Leute

Ich versuche mit folgendem Code auf die Liste eines anderen Scripts zuzugreifen, leider funktioniert das bisher nicht:

 
if (Nummer == index_berechnen(Parzellenname) && Datum1.Year == 2018 + index2)
            {
                var component = content.GetComponent<rotate_object1>();
                foreach (Inventory2 item1 in component.liste1)
                {
                    if (item1.Maschinenname == "Düngerstreuer" && item1.Menge >= 1)

                        liste1.Add(neuerEintrag = new Dünger { Nummer = Nummer, Parzellenname = Parzellenname, Erlös = Erlös, Fläche = Fläche, Menge = Menge, Kosten = Kosten, Düngersorte = Düngersorte, Kultur = Kultur, Datum = Datum });
                }
             
               
                return neuerEintrag;
            }
        }

Kann mir jemand helfen?

Gruss, peachplayer 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Komm schon, du hast 220 Beiträge. So langsam solltest du mitgekriegt haben, dass "funktioniert nicht" einfach nicht ausreicht, um dir zu helfen. Also dieselben Fragen wie jedes Mal. Was sollte passieren? Was passiert stattdessen? Gibt es Fehlermeldungen?

Ich sehe ansonsten, dass du einmal von "component.liste1" redest und drunter von "liste1". Wenn du damit dieselbe Liste meinst, sollte da auch dasselbe stehen. Davon abgesehen darfst du eine Sammlung nicht ändern, während du mit foreach drüber iterierst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

danke für den Tipp! Es kommt jetzt eigentlich gar keine Fehlermeldung mehr sondern es wird einfach kein neuer Eintrag gemacht.

Der Code sieht folgendermassen aus:

 if (Nummer == index_berechnen(Parzellenname) && Datum1.Year == 2018 + index2)
            {
                var component = content.GetComponent<rotate_object1>();
                foreach (Inventory2 item1 in component.liste4)
                {
                    if (item1.Maschinenname == "Tracktor" && item1.Menge >= 1)

                        liste1.Add(neuerEintrag = new Dünger { Nummer = Nummer, Parzellenname = Parzellenname, Erlös = Erlös, Fläche = Fläche, Menge = Menge, Kosten = Kosten, Düngersorte = Düngersorte, Kultur = Kultur, Datum = Datum });
                }
             
               
                return neuerEintrag;
            }
        }

Gruss, peachplayer

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo

 

Was sagt denn der Debugger? Breakpoint rein und dann schön Schritt für Schritt. Gibt es überhaupt Elemente in liste4? Wird die Bedingung bei if erfüllt? Wird Dünger angelegt? Das kannst du ja alles entspannt testen und uns dann sagen.

 

Btw: Du solltest über die Benennung deiner Variablen nachdenken. Ich denke bei liste4 gleich an eine List<> und dann eher an einen sinnvollen Namen und Zugriff über einen Index.

 

Christoph

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...