๋ค์ํ ๊ณต๊ฒฉ๋ฐฉ์(ํํธ์ค์บ, ํฌ์ฌ์ฒด, ๋ค์ค๋ฐ์ฌ ๋ฑ๋ฑ)์ ๊ตฌํํ๋ ค๊ณ
๊ฐ์ attack()์ ๊ฐ์ง๋ IAttack์ ๋ง๋ค์ด๋๊ณ (monobehaviour X)
์ด๊ฑธ ๊ฐ ๊ณต๊ฒฉ๋ฐฉ์๋ค์ด ์์๋ฐ์์ ์ฌ์ฉํ๊ฒ ํ๋ ค๋๋ฐ
๊ฒฐ๊ตญ ์ธํ ๋ฐ๋๊ฑฐ์ ์ปดํฌ๋ํธ๋ก ์ฐ๊ฒฐํด์ค์ผ ํ๋๋ฐ...
new๋ก ์ผ์ผํ ์ฐ๊ฒฐํ ๊ฑฐ๋ฉด ์ด๋ ๊ฒ ๊ตฌ๋ถํ ์ด์ ๊ฐ ์๋๊ฑฐ ๊ฐ๊ณ
๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์์๊น์? SO๋ ์ด๋ด๋ ํ์ฉ๊ฐ๋ฅํ ๊น์ ์ค๋ธ์ ํธ? ๊ฐ์ฒด? ์ทจ๊ธ์ธ๊ฑฐ ๊ฐ๊ธด ํ๋๋ฐ..
๊ทธ๋๊น ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค์๋๋ฐ ๊ทธ๊ฑธ new๋ก ์ผ์ผ์ด ๋ถ๋ฌ์จ๋ค๊ณ ์?
์๋จ ๊ทธ ๋ฐฉ๋ฒ์ ํ์คํ ์ธํฐํ์ด์ค ์ฐ๋ ์๋ฏธ๋ ์๊ณ ์๋ง์ ๋ฐฉ์๋ ์๋๊ฑฐ ๊ฐ์์ ์์ monobehaviour๋ฅผ ๋ถ์ด๋๊ฒ ๋์๊น์, ์๋๋ฉด scriptableObject ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๋ค๊ณ ๋ค์ด์ ์ด๋ ๋ฐฉ์์ด ์ฌ๋ฐ๋ฅธ์ง ๋ชจ๋ฅด๊ฒ ์ด์ ์ง๋ฌธํด๋ด ๋๋ค
@ใ ใ (220.123) ์ธํ์๋ค ์ฐ๊ฒฐํ๋ค๋ ๊ฒ ๋ญ ๋งํ๋ ๊ฑด์ง ์ ํํ ๋ชจ๋ฅด๊ฒ ์ด์ - dc App
@๋์งํธ์ด๋๋ฒค์ฒ ์ง๊ธ ์์ฑํ๊ณ ์๋ ๊ตฌ์กฐ๊ฐ ๊ณต๊ฒฉ-๊ณต๊ฒฉ ์ข ๋ฅ๋ง๋ค ๊ตฌํํ๊ธฐ ์ํด์ ์์ ์ธํฐํ์ด์ค ์์. ์ปจํธ๋กค๋ฌ-์ธํ์์ ๋ฐ์์ด, ๊ณต๊ฒฉ ์ปดํฌ๋ํธ ์ฐธ์กฐํด์ m1์ธํ์ ๊ณต๊ฒฉ ์ปดํฌ๋ํธ->ํจ์ํธ์ถ ์ด ๊ตฌ์กฐ๋ฅผ ์๊ฐํ๊ณ ์๋๋ฐ, ํ์ฌ ๊ณต๊ฒฉ ์ปดํฌ๋ํธ๊ฐ ๋ชจ๋ ธ๋นํค๋น์ด ์๋ ์ํ๊ธฐ ๋๋ฌธ์ ์ปดํฌ๋ํธ์ ๋ฃ๋ ๋ฐฉ๋ฒ์ 1) ๋ชจ๋ ธ๋นํค๋น์ด ๋ถ์ด๊ธฐ 2) ์คํฌ๋ฆฝํฐ๋ธ ์ค๋ธ์ ํธ๋ก ๊ตฌํ? 3) ๋ค๋ฅธ ๋ฐฉ๋ฒ์์ ํท๊ฐ๋ฆฌ๊ณ ์์ต๋๋ค.. ์๋๋ฉด ์์ ๊ตฌ์กฐ์์ฒด๊ฐ ํ๋ ค๋จน์๊ฑฐ ๊ฐ๊ธฐ๋ ํด์
@ใ ใ (220.123) ์ ๊ฐ์ ๊ฒฝ์ฐ์ actor๋ผ๊ณ ๋ถ๋ชจ ํด๋์ค ๋ง๋ค์ด๋๊ณ ๊ทธ actor๋ผ๋ ํด๋์ค ์์ ๋ attack ์ ์์ ์ถ์ํด๋์ค๋ก ๋ง๋ ํ์ ๊ตฌํ์ ์์ํด๋์ค๊ฐ ํ๋๋ก ํ์ด์ ์ด๋ ๊ฒ ํ๋ฉด actor์ ํจ์๋ฅผ ๋ถ๋ฌ์ค๋ ๊ฒ๋ง์ผ๋ก๋ ์์๋ค์ ํจ์๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๊ฑฐ๋ ์
์ธํ -> ์คํฌ ์กํฐ๋ฒ ์ดํธ ์ด๋ฒคํธ ์ธ๋ณดํฌ ์คํฌ ์กํฐ๋ฒ ์ดํธ ๊ตฌ๋ ํ ์ ๋ค ๊ณจ๊ณ ๋ฃจ ๋ค ์ฒ๋ฆฌ ์ด๋ฌ๋ฉด ๋์ง ์์ด? ๋ชจ๋ ธ๋นํค์ด๋น์ด, SO ์ด์ ์ ๋ฌธ์ ๊ฐ์
์ ๊ณต๊ฒฉ ๊ตฌํ์ด๋ฉด ์ฐจ๋ผ๋ฆฌ ์ก์ ์ผ๋ก ๋ง๋ค์ด์ ์ผ๊ด์ฒ๋ฆฌ ํ๋๊ฒ ์ข์๊น์?
์ ์ FSM ์ฐ๊ณ ์๋์ฌ? ์ FSM ์ดํ ์คํ ์ดํธ์์ ์ผ๊ด ์ฒ๋ฆฌํจ ์ ์ ๊ตณ์ด ์ด๋ฒคํธ๊น์ง ์ ์จ๋ ๋๋ ๊ตฌ์กฐ๋ผ..
์ฌ์ค ํด๋น ๊ตฌ์กฐ๋ ํ๋ ์ด์ด ๊ณต๊ฒฉ ์ฒ๋ฆฌ์ฉ์ผ๋ก ์ฐ๋ คํ์ด์ ํํธ์ค์บ ๋ฌด๊ธฐ๋ฅผ ์ป์ผ๋ฉด ํํธ์ค์บ ์ฒ๋ฆฌํ๋ hitscanAttack์ผ๋ก ๋ฐ๊ฟ๋ฒ๋ฆฌ๊ณ , ํฌ์ฌ์ฒด ๋ฌด๊ธฐ ์ป์ผ๋ฉด projectileAttack์ผ๋ก ๋ฐ๊พธ๋? ๊ทธ๋ฐ๊ฑธ ์๊ฐํ๊ณ ํ๊ฑฐ๋ผ
์คํฌ๋ฆฝํฐ๋ธ์ค๋ธ์ ํธ๊ฐ ๋ญ๋ผ๊ณ ์๊ฐํ๋๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ ๊ทธ๊ฑด ๊ทธ๋ฅ ๋ฐ์ดํฐ์ํธ์ผ๋ฟ์
์ฒ์๋ถํฐ ์๋ ์๋๊ฑธ ํ์ฉํ๊ฑฐ๋ ๊ฐ์ฅ ํฉ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋ง๋ค๊ฒ ๋ต์๊ณ ์ด๊ฑฐ์ ๊ฑฐ ์ฐพ์๋ณด๊ธฐ๋ง ํ๋ค๊ฐ ์๋ฌด๊ฒ๋ ๋ชป๋ง๋ค๊ณ ์๋๊ฒ๋ณด๋ค ์ผ๋จ ์์ ์ ๋ฐฉ๋ฒ๋๋ก ๋ง๋ค์ด๋ณด๊ณ ๊ฑฐ๊ธฐ์๋ถํฐ ๊ฐ์ ํด๋๊ฐ๋๊ฒ ํจ์จ์ ์ด๋ค. ๋์ค์ ๊ทธ๋๊น์ง ๋ง๋ ๊ฑฐ ๋ค ๋ฒ๋ฆฌ๊ณ ์๋ก ๋ง๋ค๋๋ผ๋ ๊ทธ ๊ณผ์ ์ด ์ ๋ถ ๊ฒฝํ์ผ๋ก ์์ธ๋ค
์ธํ์ด new๋ก ์ธ์คํด์ฑํ ๊ฐ Attack() ๊ณต๊ฒฉ๋ฐฉ์ ๊ตฌํ์ฒด๋ค์ ์ ํ์๋ ์๊ณ Player๋ผ๋์ง Weapon์ด๋ผ๋์ง ๊ตฌํ์ฒด IAttack์ ๊ฐ์ง๊ณ ์๋ ์์ ์ปดํฌ๋ํธ๋ง ์๋ฉด ๋์ง์์๊น์? ์ธํ ์ก์ ์ด ์์ ์ปดํฌ๋ํธ์ (IAttack ๊ตฌํ์ฒด).Attack()๋ฅผ ํธ์ถํ๋๋ก