๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒŒ์ž„ํ”Œ๋ ˆ์ด๋ฅผ ๋งŒ๋“ค๊ณ ์‹ถ๋‹ค๊ณ  ์น˜์ž :

ํ”Œ๋ ˆ์ด์–ด๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ƒ์ž ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ฐœ๋ด‰ํ•œ๋‹ค. (์ด๋ฒคํŠธ)
(์ดํ›„ ์ƒ์ž ๋‚ด์šฉ์— ๋”ฐ๋ฅธ ๋ณด์ƒ์„ ์–ป๋Š”๋‹ค.)



๋‚˜๋Š” 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();


๋žŒ๋‹ค์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค


๋ญ๊ฐ€ ๋” ๋‚˜์€ ๋ฐฉ์‹์ผ๊นŒ?