/// <summary>
/// 검색할 인자를 dict에 저장한다음에 원하는 것만 불러온다
/// </summary>
/// <param name="name">검색하려는 targetName</param>
public void Search(string name)
{
//idx에 따른 검색 요소가 있는 것들을 List로 저장하기 위해 선언한 변수
Dictionary<int, List<int>> targetdic = new Dictionary<int, List<int>>();
//key 추가
for (int i = 0; i < m_slabList.Count; i++)
{
targetdic.Add(i,new List<int>());
}
//있는지 체크해서 dict에 저장
for (int i = 0; i < m_slabList.Count; i++)
{
List<int> insideIdx = new List<int>();
for (int k = 0; k < m_slabList[i].mySlabs.Count; k++)
{
if (m_slabList[i].mySlabs[k].Contains(name))
{
insideIdx.Add(k);
}
targetdic[i] = insideIdx;
}
}
bool isable = false;
foreach (var x in targetdic)
{
//하나라도 검색할수있으면 가능하다
if (x.Value.Count != 0)
{
isable = true;
break;
}
}
//하나도 없다면 그냥 return
if (!isable)
return;
//dict에 있는 리스트만 활성화하기!!
for (int i = 0; i < m_slabList.Count; i++)
{
if (targetdic[i].Count == 0)
{
m_slabList[i].populateGrid.tmp_SetActiveAllFalse();
}
else
{
m_slabList[i].populateGrid.tmp_SetActiveFalse(targetdic[i]);
}
}
}
댓글 없음:
댓글 쓰기