๋ง๋๋ ค๋ ๊ธฐ๋ฅ :
์์ดํ
์์ด์ฝ์ด ๊ทธ๋ ค์ง ๋ฒํผ์ ๋๋ฅด๋ฉด ์ผ์ ํ๋ฅ ๋ก ํด๋น ์์ดํ
์ ํ๋ํจ.
์ด๋ฌํ ๋ฒํผ์ ์ฌ๋ฌ๊ฐ ์กด์ฌํ๊ณ , ํ๋ฅ ๋ ๊ฐ๊ฐ ๋ค๋ฆ
์ฐ์ GUI ์ค๋ธ์ ํธ๋ค์ด ๋งค๋์ ๋ก๋ถํฐ ์์ด์ฝ ์ด๋ฏธ์ง๋ฅผ ์ ๋ฌ๋ฐ๊ณ
์ด๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํ๊ฒ๋ ์ฝ๋๋ฅผ ์์ฑํจ.
์ด์ ๋ฒํผ์ด ๋๋ฆด ๋ ํ๋ฅ ๊ณ์ฐ๊ณผ ์์ดํ
ํ๋์ ์ด๋ป๊ฒ ํ ์ง ๊ณ ๋ฏผ์ธ๊ฑด๋ฐ..
๋ฐฉ๋ฒ A)
GUI ์ค๋ธ์ ํธ๊ฐ ๋งค๋์ ๋ก๋ถํฐ ์์ดํ
id ๊ฐ๊ณผ ํ๋ฅ ์ ํจ๊ป ์ ๋ฌ๋ฐ๊ณ ,
๋ฒํผ์ ๋๋ฅด๋ฉด ํ๋ฅ ์ฒดํฌ ํ ํต๊ณผํ๋ฉด ์ธ๋ฒคํ ๋ฆฌ์ ํด๋น ์์ดํ
์ ์ถ๊ฐํจ
์ฆ GUI ์ค๋ธ์ ํธ๊ฐ ํ๋ฅ ๊ณ์ฐํ๊ณ ์์ดํ
์ถ๊ฐ๋ ํด์ค
๋ฐฉ๋ฒ B)
๋ฒํผ์ ๋๋ฅด๋ฉด ๋งค๋์ ์์ ์ด๋ค ๋ฒํผ์ด ์๋ํ๋์ง ์ฒดํฌ ํ
์ผ์นํ๋ ๋ฐฐ์ด ์ธ๋ฑ์ค์ ์์ดํ ๊ณผ ํ๋ฅ ์ ๊ฐ์ง๊ณ ๊ณ์ฐํจ
์ด๋ค ๋ฐฉ์์ผ๋ก ํ๋๊ฒ ๋ง๋๊ฑธ๊น
์ด๋์ชฝ์ผ๋ก ํ๋ ์๊ด์๋๊ฑด์ง ์๋๋ฉด ์ด๋ค ํ๋๊ฐ ๋ช
๋ฐฑํ๊ฒ ์ข์๊ฑด์ง ๊ถ๊ธํจ
์ด๋ฒคํธ ์จ์ ํ์ . ๋ฒํผ์ ๋๋ ์๋ ์ด๋ฒคํธ๋ฅผ ํธ์ถํ๊ณ , ๋ฒํผ ์์ฑํ ๋ ๋งค๋์ ์ ์๋ ํจ์๋ฅผ ๋ฒํผ ์ด๋ฒคํธ์ ๋ฑ๋ก๋ง ํด์ฃผ๋ฉด ๋จ UI์ชฝ์ ์ด๋ฒคํธ ์์ฃผ์ฐ๋๊ฒ ๊ฐ์ฒด๊ฐ ๊ฒฐํฉ๋๋ ๋ฎ์์ง๊ณ ๊น๋ํ๋๋ผ
B ๋งํ๋๊ฑฐ์ง? ์คํค ๋กํ
๋งค๋์ ์์ ์ด๋ค ๋ฒํผ์ด ์๋ํ๋์ง ์ฒดํฌํ์ง๋ง๊ณ ๊ทธ๋ฅ ๋ฒํผ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์คํ๋ ํจ์๋ง ๋ฒํผ ์ด๋ฒคํธ์ ์ ๋ฌํด๋๊ณ ๋๋ชฐ๋ผ๋ผ ํ๋ผ๋ ์๋ฆฌ์
UnityEvent ๋ก ์ด๋ฒคํธ ๋ง๋ค๊ณ ๋ฒํผ ์์ฑํ ๋ ์ด๋ฒคํธ๋ ํจ์๋ฅผ AddListener๋ก ๋ถ์ด๋ฉด ๋๋๊ฑฐ ์๋ ?
๋ฒํผ๋ง๋ค ์ฃผ๋ ์์ดํ ์ด ๋ฌ๋ผ์ ๋ช๋ฒ์งธ ๋ฒํผ์ ๋๋ ๋์ง๋ ๋งค๋์ ์์ ์ฒดํฌํด์ผํ ๊ฑฐ๊ฐ์์..
๋ฒํผ๋ง๋ค ์ฃผ๋ ์์ดํ ์ด ๋ฌ๋ผ๋ ๋ช๋ฒ์งธ ๋ฒํผ ๋๋ ๋์ง ๋งค๋์ ์์ ์ฒดํฌํ ํ์๊ฐ ์์ด
๋งค๋์ ์์ GetItem(int id) ์ด๋ฐ ํ๋ฅ ๊ณ์ฐํ๊ณ ์ธ๋ฒคํ ๋ฆฌ์ ์์ดํ ์ ์ถ๊ฐํ๋ ๋ฉ์๋๋ฅผ ํ๋ ๋ง๋ค์ด๋๊ณ ๋ฒํผ์ ItemId ๋ณ์๋ public event Action onClickEvent; ๋์ถฉ ์ด๋ฐ์์ผ๋ก ๋ง๋ค๊ณ ๋ฒํผ์ด ๋๋ ธ์ ๋ onClickEvent?.invoke(ItemId); ์ด๋ ๊ฒ๋ง ํธ์ถํด์ฃผ๋ฉด
ใ ใ ํจ ํด๋ด์ผ๊ฒ ๋ค ๊ณ ๋ง์
๋งค๋์ ์์ ๋ฒํผ์ ๋ณธ์ธ ๋ฉ์๋ GetItem๋ง ๋ฑ๋กํด๋ ๋งค๋์ ๊ฐ ๋ฒํผ ๋ ํผ๋ฐ์ค๋ค์ ๋ค๊ณ ์์ ํ์๋ ์๊ณ ์ธ๋ฑ์ค๋๋ฉด์ ์ฒดํฌํด์ค ํ์๋ ์์์
๊ทธ๋ ๋ค ๊ทธ ์ํ์์ ๊ทธ๋ฅ ๋ฒํผ์ ์์ดํ id ๊ฐ ์ ๋ ๋๊ฒจ์ค์ ์ฒดํฌํด์ผ๊ฒ ์
ใ ใ ใ ๊ทธ๋ ๊ฒํ๋๊ฒ ๋ด๊ฒฝํ์ ์ ์ผ๊น๋ํ์ ํ์ดํ ํด
๋ชฌ์คํฐ๋ ๋ถ๋ชํ์ ๊ทธ ๋ชฌ์คํฐ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ณต๊ฒฉ๋ ฅ ๋งํผ ์ฒด๋ ฅ์ด ๋น ์ง๋ ๊ฒ. ๋ฌธ๊ณผ ์ํธ์์ฉํด์ ๊ทธ ๋ฌธ์ด ๊ฐ์ง ์ขํ๊ฐ์ผ๋ก ์ด๋ํ๋ ๊ฒ ์์ดํ ์์์ ์ํธ์์ฉํด์ ๊ทธ ์์ดํ ์์๊ฐ ๊ฐ์ง ์์ดํ ์ ์ป๋ ๊ฒ ๋ชจ๋ ๊ฒ๋ค์ด ๊ตฌ์กฐ์ ์ผ๋ก๋ ๋ค๋ฅด์ง ์์.