public void OnShowBigKnockoutWnd(long nCupID) { m_LegendCupID = nCupID; SingleCompetitionInfo competitionInfo = LogicDataCenter.legendCupDataManager.GetSingleCompetitionInfo(m_LegendCupID); if (competitionInfo == null) { return; } cmd_legendcup_recv_cuplist_node cupBaseData = LogicDataCenter.legendCupDataManager.GetSingleLegendCupNode(m_LegendCupID); if (cupBaseData.nLegendCupID == 0) { return; } // 数据赋值部分 CompetitionBonus.text = ULocalizationService.Instance.Get("UIView", "LegendCupGroup", "CompetitionBonus") + ":" + cupBaseData.nCompetitionBonus; m_RoundID = competitionInfo.headInfo.nRoundID; TitleDes.text = cupBaseData.szCupName; KinNum.text = cupBaseData.nCurrentKinNum + "/" + cupBaseData.nMaxKinNum; itemList = new List <UListItemLegendCupBigKnockout>(competitionInfo.headInfo.nGroupCount); for (int i = 0; i < competitionInfo.headInfo.nGroupCount; i++) { UListItemLegendCupBigKnockout item = new UListItemLegendCupBigKnockout(); item.nLegendCupID = nCupID; if (i >= 0 && i < m_GroupIndex.Count) { item.strGroupIndex = m_GroupIndex[i]; } item.kinVsInfoList = new List <legendcup_kinvsinfo>(); item.competitionNodeList = new List <cmd_legendcup_recv_competition_node>(); foreach (cmd_legendcup_recv_competition_node node in competitionInfo.nodeInfo) { if (node.nRoundID == competitionInfo.headInfo.nRoundID && node.nGroupID == (i + 1)) { legendcup_kinvsinfo info = new legendcup_kinvsinfo(); info.nKin1ID = node.nKin1ID; info.nKin2ID = node.nKin2ID; info.szKin1Name = node.szKin1Name; info.szKin2Name = node.szKin2Name; item.kinVsInfoList.Add(info); item.competitionNodeList.Add(node); } } itemList.Add(item); } LegendCupBigKnockList.OnSelect.RemoveListener(OnSelectCupBigKnockoutItem); LegendCupBigKnockList.DataSource.Clear(); ObservableList <UListItemLegendCupBigKnockout> dataSource = new ObservableList <UListItemLegendCupBigKnockout>(); foreach (UListItemLegendCupBigKnockout item in itemList) { dataSource.Add(item); } LegendCupBigKnockList.DataSource = dataSource; LegendCupBigKnockList.OnSelect.AddListener(OnSelectCupBigKnockoutItem); }
public void OnSelectCupBigKnockoutItem(int index, ListViewItem item) { m_CurSelectIndex = index; m_CurSelectItem = LegendCupBigKnockList.DataSource[index]; m_CurSearchID = 0; SelectImage.gameObject.SetActive(false); Vector2 mousePos = UISystem.Instance.GetMousePos(); UlistComponentLegendCupBigKnockout compGroup = item as UlistComponentLegendCupBigKnockout; foreach (LegendCupCompetitionNodeItem nodeItem in compGroup.NodeItemList) { RectTransform rectTrans = nodeItem.gameObject.GetComponent <RectTransform>(); if (RectTransformUtility.RectangleContainsScreenPoint(rectTrans, mousePos)) { m_CurSearchID = nodeItem.SearchID; SelectImage.rectTransform.SetParent(nodeItem.SelectIconAttach.GetComponent <RectTransform>(), false); SelectImage.gameObject.SetActive(true); Debug.Log("Select Competition Node! LegendCupID = " + m_LegendCupID + ", SearchID = " + m_CurSearchID + ", Kin1ID = " + nodeItem.NodeInfo.nKin1ID + ", Kin2ID = " + nodeItem.NodeInfo.nKin2ID); } } }