Layer๋ก ์ด๋ฐ์์ผ๋ก
ย if (collision.gameObject.layer == LayerMask.NameToLayer("Enemy"))
{
}
๋ ์ด์ด๋ก ์ฒดํฌํ๋๊ฑฐ๋
์ธํฐํ์ด์ค๋กย
IEnemyHealth
IPlayerHealthย
IDamageable damageable = collision.GetComponent<IDamageable>();
if(damageable != null)
{
ย ย damageable.TakeDamage(ammoDetails.ammoDamage);
}
์ด๋ฐ์์ผ๋ก ์ธํฐํ์ด์ค ๊ตฌํํํ์,ย
์ธํฐํ์ด์ค ๊ตฌํํ๊ฑฐ ๋ฐ๋ฏธ์ง ์ ๊ฒํ๋๊ฑฐ๋ ์ด๋ค๊ฒ ๋ ์ข์ ๊ตฌํ์ผ๊น?
IDamageable๋ก ํ๋ ์ด์ด,์ ์ ์์์์ผ์ ๋ฐ๋ฏธ์ง ์ ๊ฒ ํ๋ ๋ฌผ์ฒด๋ง ๋ฐ๋ฏธ์ง ํ์ ์ ๊ฒํ๋ ๊ฒ ํ์ ํ์ฅ์ฑ์ ์๊ฐํ๋ฉด ๋ ์ข์๊น?
์ธํฐํ์ด์ค๋ฅผ ์ฐ๋? ๊ทผ๋ฐ ์ธํฐํ์ด์ค๋ ์ฐ๋ฉด ์คํ๋ ค ๋ ๋ณต์กํด์ง๋๊ฑฐ ๊ฐ๊ธฐ๋ ํ๋ฐ
์ด๋ค๊ฒ ๋ ์ข์ ๊ตฌํ์ผ๊น
์๊ท๋ชจ ๊ฒ์์์๋ ๋ ์ด์ด์จ๋ ์๊ด์๋๋ฐ ๊ท๋ชจ๊ฐ ํฐ ๊ฒ์์ด๋ฉด ์ธํฐํ์ด์ค ์ฐ๋๊ฒ ๋ง๊ณ ๊ธ์ฐ๋๊ฑฐ ๋ณด๋๊น ์ฝ๋ ์ฐ์ต๊ฒธ ๊ฒ์๋ง๋๋๊ฑฐ ๊ฐ์๋ฐ ์ธํฐํ์ด์ค๋ ์ด๋ ค์ด ๊ฐ๋ ๋ ์๋๊ณ ์ต์ํด์ง๋ฉด ์ฝ๋ ์์ฒด๊ฐ ๋ณด๊ธฐ ํธํด์ ธ์ ์ธํฐํ์ด์ค๊ฐ ํจ ๋์ผ๋ ์ธํฐํ์ด์ค๋ก ์์ ํด๋ผ
ํ ,์ผ๋จ ๊ณ ๋ง๋ค.
์ผ๋จ ํฌํด๋ ๊ฒธํด์ ๋ง๋๋๊ฑฐ ๋ง๊ธดํด.
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
ํ ...์ญ์ ์ปด๊ณต ์ ๊ณต์ด ์๋๋ผ ๊ตฌํ ์์ฃผ ๊ตญ๋น์ถฉ์ด๋ผ ๊ทธ๋ฐ๊ฐ๋ค ์กฐ์ธ๊ณ ๋ง๋ค. ๋ ์ด์ด๋ ์ธํฐํ์ด์ค ๋ ๋ง๋๋ก ์ค๋ณต์ ๋ฌธ์ ๋ผ๊ณ ๋ณด๋ ์ข ์ดํด๊ฐ ๊ฐ๋ค