void FavButtonClicked(Dictionary <string, object> dict) { ImaScrollViewport viewport = GetComponentInChildren <ImaScrollViewport>(); int index = (int)dict["index"]; ImaFavButton button = (ImaFavButton)dict["source"]; DOption option = (DOption)dropdown.options[index + viewport.startVisibleIndex]; Debug.Log("fav button clicked index:" + index + " source:" + button + " option:" + option.text); toggleFav(option); button.gameObject.GetComponent <Image>().sprite = option.image; dropdown.RefreshShownValue(); itemsDirty = true; storeFavs(); }
void setupItemListFavIcon() { GameObject label = this.transform.FindDeepChild("Item Label").gameObject; GameObject currentFaveImageObject = new GameObject("FaveItemListIcon"); currentFaveImageObject.transform.parent = label.transform; Image currentFaveImageComponent = currentFaveImageObject.AddComponent <Image>(); currentFaveImageComponent.sprite = favSprite; RectTransform rt = currentFaveImageObject.GetComponent <RectTransform>(); rt.anchoredPosition = new Vector2(0, 0); rt.sizeDelta = new Vector2(16, 16); rt.anchorMin = new Vector2(1, 0.5f); rt.anchorMax = new Vector2(1, 0.5f); rt.pivot = new Vector2(0.5f, 0.5f); dropdown.itemImage = currentFaveImageComponent; ImaFavButton butt = currentFaveImageObject.AddComponent <ImaFavButton>(); butt.clickReciever = this.gameObject; butt.clickMethodReciever = "FavButtonClicked"; }