Jump to content
Unity Insider Forum

Euphorikus

Members
  • Content count

    9
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Euphorikus

  • Rank
    Newbie
  1. Euphorikus

    GetComponents Frage

    Vielen lieben Dank, damit werde ich mich jetzt mal näher auseinandersetzen, ich denke BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Default | BindingFlags.DeclaredOnly; sind die Zeilen die ich einfach nicht auf dem Schirm hatte :)
  2. Euphorikus

    GetComponents Frage

    Aktuell werden die Werte nur beim Start() abgerufen, später dann wenn ich es will, wüsste nicht warum Unity jetzt alle paar Sekunden etwas refreshen sollte, wenn ich es nicht explizit kommandiert habe. Wenn GameObjects deaktiviert sind macht sich Unity doch keine Mühe da irgendwas zu berechnen, dass wäre ja Schwachsinn, oder liege ich falsch..
  3. Euphorikus

    GetComponents Frage

    Ne, das passiert nur wenn ein Panel aufgerufen wird und die Werte aktualisiert werden müssen..
  4. Euphorikus

    GetComponents Frage

    Bitte nicht an der > 1000 Zahl aufhängen grins, mein Ziel ist es einfach nur es dynamisch zu halten...
  5. Euphorikus

    GetComponents Frage

    Natürlich sind die Werte für den Spieler
  6. Euphorikus

    GetComponents Frage

    Na ich habe Werte in Variablen die sollen im Game angezeigt werden Ich hab ne "Formschön " Class geschrieben die mir die Werte formschön anzeigt. Aktuell ist es so, dass ich nur Zugriff auf die Werte bekomme, wenn ich in der "Formschön" Class angebe aus welchen Komponenten ich Werte auslesen möchte, da alle Variablen je nachdem welche Komponente ich habe verschiedene Variablennamen haben, muss ich vorher prüfen welche Komponentenwerte ich anzeigen will und dementsprechend muss ich für jede Komponente die einzelnen Variablennamen aufschreiben, das sieht dann so aus. GetComponent<Bildung>().IQ; GetComponent<Bildung>().Job; GetComponent<Bildung>().Ausbildung; etc. als Beispiel... Ich hab mehrere Componenten wie Bildung und jede Componente hat unzählige Variablen ... ... ich kann wohl kaum alle Componenten + Variablen in die Formschön Class schreiben, kann ich schon, aber da wollte ich halt gerne die Zeit sparen , denn es werden wirklich sehr viele Componenten...
  7. Euphorikus

    GetComponents Frage

    Danke der Nachfrage na ich wollte einfach nur den Inhalt von Variablen einer unbekannten Componente auslesen können... Geht mir darum, dass es doch viel schicker ist, wenn man das Auslesen der Inhalte von Componenten automatisiert hat, das erspart doch total viel Arbeit, wenn ich mir vorstelle ich habe bald theoretisch > 1000 Componenten ja dann gute Nacht *grins*, dann kommt man ja mit der manuellen Arbeit gar nicht mehr hinterher.. In AC[] werden ja schon die Componten gespeichert, nur verstehe ich nicht, wie ich jetzt im Script auf die Componten weiter zugreifen kann... da komme ich einfach nicht weiter.. AC[1].GetType().GetFields().GetValue(2) liest ja schonmal den Variablennamen aus der in der Componte gespeichert ist, aber wie komme jetzt an den Inhalt der Variable, ich hab da jetzt echt ziemlich viel durchprobiert, aber klappt einfach nichts .__. kann doch nicht so schwer sein +.+ AC[1].GetType().GetFields().GetValue(2) //ergibt "System.String wert"
  8. Euphorikus

    GetComponents Frage

    Schonmal danke das du dir die Zeit für mich genommen hast, hattest du meinen edit noch mitbekommen? Nunja jetzt bin ich soweit, dass ich auf die Componenten zugreifen kann, die Feldervariablennamen lesen kann, aber eben noch nicht an die FieldInfo sprich den Inhalt der Feldervariablennamen herankomme, denn dieser Fehlermeldung kommt dann: IndexOutOfRangeException: Index has to be between upper and lower bound of the array. System.Array.GetValue (Int32 index) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Array.cs:487) ExampleClass.Start () (at Assets/ExampleClass.cs:17) Liegt ziemlich genau am GetType().GetFields().GetValue(0) also von meiner theorie her, müsste ich jetzt einfach nur den Inhalt von AC[1].GetType().GetFields().GetValue(2) herauslesen, was aber nicht mit GetType().GetFields().GetValue(0) zu funktionieren scheint... Ich brauche sowas wie AC[1].GetType().GetFields().GetValue(2).GIBMIRDENINHALT
  9. Euphorikus

    GetComponents Frage

    Moin, ich wollte mir eigentlich was recht simples programmieren, kam dann aber nicht weiter. Es ging darum, dass ich alle Components eines GameObjects auslesen wollte und dann den ersten Wert der Component auslesen wollte, doch dazu kam es gar nicht erst, weil ich den Array indem GetComponents speicherte gar nicht weiter ansprechen kann... hier mal das Script: using UnityEngine; using System.Collections; using System.Collections.Generic; public class ExampleClass : MonoBehaviour { public Component[] AC; public ExampleClass EC; public string wert = "inhalt"; void Start() { EC = GetComponent<ExampleClass>(); AC = gameObject.GetComponents(typeof(Component)); Debug.Log ("AC[1]="+AC[1]+" ergibt das gleiche wie "+gameObject.GetComponent<ExampleClass>()+" | wert:"+EC.wert+" | AC[1].wert funktioniert nicht"); // AC[0] ist die Transform Componente // AC[1] ist die ExampleClass Componente // AC[1].wert funktioniert nicht } } Btw: Wie dann die erste Variable von AC[1] ausgelesen wird ohne zu wissen das die erste Variable "wert" heisst ist mir bisher auch völlig schleierhaft, ich stelle mir so etwas vor, dass ich schreibe AC[1].Variable[1], dazu müsste ich wissen, wie ich alle Variablen auslese und in ein Array speichere, dass wäre der nächste Schritt gewesen, aber bis dahin kam ich wie gesagt gar nicht erst Wäre schön, wenn ihr mir da ein paar Denkanstöße geben könntet edit: Also ich bin jetzt soweit das ich den Variablen namen der ExampleClass Komponente auslesen kann, dies geschieht mit AC[1].GetType().GetFields().GetValue(2) //gibt "wert" zurück nund versuche ich noch den Inhalt auszulesen, aber es klappt nicht mit AC[1].GetType().GetFields().GetValue(2).GetFields().GetValue(0) wobei AC[1].GetType().GetFields().GetValue(2).GetFields().Length() // 0 ausgibt Ich verstehe nicht warum mir jetzt nicht der "wert" inhalt ausgegeben wird...
×