ํฌ๋ฆฌ์Šค๋งˆ์Šค ์ด๋ธŒ์— ๋ญํ•˜๋Š”๊ฑด๊ฐ€ ์‹ถ๊ธดํ•œ๋ฐ ๊ทธ๋ž˜๋„ ํ•˜๋˜๊ฑด ์ •๋ฆฌ๋ฅผ ํ•ด์•ผ์ง€.

์œ ๋‹ˆํ‹ฐ๋ฅผ ๋ช‡๋…„์„ ๋งŒ์กŒ๋Š”๋ฐ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ „ํˆฌ ๊ด€๋ จ์€ ํ•ด๋ณธ์ ์ด ์—†๋Š”๊ฑฐ๊ฐ™์•„์„œ ๋ณด๋žŒ์žˆ์—ˆ๋‹ค.


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 ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹คํ–‰.




์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ


๋‚จ์€ ํฌ๋ฆฌ์Šค๋งˆ์Šค๋Š” ์œ„์ฒ˜๋‚˜ ํ•ด์•ผ๊ฒ ๋‹ค.