ํฌ๋ฆฌ์ค๋ง์ค ์ด๋ธ์ ๋ญํ๋๊ฑด๊ฐ ์ถ๊ธดํ๋ฐ ๊ทธ๋๋ ํ๋๊ฑด ์ ๋ฆฌ๋ฅผ ํด์ผ์ง.
์ ๋ํฐ๋ฅผ ๋ช๋ ์ ๋ง์ก๋๋ฐ ์๊ฐํด๋ณด๋ ์ ํฌ ๊ด๋ จ์ ํด๋ณธ์ ์ด ์๋๊ฑฐ๊ฐ์์ ๋ณด๋์์๋ค.
1. Enemy, Weapon ์ ๋ณด๋ฅผ ํ ์ด๋ธ๋ก ์ ๋ฆฌ.
ScriptableObject๋ฅผ ์ฐ๋ ค๊ณ ํ๋๋ฐ, ์ญ์ ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ํ๊ตฐ๋ฐ์ ๋ณด๊ธฐ์ ํ ์ด๋ธ๋งํ๊ฒ ์์ด์ CSV๋ก ๊ต์ฒดํจ.
์์ ๋ณด๋ค ๋ญ๊ฐ ์ผ์ด ๋๊ณ ์๋ค.
2. ๋ฌด๊ธฐ ์์คํ ์ ์ ๋ฆฌ.
๋ก์ง์ ๊ฐ๋ฅํ๋ฉด ๊ณตํต๋๊ฒ ์ข๊ธฐ๋๋ฌธ์ ํ๋ ์ด์ด๋ ์ ๋ ๋๊ฐ์ด ๋ฌด๊ธฐ๋ฅผ ๋ค๋๋ก ์ฒ๋ฆฌ.
์ผ๋จ ๊ฐ์ range, delay, damage๋ก ๋ฃ์๋ค.
WeaponObjectBase์ ํต์ฌ์ฝ๋. ์ฟจํ์์ด ์ฐจ๋ฉด ํ๋ฒ์ฉ Attack์ ํธ์ถํ๋ค.
Attack์ abstract๋ก ์ ์ธํ๊ธฐ๋๋ฌธ์ ์์ ํด๋์ค์์ ๊ฐ์ ๋ก ๊ตฌํํ๋ค.
Enemy์ฉ ๋ฌด๊ธฐ๋ก ๋ง๋ค์์ง๋ง ์ฌ์ค ๋ถ์ด๊ธฐ๋ง ํ๋ฉด ํ๋ ์ด์ด ์บ๋ฆญํฐ๋ ์ธ์๋ ์์๊ฑฐ๋ค. ์๋ง๋.
์บ๋ฆญํฐ ๊ณต๊ฒฉ ๋ฐ์ค ํ์. ๋๋ต 0.5์ด๋ง๋ค Attack์ ํธ์ถํ๋ฉด์ ๋นจ๊ฐ ์ ์์ ํ๋ ์ด์ด๊ฐ ์์ผ๋ฉด ๋ฐ๋ฏธ์ง๋ฅผ ๊ฐํ๋ค.
3. ์ ๋ฐ๋ฏธ์ง ๋ฐ ์ฌ๋ง ์ฒ๋ฆฌ.
CharacterObjectBase์ ApplyDamage.
๊ธฐ๋ณธ์ ์ธ ๋ก์ง์ ํ์ฌ์ ์บ๋ฆญํฐ ์ ๋ณด์ ์ฒด๋ ฅ์ ๊น๊ณ , ์ฒด๋ ฅ์ด 0์ด๋ฉด ์ฌ๋ง์ํ๋ก ์ ํํด์ค๋ค.
CharactertObjectBase๋ฅผ ์์ํ๋ CharacterObjectEnmey์ ApplyDamage.
์ถ๊ฐ๋ก ๋ฐ๋ฏธ์ง ํ์๋ฅผ ๋ถ์ด๊ณ , ์ฌ๋ง์์ 0.5์ด ํ์ ์ค๋ธ์ ํธ๋ฅผ ๊บผ๋ฒ๋ฆฌ๋๋ก ์ฒ๋ฆฌ.
์ฌ๋งํ์ง ์์ผ๋ฉด hit ์ ๋๋ฉ์ด์ ์คํ.
์ฒ๋ฆฌ ๊ฒฐ๊ณผ
๋จ์ ํฌ๋ฆฌ์ค๋ง์ค๋ ์์ฒ๋ ํด์ผ๊ฒ ๋ค.
๋ฐฐ์ฐ๊ณ ๊ฐ๋๋ค ๊พธ๋ฒ ๊พธ๋ฒ