Jump to content
Unity Insider Forum

Toggle Group (Inventar) ID der aktuellen Auswahl *gelöst*


Recommended Posts

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 :-(

bearbeitet von Quellcode
Selbst gelöst
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...