/// <summary> /// 快捷栏的item List /// </summary> void InitShortcutItemGridList() { m_lstShortcutSetItemGrid.Clear(); //用于UI缓存的grid m_lstShortcutSetItem = DataManager.Manager <SettingManager>().GetShortcutSetItemList(); //我们需要的数据list m_fixedShortcutItemCount = DataManager.Manager <SettingManager>().FixedShortcutItemCount; for (int i = 0; i < m_trans_CoteContent.childCount; i++) { Transform gridTransf = m_trans_CoteContent.GetChild(i); UIShortcutSetItemGrid grid = gridTransf.gameObject.GetComponent <UIShortcutSetItemGrid>(); if (grid == null) { grid = gridTransf.gameObject.AddComponent <UIShortcutSetItemGrid>(); } if (i < m_lstShortcutSetItem.Count) { grid.SetGridData(m_lstShortcutSetItem[i]); grid.RegisterUIEventDelegate(OnShortcutItemGirdEventDlg); m_lstShortcutSetItemGrid.Add(grid); //用于UI缓存的grid } } }
void UpdateShortcutSetItemGridList(ShortCuts oldItemData, ShortCuts itemData) { UIShortcutSetItemGrid grid = m_lstShortcutSetItemGrid.Find((d) => { return(d.itemData.itemid == itemData.itemid); }); if (grid != null) { if (grid.itemData.id != itemData.id) { ShortCuts tempItem = new ShortCuts(); tempItem.id = grid.itemData.id; tempItem.itemid = oldItemData.itemid; //点到的grid设置为最新 UIShortcutSetItemGrid tempGrid = m_lstShortcutSetItemGrid.Find((d) => { return(d.itemData.id == itemData.id); }); tempGrid.SetGridData(itemData); //已经存在的,设置为点到的grid之前的数据 grid.SetGridData(tempItem); for (int i = 0; i < m_lstShortcutSetItemGrid.Count; i++) { if (m_lstShortcutSetItemGrid[i].itemData.id == itemData.id) { m_lstShortcutSetItemGrid[i].itemData.itemid = itemData.itemid; } if (m_lstShortcutSetItemGrid[i].itemData.id == tempItem.id) { m_lstShortcutSetItemGrid[i].itemData.itemid = tempItem.itemid; } } } } else { //找到当前位置 UIShortcutSetItemGrid newGrid = m_lstShortcutSetItemGrid.Find((d) => { return(d.itemData.id == itemData.id); }); newGrid.SetGridData(itemData); for (int i = 0; i < m_lstShortcutSetItemGrid.Count; i++) { if (m_lstShortcutSetItemGrid[i].itemData.id == itemData.id) { m_lstShortcutSetItemGrid[i].itemData.itemid = itemData.itemid; } } } }
/// <summary> /// 清除快捷栏选中状态 /// </summary> //void CleanSetItemGridSelectState() //{ // for (int i = 0; i < m_lstShortcutSetItemGrid.Count; i++) // { // m_lstShortcutSetItemGrid[i].SetSelect(false); // m_lstShortcutSetItemGrid[i].clicks = 0; // } //} //void CleanOtherSetItemGridSelectClicks(ShortCuts item) //{ // for (int i = 0; i < m_lstShortcutSetItemGrid.Count; i++) // { // if (item.id == m_lstShortcutSetItemGrid[i].itemData.id) // { // continue; // } // m_lstShortcutSetItemGrid[i].clicks = 0; // } //} void RemoveSetItem(UIShortcutSetItemGrid grid) { ShortCuts itemData = new ShortCuts { id = grid.itemData.id, itemid = 0 }; grid.SetGridData(itemData); for (int i = 0; i < m_lstShortcutSetItemGrid.Count; i++) { if (m_lstShortcutSetItemGrid[i].itemData.id == grid.itemData.id) { m_lstShortcutSetItemGrid[i].itemData.itemid = 0; } } }
/// <summary> /// 交换 /// </summary> void ExchangeItem(uint newIndex, uint newItemId, uint oldIndex, uint oldItemId) { //oldItem 赋最新点击的值 UIShortcutSetItemGrid oldSetItemGrid = m_lstShortcutSetItemGrid.Find((data) => { return(data.itemData.id == oldIndex); }); if (oldSetItemGrid != null) { ShortCuts itemData = new ShortCuts { id = oldIndex, itemid = newItemId }; oldSetItemGrid.SetGridData(itemData); } //newItem 赋上次点击的值 UIShortcutSetItemGrid newSetItemGrid = m_lstShortcutSetItemGrid.Find((data) => { return(data.itemData.id == newIndex); }); if (newSetItemGrid != null) { ShortCuts itemData = new ShortCuts { id = newIndex, itemid = oldItemId }; newSetItemGrid.SetGridData(itemData); } }