์–ด๋А์ •๋„ ์ฐพ์•„๋ณด๊ณ  ์ง€๊ธˆ ์„ค๊ณ„ํ•œ๊ฒŒ


๋ถ€๋ชจ 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 ํƒ€์ž…์œผ๋กœ ์ด๋ฒคํŠธ๋ฅผ ๊ตฌ๋… ํ•˜์—ฌ๋„ ๋ฌด๋ฐฉํ•œ์ง€??
์ •๋„๊ฐ€ ๊ถ๊ธˆํ•จ๋‹ˆ๋‹ค...