public static void RefreshUIList <T>(string listName, GameObject elementObject, List <T> dataList, FeedListElementHandle <T> func) { elementObject.SetActive(true); var UIList = GameObject.Find(listName).gameObject; foreach (Transform child in UIList.transform) { if (child.name == elementObject.name) { continue; } else { GameObject.Destroy(child.gameObject); } } var UIElement = elementObject; foreach (var datum in dataList) { var newUIElement = GameObject.Instantiate(UIElement); func(newUIElement, datum); newUIElement.transform.parent = UIList.transform; } UIElement.SetActive(false); }
public static void InitUIList <T>(string listName, string elementName, List <T> dataList, FeedListElementHandle <T> func, ref GameObject elementHandle) { var UIList = GameObject.Find(listName).gameObject; var UIElement = GameObject.Find(elementName).gameObject; foreach (var datum in dataList) { var newUIElement = GameObject.Instantiate(UIElement); func(newUIElement, datum); newUIElement.transform.parent = UIList.transform; } elementHandle = UIElement; UIElement.SetActive(false); }