ํ๋ ์ด์ด๊ฐ ์ฌ๋ฌ ๊ฐ์ ์์ ์ค ํ๋๋ฅผ ๊ฐ๋ดํ๋ค. (์ด๋ฒคํธ)
(์ดํ ์์ ๋ด์ฉ์ ๋ฐ๋ฅธ ๋ณด์์ ์ป๋๋ค.)
๋๋ EventManager์ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์งฐ์
ย ย ย public delegate void OpenBoxDelegate(Box boxData);
ย ย ย public static event OpenBoxDelegate OnBoxOpen;
ย ย ย public static void TriggerBoxRewardSet(Stageย boxData)
ย ย ย {
ย ย ย ย ย ย ย ย OnBoxOpen?.Invoke(boxData);
ย ย ย }
๊ทธ๋ฌ๋ฉด ์ด ์ด๋ฒคํธ๋ฅผ ํ๋ ์ด์ด๊ฐ
ย ย ย private void OnEnable()
ย ย ย {
ย ย ย ย ย ย ย EventManager.OnBoxOpen+= GetBoxReward;
ย ย ย }
ย ย ย private void GetBoxReward(Box boxData);
ย ย ย {
ย ย ย ย ย ย (๋ณด์ ๋ฐ๋ ์ฝ๋ ๋ด์ฉ)
ย ย ย }
์ด๋ฐ ์์ผ๋ก ์ธ ๊ฑฐ๋ ๋ง์
๊ทผ๋ฐ UI ์ฒ๋ฆฌ๋ฅผ์ํด์ ์ด ์ด๋ฒคํธ๋ฅผ ๊ตฌ๋ ํ๊ณ ์ถ์ ๋ฉ์๋๊ฐ ๋ ์๋จ ๋ง์ด์ง
ํ์ง๋ง ๊ทธ ๋ฉ์๋๋ Box๋ฅผ ๋งค๊ฐ๋ณ์๋ก ํ์ง ์์
๊ทธ๋ผ ์ฌ๊ธฐ์ ๋ด๊ฐ ํด์ผํ ๊ฑด
1.
๊ทธ๋ฅ ๋งค๊ฐ๋ณ์ ํ์์๋ ๋ธ๋ฆฌ๊ฒ์ดํธ์ ์ด๋ฒคํธ๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด์ค๋ค.
2.
ย ย ย ย ย ย ย ย EventManager.OnBoxOpen+= boxData => RefreshGUI();
๋๋ค์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค
๋ญ๊ฐ ๋ ๋์ ๋ฐฉ์์ผ๊น?
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ต์ ๋ฒ ํจํด์ ๊ณต๋ถํด๋ด์ผ๊ฒ ๋ค์ฉ..
๊ทธ๋ฅ ์ฌ์ฉํ์ง ์๋ ๋ฐ์ค ์ธ์๋ฅผ ๊ฐ์ง ๋ฉ์๋๋ฅผ ๋ฑ๋กํด
1์ ์ ๋ ์์ธ๊ฑฐ๊ฐ๊ณ ๊ทธ๋ฅ ์ ๋ํฐ ์ด๋ฒคํธ ์ธ๋ฏ