ํ‚ค๊ฐ’์—†์„๋•Œ new List<GameObject>๋กœ ์ƒˆ๋กœ ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค์–ด์„œ
UiWidget์˜ ์ž์‹๋“ค ๋‹ค ๋‹ด์•„์ฃผ๊ณ  ๋‹ด๊ธด ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•ด๋‹น ํŽ˜์ด์ฆˆ ํ‚ค๊ฐ’์˜ value๋กœ ์“ฐ๊ณ ์žˆ๋Š”๋ฐ
ํŽ˜์ด์ฆˆ ๋ฐ”๋€Œ๋ฉด new๋กœ ๋งŒ๋“  list๊ฐ€ ์—†์–ด์ ธ์„œ value๊ฐ’๋„ ๋ฐ”๋€Œ๋Š”๊ฑฐ ๊ฐ™์€๋ฐ
๋Œ“๊ธ€ ๋ณด๋‹ˆ๊นŒ ์ด๊ฒŒ ์–•์€๋ณต์‚ฌ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฐ๊ฑฐ ๊ฐ™์€๋ฐ ๊นŠ์€๋ณต์‚ฌ๋กœ๋Š” ์–ด์ผ€ํ•ด์•ผ๋˜๋ƒ...

์•„๋ž˜๋Š” ์ฝ”๋“œ๋‚ด์šฉ
-----------------------------------------------------------------------------

void ChangePhase(KeyPhase phase)

{

ย  ย  if(CurrentKeyPhase == phase) return;

ย  ย ย CurrentKeyPhase = phase

ย  ย ย selectCurserList.Clear();


ย  ย ย switch(CurrentKeyPhase)

ย  ย ย {

ย  ย ย  ย  ย case A:

ย  ย ย ย  ย ย  ย  ย if(!keyPhaseCurserListDic.ContainsKey(CurrentKeyPhase))

ย  ย  ย  ย  ย  ย ย {

ย  ย  ย  ย  ย  ย  ย  ย  List<GameObject> temp = new List<GameObject>();

ย  ย  ย  ย  ย  ย  ย  ย  for (int i = 0; i < Buttons.transform.childCount; ++i)

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  temp.Add(Buttons.transform.GetChild(i).gameObject);

ย  ย  ย  ย  ย  ย  ย  ย ย keyPhaseCurserListDic[CurrentKeyPhase] = temp;

ย  ย  ย  ย  ย  ย  }
ย  ย  ย  ย  ย  ย ย selectCurserList = keyPhaseCurserListDic[CurrentKeyPhase];
ย  ย  ย  ย  break;
ย  ย  ย  ย ย 
case B:

ย  ย ย ย  ย ย  ย  ย if(!keyPhaseCurserListDic.ContainsKey(CurrentKeyPhase))

ย  ย  ย  ย  ย  ย ย {

ย  ย  ย  ย  ย  ย  ย  ย  List<GameObject> temp = new List<GameObject>();

ย  ย  ย  ย  ย  ย  ย  ย  for (int i = 0; i < systemObject.transform.childCount; ++i)

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  temp.Add(systemObject.transform.GetChild(i).gameObject);

ย  ย  ย  ย  ย  ย  ย  ย ย keyPhaseCurserListDic[CurrentKeyPhase] = temp;

ย  ย  ย  ย  ย  ย  }
ย  ย  ย  ย  ย  ย ย selectCurserList = keyPhaseCurserListDic[CurrentKeyPhase];

ย  ย  ย  ย  break;

ย  ย  }

}

ChangePhaseํ•จ์ˆ˜๋Š” Phase๋ณ€๊ฒฝํ•  ๋•Œ ๋”ฑ ํ•œ๋ฒˆ ํ˜ธ์ถœํ•˜๊ณ  ๋”•์…”๋„ˆ๋ฆฌ๋Š” ์˜ค์ง ์ดํ•จ์ˆ˜์—์„œ๋งŒ ๊ฑด๋“œ๋ ค