Quellcode Posted April 12, 2018 Report Share Posted April 12, 2018 (edited) Hallo Zusammen, ich möchte ein Inventar Menü aufbauen und habe die Darstellung aktuell mit einer Toggle Group gelöst. Scrollbar ist auch mit dabei und die Beispiel - Platzhalter Elemente scrollen mit und sind anklickbar. Nun stehe ich jedoch etwas "auf dem Schlauch", ich weiß nicht wie ich die Toggles der Toggle Group anspreche bzw. heraus finde, welcher angeklickt wird. for( int i = 0; i < 20; i++ ) { GameObject itemSlot = (GameObject)Instantiate(itemSlotPrefab); itemSlot.name = i.ToString(); itemSlot.GetComponent<Toggle>().group = itemSlotToggleGroup; itemSlot.GetComponent<Toggle>().onValueChanged.AddListener (delegate { Debug.Log( "ID: "+i ); } ); } In meinem Start() Script wird die ToggleGroup mit 20 Items gefüllt und der Name wird einfach zur "ID". Wenn ich nun Ingame das Menü öffne und auf ein Item klick, zeigt er jedes Mal "19" an, also nur den letzten Zustand von "i". Ich habe hierzu auch schon Google genutzt, aber ich habe offensichtlich eine Denkblockade... Wie schaffe ich es eine ID durch den Klick eines Items aus der Liste zu übergeben? Danke für eure Hilfe! EDIT: Fall gelöst Vielleicht sucht mal Jemand nach sowas, die Lösung ist: Einbinden: using System.Linq; Sonst ist "FirstOrDefault()" nicht verfügbar! itemSlot.GetComponent<Toggle>().onValueChanged.AddListener (delegate { Debug.Log( itemSlotToggleGroup.ActiveToggles().FirstOrDefault().transform.XYZ ); } ); XYZ ist natürlich nur ein Platzhalter... ab da kann man wieder auf das GameObject (Toggle) zugreifen. Hat mich echt einiges an Rechereche Zeit gekostet, die Doku war mir hier keine Hilfe :-( Edited April 13, 2018 by Quellcode Selbst gelöst Quote Link to comment Share on other sites More sharing options...
Reggie() Posted July 11, 2018 Report Share Posted July 11, 2018 ich fand dieses Tutorial ganz hilfreich und es nutzt auch eine andere Methode: Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.