Jump to content
Unity Insider Forum

Erreiche OnClick() bei Prefab nicht.


chrische5

Recommended Posts

Hallo

 

Ich habe einen Button als Prefab. Eigentlich soll jeder Button ein Item repräsentieren, nun habe ich aber wirklich nur einen blanken Button als Test gemacht, um zu schauen, ob der Fehler an meinem Prefab lag. 

 

private void UpdateItems()
        {
            ClearButtons();
            foreach (var item in _playerInventory.value.Items)
            {
                var itemButton = Instantiate(_itemPrefab, _slotParent, false);
                itemButton.onClick.AddListener(delegate
                {
                    ToggleSelection(item);
                });
                _itemButtons.Add(itemButton);
            }
        }

So werden die Buttons erzeugt und ToggleSelection() sieht wie folgt aus:

 

public void ToggleSelection(Item item)
        {
            Debug.Log("Test-Click on item");
            item.IsSelected = !item.IsSelected;
            UpdateItems();
            
        }

Ich komme dort aber nie rein. Breakpunkt springt nicht an und Debug wird auch nicht ausgegeben. Sehr ihr, was ich da grundlegend falsch mache?

Danke

Christoph

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Code ist komplett in Ordnung. Funktioniert auch bei mir.

Ich denke deshalb, dass deine Button-Komponente entweder deaktiviert, nicht interactable oder gar gelöscht ist.

Wenn andere Elemente auch nicht funktionieren sollten, könnte es sonst am EventSystem liegen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo

 

Man habe ich mir den Wolf gesucht. Ich hatte noch ein Image in der Hierachy unter den Butons (eine Outline). Die ist zwar nur am Rand sichtbar (eben eine Outline) aber hat offensichtlich den Click für sich registriert und nicht an die Buttons durchgereicht. Kann das sein? Ich habe das image nun verschoben und es funktioniert.

 

Danke

Christoph

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...