private void InitItemUIList() { if (mItemList == null) { return; } mItemList.Clear(); SortedList <int, Scene_StageSceneTableItem> sortedlist = new SortedList <int, Scene_StageSceneTableItem>(); IDictionaryEnumerator itr = DataManager.Scene_WantedSceneTable.GetEnumerator(); while (itr.MoveNext()) { Scene_StageSceneTableItem res = itr.Value as Scene_StageSceneTableItem; sortedlist.Add(res.resID, res); } // foreach (Scene_StageSceneTableItem res in DataManager.Scene_WantedSceneTable.Values) // { // sortedlist.Add(res.resID, res); // } foreach (Scene_StageSceneTableItem res in sortedlist.Values) { GameObject obj = WindowManager.Instance.CloneGameObject(cloneItemPrefab); if (obj == null) { continue; } obj.SetActive(true); obj.name = "UIWantedItem" + res.resID.ToString(); obj.transform.parent = mGrid.transform; obj.transform.localScale = Vector3.one; UIWantedItem itemui = new UIWantedItem(obj); //itemui.Idx = i; itemui.Res = res; UIEventListener.Get(obj).onClick = OnWantedItemClicked; itemui.InitUI(); mItemList.Add(itemui); } mGrid.repositionNow = true; }
private void OnWantedItemClicked(GameObject target) { UIWantedItem item = null; foreach (UIWantedItem ui in mItemList) { if (ObjectCommon.ReferenceEquals(ui.gameObject, target)) { item = ui; ui.SetSelected(true); } else { ui.SetSelected(false); } } mSelectedItemUI = item; mSelectedItemRes = item.Res; UpdateSelectedItem(); }