์ง๊ธ๊น์ง๋ 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๋ฅผ ์๋ก ํ๋ ๋ง๋๋๊ฒ ์ฐ์ฐํจ.
๋๋ ๋ด ์ฝ๋๊ฐ ๋ง์์ ๋ค์ง ์์์ ํ์๋ ์ธ์ ๋ ์ง ํ์์ด์ผ
์ธ๋ฆฌ์ผ์ด ์คํฌ ๋ฐฐํ ์์คํ ์ ๋ํ์์ ๊ฐ์ง๊ณ ์๋๋ฐ ๊ฑฐ๊ธฐ์ ๊ทธ๋ฅ ๊ฐ์ฒด๋ง๋ค ์คํ ์คํฌ์ ๊ด๋ฆฌํด์ฃผ๋ ์ค๋ธ์ ํธ๋ฅผ ์ผ์ผํ ๋งค๋ฌ์์ค
๊ทธ๋์ ์ ๋๋งค๋์ ๋ฅผ ์๋ง๋ค์๋์ง ๋ฉ๋ ๋ชปํ๊ฒ ์