์ง€๊ธˆ๊นŒ์ง€๋Š” A๊ฐ€ B๋ฅผ ๊ณต๊ฒฉํ–ˆ์„ ๋•Œ ์˜ค๋กœ์ง€ ์ง์ ‘ ์ ‘๊ทผ์„ ํ†ตํ•ด
A.Attack(B);
์ด๋Ÿฐ ์‹์œผ๋กœ๋งŒ ๊ด€๋ฆฌํ–ˆ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ค‘๊ฐ„์— ๋งค๋‹ˆ์ €๋ฅผ ํ†ตํ•ด์„œ ๊ด€๋ฆฌํ•˜๋Š”๊ฒŒ ๋” ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ์Œ


UnitManager๋ฅผ ์‹ฑ๊ธ€ํ†ค์œผ๋กœ ๋‘๊ณ , Unit ํด๋ž˜์Šค์—์„œ ๊ณต๊ฒฉ์„ ํ•  ๋•Œ๋งˆ๋‹ค ์ด๋ฅผ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด๋ดค์Œ


Class UnitManager






Class Unit





HandleAttack์— ์ฒ˜์Œ ๋“ค์–ด์˜จ damage๊ฐ€ ๊ณต๊ฒฉ์ž A, ํ”ผ๊ฒฉ์ž B์˜ OnAttack, OnDamaged ํŠน์„ฑ์— ๋”ฐ๋ผ์„œ ๊ฐ’์ด ๋ณ€ํ•˜๊ณ  ์ตœ์ข… ๋ฐ๋ฏธ์ง€๋ฅผ B์—๊ฒŒ ๋ถ€์—ฌํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์˜ˆ์ •์ž„

ํ”Œ๋ž˜๊ทธ๋ฅผ ๋งŒ๋“  ์ด์œ ๋Š”
์˜ˆ๋ฅผ ๋“ค์–ด A์™€ B๊ฐ€ ๋‘˜ ๋‹ค ํ”ผ๊ฒฉ ์‹œ 10% ๋ฐ๋ฏธ์ง€๋ฅผ ๋ฐ˜์‚ฌํ•˜๋Š” ํŠน์„ฑ์„ ๊ฐ€์กŒ์„ ๋•Œ, ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉด ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ํ„ฐ์ ธ๋ฒ„๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—
ํ•ด๋‹น ๊ณต๊ฒฉ์˜ ํŠน์„ฑ์„ HandleAttack์— param์œผ๋กœ ๋„˜๊ฒจ์ฃผ๊ณ  ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ




์ผ๋‹จ ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„ํ•ด๋†“๊ธด ํ–ˆ๋Š”๋ฐ ๋งˆ์Œ์— ์•ˆ ๋“œ๋Š” ๊ฒƒ
1. ํ•จ์ˆ˜์™€ ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ ์ง€์ €๋ถ„ํ•จ
2. ๋งค ๊ณต๊ฒฉ๋งˆ๋‹ค Dictionary๋ฅผ ์ƒˆ๋กœ ํ•˜๋‚˜ ๋งŒ๋“œ๋Š”๊ฒŒ ์ฐ์ฐํ•จ.



๋‚˜๋„ ๋‚ด ์ฝ”๋“œ๊ฐ€ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์•„์„œ ํ›ˆ์ˆ˜๋Š” ์–ธ์ œ๋“ ์ง€ ํ™˜์˜์ด์•ผ