๋ฌด๊ธฐ๋ก ํผ๊ฒฉ๋นํ์๋ ์๋ฅผ ๋ค๋ฉด
Weapon ์ถ์ํด๋์ค๋ฅผ Sword ์ถ์ํด๋์ค๊ฐ ์์ํ๊ณ ,
์ค์ ๋ฐ๋ฏธ์ง ๋ฑ ์ ๋ณด๊ฐ ์๋ fireSword ํด๋์ค๊ฐ
Sword ์ถ์ํด๋์ค๋ฅผ ์์ํ๋ค๊ณ ํ์๋
ํผ๊ฒฉ๋นํ๋ ๊ฐ์ฒด์ ํํธ๋ฐ์ค๊ฐ
๋ฐ๋ฏธ์ง ๋ฑ๋ฑ ์ ๋ณด๋ฅผ ๋ฐ์์์ผ ํ๋๋ฐ
OnTriggerEnter(Collider other)
{
//ํ๊ทธ ๋ฑ์ผ๋ก ๊ตฌ๋ถ ํ ๋ค์
??? dmgInfo = other.gameObject.GetComponent<???>();
(...)
}
์ฌ๊ธฐ์ ???๋ฅผ ์ด๋ป๊ฒ ํด์ผ ํ๋ ๊ฑด๊ฐ์?
๋ฌด๊ธฐ๋ง๋ค ์ด๋ฆ์ด ๋ฌ๋ผ์ fireSword, iceAxe ๋ฑ
๋ฌด๊ธฐ ์ค๋ธ์ ํธ์ ๋ถ์ฐฉ๋ ์คํฌ๋ฆฝํธ ์ด๋ฆ์ด ๋ค๋ฅผํ ๋ฐ
์ด๋ฐ ๊ฒฝ์ฐ์ ์ด๋ป๊ฒ ์ ๋ณด๋ฅผ ๋ฐ์์ฌ ์ ์๋์?
Weapon ์ถ์ํด๋์ค๋ฅผ Sword ์ถ์ํด๋์ค๊ฐ ์์ํ๊ณ ,
์ค์ ๋ฐ๋ฏธ์ง ๋ฑ ์ ๋ณด๊ฐ ์๋ fireSword ํด๋์ค๊ฐ
Sword ์ถ์ํด๋์ค๋ฅผ ์์ํ๋ค๊ณ ํ์๋
ํผ๊ฒฉ๋นํ๋ ๊ฐ์ฒด์ ํํธ๋ฐ์ค๊ฐ
๋ฐ๋ฏธ์ง ๋ฑ๋ฑ ์ ๋ณด๋ฅผ ๋ฐ์์์ผ ํ๋๋ฐ
OnTriggerEnter(Collider other)
{
//ํ๊ทธ ๋ฑ์ผ๋ก ๊ตฌ๋ถ ํ ๋ค์
??? dmgInfo = other.gameObject.GetComponent<???>();
(...)
}
์ฌ๊ธฐ์ ???๋ฅผ ์ด๋ป๊ฒ ํด์ผ ํ๋ ๊ฑด๊ฐ์?
๋ฌด๊ธฐ๋ง๋ค ์ด๋ฆ์ด ๋ฌ๋ผ์ fireSword, iceAxe ๋ฑ
๋ฌด๊ธฐ ์ค๋ธ์ ํธ์ ๋ถ์ฐฉ๋ ์คํฌ๋ฆฝํธ ์ด๋ฆ์ด ๋ค๋ฅผํ ๋ฐ
์ด๋ฐ ๊ฒฝ์ฐ์ ์ด๋ป๊ฒ ์ ๋ณด๋ฅผ ๋ฐ์์ฌ ์ ์๋์?
weapon ๋ฐ์ผ๋ฉด ํด๊ฒฐ๋๋๊ฑฐ์๋?
์ ๊ทธ๋ฅ weapon ์ปดํฌ๋ํธ๋ฅผ ๋ฐ์์ฌ ์ ์๋๊ฑด๊ฐ์? ๊ฐ์ฌํฉ๋๋ค
์ ... ๊ทผ๋ฐ ์ธํฐํ์ด์ค๋ ๊ทธ๋ฐ ์์ผ๋ก ํ๋ฉด ๋๋๊ฑฐ ๊ฐ์๋ฐ ์ถ์ํด๋์ค๋ ๊ทธ๋ฐ์ง ๋ชจ๋ฅด๊ฒ ์;; ใ ใ
์ด๊ฑด ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํ๊ฐ๋ฅ...
ใ ใ ์ถ์ํด๋์ค๋ ๊ทธ๋ฐ์์ผ๋ก ๋ถ๋ฌ์ค๋ฉด ๋๊ธดํจ. ํ์ง๋ง ๊ฑ ์ธํฐํ์ด์ค๋ก IDamageSetter ๋ง๋ค์ด์ weapon์์ ๊ตฌํํ๋ ์ชฝ์ ์ถ์ฒ. ๋ฐ๋ฏธ์ง๋ ๋ฌด๊ธฐ๋ฟ๋ง ์๋๋ผ ํํ, ํจ์ , ์ฅํ๊ธฐ, ์์ดํ ๋ฑ๋ฑ ์ด๋์๋ ๋ค์ด์ฌ ์ ์์ผ๋๊น.
์ธํฐํ์ด์ค๋ก ๋นผ๋ด์ ์ฌ์ ์ํ๊ฑฐ๋.. ์์ ํ ์ค๋ฒ๋ผ์ด๋ฉ ํ๊ฑฐ๋...
์ธํฐํ์ด์ค์ ๋ํด ์์๋ด์ผ๊ฒ ๋ค์ ๋ต๋ณ๋ค ๊ฐ์ฌํฉ๋๋ค!