์ด๋์ ๋ ์ฐพ์๋ณด๊ณ ์ง๊ธ ์ค๊ณํ๊ฒ
๋ถ๋ชจ weapon์๋ OnBulletFiredEvent๊ฐ ์ ์ธ๋์ด์๊ณ
1 | publicย eventย Action<int>ย OnBulletFiredEvent; | cs |
๋ถ๋ชจ weapon๋ฅผ ์์ ๋ฐ์ ak47์ด Fire ๋ฉ์๋๋ฅผ ์คํ ์ํฌ๋
์ค๋ฒ๋ผ์ด๋ ํ์ง ์์ ๋ถ๋ชจ์ ๋ฉ์๋
1 2 3 4 | publicย voidย PublishFireEvent(intย count) {ย ย ย ย ย ย ย ย OnBulletFiredEvent?.Invoke(count); } | cs |
ย ย
๋ฅผ ์์์ด ํธ์ถํ์ฌ ์ด๋ฒคํธ๋ฅผ ๋ฐํ ํ๊ณ
1 2 3 4 | privateย voidย Awake()ย ย ย ย { ย ย ย ย FindObjectOfType<Weapon>().OnBulletFiredEventย +=ย Fire; } | cs |
Awake ๋จ์์ weapon์ ์ด๋ฒคํธย OnBulletFiredEvent๋ฅผ ๊ตฌ๋
ํ UI๊ฐ
์ด๋ฒคํธ๊ฐ ๋ฐํ๋ ๋๋ง๋ค UI ์ ๋ณด์ ๋ณํ๋ฅผ ์ฃผ๊ฒ ๋๋๋ฐ
์๋์ ์ํ๋๋ผ๊ตฌ์
์์ ๋ฅผ ๋ณด๋ฉด ์ด๋ฒคํธ ๊ตฌ๋
์ Start ๋จ์์ ์ฒ๋ฆฌํ๋๋ฐ Awake ๋จ์์ ์ฒ๋ฆฌํด๋ ๋ฌด๋ฐฉํ์ง?
๊ทธ๋ฆฌ๊ณ
๋ฐํ ์ฃผ์ฒด๋ฅผ ์์๋ฐ์ ์์์ด ๋ฐํ ์ฃผ์ฒด์ ๋ฉ์๋๋ฅผ ์์๋ฐ์ ๋๋ฆฌ ๋ฐํ ํ์์๋ Weapon ํ์
์ผ๋ก ์ด๋ฒคํธ๋ฅผ ๊ตฌ๋
ํ์ฌ๋ ๋ฌด๋ฐฉํ์ง??
์ ๋๊ฐ ๊ถ๊ธํจ๋๋ค...
์ ๋ญ์ผ ๋๋ฒ๊ทธ ๋ก๊ทธ ์ฐ์ด๋ณด๋๊น ๋ค๋ฅธ ๋ฌธ์ ์๋น
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
๋ถ๋ชจ๊ฐ ์ ์ธํ ์ด๋ฒคํธ๋ฅผ ์์์ด ๋ฐํ ํ์๋ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ผ ํ๋ ๊ฐ์ฒด๊ฐ ๋ถ๋ชจ์ ์ด๋ฒคํธ๋ฅผ ๊ตฌ๋ ํด๋ ใฑใ ์์ง ์๋๋ฐ ์ค๋ฅ ํด๊ฒฐํ๊ณ ๋ณด๋๊น ๋๋๊ฑฐ์๋ค์ฌ