์ง๊ธ ์์ ํ๋ RPG ๋๋์ ๊ฒ์์์๋
์์ดํ ์ฅ์ฐฉ๊ณผ ํ๋ ์ด์ด์ ๋ฅ๋ ฅ์น๋ฅผย ๋ด๋นํ PlayerStatus์ย
์ ๋ ฅ์ ๋ฐ์์ ์บ๋ฆญํฐ๋ฅผ ์์ง์ด๊ณ ๊ณต๊ฒฉ ํํผ๋ฑ์ ๋ด๋นํย PlayerMovement ๋กย
๋๋๊ณ ์๋๋ฐ
ย ๊ฐ์๋ฅผ ๋ณด๋ค๋ณด๋ ์ด๋ค ๋ถ์ ํ๋ ์ด์ด ๋ฅ๋ ฅ์น๋ ๊ฒ์๋งค๋์ ๋ก ๋ณด๋ด๊ณ
์ฅ์ฐฉ๋ง ๋ฐ๋ก EquipmentManager ํด๋์ค๋ก ๋ฝ์ ๋๊ฑฐ๋
์์ง์ด๋๊ฑฐ์ ๊ณต๊ฒฉ๊ด๋ จ ๊ธฐ๋ฅ์ ๋ถํ ํ ์ฌ๋๋ ์๊ธธ๋ ย ๋ค๋ฅธ๋ถ๋ค์ ์ด๋ป๊ฒ ํ์ จ๋ ๊ถ๊ธํ๋ค์
ํ๊ตฐ๋ฐ๋ชฐ์๋๋๊ฑฐ์ ์ฅ์ ๋์๊ณ , ๋๋๋์ฅ์ ๋ ์๊ณ , ๋์ค์ ๊ฐธ๊ฐ ๊ฐธ์. ๊ทธ๋ฅ ์ด๊ฒ์ ๊ฒํด๋ณด๊ณ ์ ํธํ๋๊ฑธ๋ก ๊ฐ์ผ
๊ฐ๊ธ์ ์ฝ๋๋ ๊ธฐ๋ฅ๋ณ๋ก ์ธ๋ถํํด์ ๋๋๋๊ฒ์ ๊ถํจ. ๊ฐ์ ํด๋์ค๋ผ๋ partial ์ ์ด์ฉํด์ ๋๋๊ธฐ๋ฅผ. ๋์ธ๋ฌ ์ง๋๋ฉด, ๋ด ์ฝ๋ ๊ธฐ์ต์ด ์๋ ์์ค ์ฐพ์๋ณด๋ ๊ฒฝ์ฐ๊ฐ ํ๋คํจ. ๊ทธ๋์ ๋นจ๋ฆฌ ์ฐพ๊ธฐ์ํด์, ๊ฐ๋ ์ฑ ๋์ด๊ธฐ์ํด์ ์ต์ข ์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌ ํธํ๊ธฐ ์ํด์ ๋๋์ด์ผ ํจ.
๊ทธ๋ฅ ๋ต์ ๋ด๋ ค์ค๊ฒ. ์ผ๋จ Player๋ผ๋๊ฑด ๋๋ฅผ ๋งํ๋๊ฑฐ์ผ ๋. ์บ๋ฆญํฐ๊ฐ ์๋๊ณ . ์ด๋ฆ ์น๋ค ๋บด. Unit์ด๋ผ๊ณ ํด. ๊ทธ๋์ผ ๋ช ํํด.
์์ดํ ์ ์์ดํ ์ด๊ณ ์์ดํ ์ด ๋ค์ด๊ฐ ์์ดํ ์ธ๋ฒคํ ๋ฆฌ๋ ๋ ๋ฐ๋ก์๊ฒ ์ง. ๊ฒ์์ ๋ฐ๋ผ ์ธ๋ฒคํ ๋ฆฌ๋ ํต์ ํ๋์์. ๊ทธ๋๋ ์๊ด ์์ด ์ธ๋ฒคํ ๋ฆฌ๋ ์บ๋ฆญํฐํํ ๋ถ๋๊ฑฐ์ผ. ์ธ๋ฒคํ ๋ฆฌ๋ ๋ณ๋๋ก ์ง๊ณ , ๊ทธ ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ์ ๋ํํ ์ฃผ๋ฉด ๊ทธ ์ ๋์ ์ธ๋ฒคํ ๋ฆฌ๊ฐ ์๋ ์ ๋์ธ๊ฑฐ์ผ. ๊ทธ๋ฆฌ ์์. ์ด๋์ด๋ผ๊ณ ํ๋๋ฐ ๊ทธ๋ฅ ์ปจํธ๋กค๋ฌ๋ผ๊ณ ํ์ณ. ์ปจํธ๋กค๋ฌ๋ ๊ทธ ์ ๋์ ์กฐ์ข ํ๋ ์ฅ์น์ผ. ๋ฐ๊ณ ๋น๊ธฐ๊ณ ์์ง์ด๊ณ ์ ๋๋ฉ์ด์ ์ปจํธ๋กคํ๊ณ ํ์ฌ๊ฐ ์กฐ์ข ์ ์ปจํธ๋กค๋ฌ์์ ๋ค ํด. ์ธํ์ AI๊ฐ ์๋์ผ๋ก ์์ง์ด๊ฒ ํ๋๊ฒ์ผ์๋ ์๊ณ , ์ ์ ๊ฐ ํค๋ง๋ก ์์ง์ด๋๊ฑฐ์ผ์๋ ์์ด. ์ธํ์ ๋ฐ๊ณ ์์ง์ผ ์ ์๋ ์คํ์ผ๋ก ์ปจํธ๋กค๋ฌ๋ฅผ ๋ง๋ค์ด. ๋์ถฉ Movement(Vector3 direction)๋ฐ์๋ก ๋ง์ด์ผ.
์ธํ๊ฐ์๋ฐ์ PlayerInput์ด๋ฐ์์ผ๋ก Player๋ฅผ ๋ถ์ด๋๊ฑฐ์ผ. Player๊ฐ ๋์ผ. ๋๊ฐ ์บ๋ฆญํฐ ์ด๋ป๊ฒ ์์ง์ผ์ง๋ฅผ PlayerInput์์ ์ ์ํด. ํค๋ง๋ ์กฐ์ด์คํฑ์ด๋ ๊ฑฐ๊ธฐ์ ๋ค์ด๊ฐ๋ฉด ๋๊ณ ๊ทธ๊ฑธ๋ก "๊น์ฒ ์(Unit).Controller.Movement(InputDir)"์๋ด์์ผ๋ก ์์ง์ด๋ฉด ๋๋๊ฑฐ์ผ. ๊ทธ๋ผ ์ด๋์ ์บ๋ฆญํฐ๋ฅผ ์์ง์ผ์ง ๋ช ํํด์ก์ง? ์ ๊ทธ๋ผ ๊น์ฒ ์๊ฐ ํผ๋์ ๊ฑธ๋ฆฌ๋ฉด ์ด๋ป๊ฒํ ๊บผ์ผ. Movement ํจ์์์ ์ธํ ์ฉ๊น๊ณ ๊ทธ๋ฅ ์ง ์์ง์ด๊ณ ์ถ์๋ฐ๋ก ์์ง์ด๋, PlayerInput์์ ์ํ ์ฒดํฌํด์ ์ธํ์ ๋์ง์ง๋ง๋ ๊ทธ๊ฑด ์์์ ํด. ์ด์ฐ๋๋ ์ฐข์ด.
์คํฏ? UnitStatus์์. ๊ทธ๋ผ Unit์ ๊ฒ์์ ์ต์๋จ์์ผ. ๊ทธ๋ผ NPC๋ ์คํ ์ด ํ์์๊ฒ ๋ค. ํ์ํ๋๋คํํ ๋ฌ์์ค ์ ์๋๋ก ํด. Stat์์ ํด์ผ๋ ๊ฑด ๋ญ์ผ. ์ ์ฅ์ด์ง? ๊ทธ๋ฆฌ๊ณ ๊ณ์ฐ์์์ผ. ๋ฑ ๋งํ๋๋ก ํด. BaseStat์ด ์๊ณ , ItemStat์ด ์๊ณ ActiveStat์ด ์๊ณ Result๊ฐ ์๋๊ฑฐ์ผ. BaseStat์ ๊ทธ๋ฅ ๊ธฐ์ด์คํ ์ด๊ณ ์์ดํ ๋จผ์ ๋ํ๋ค์ ์์ดํ ๋ฐฐ์จ๊ณฑํด. ๊ทธ๋ค์ ์คํฌ์คํฏ๋ํ๊ณ ์คํฌ์คํฏ ๊ณฑํด. ๊ทธ๊ฒ ์ต์ข ๊ฒฐ๊ณผ์ผ. ๋ ์ชผ๊ฐ๊ณ ์ถ์ผ๋ฉด ํจ์๋ธ๋ ๋ญ๋ ์ฌ๋ฌ๊ฐ๋ก ๋ ์ชผ๊ฐ์ ๊ณ์ฐ์์๋ง ๋ฑ ์ ํด. ์๊ฒ ์ด? ๊ทธ๋ผ ๊ณ์ฐ์ด ์ฌ์์ง๊ณ ๋ช ํํด์ง๊ฑฐ์ผ.
์์ดํ ? ์์ดํ ์ ์์ดํ ์ด์ง. ์์ดํ ์ด ๋ค์ด๊ฐ๋๊ณณ์ ์ธ๋ฒคํ ๋ฆฌ๊ณ . ๊ทธ๋ผ ์ ๋์ ์์ดํ ์ธ๋ฒคํ ๋ฆฌ ํ์ํ๋ฉด ๋ฃ์ด์ค. ์์ดํ ์ธ๋ฒคํ ๋ฆฌ๋? ์์ดํ ๋ฃ๊ณ ๋บด๋๊ธฐ๋ฅ๋ง ์์ผ๋ฏ ๋. ์ฝ์ง. ์คํฌ์? ์คํฌ๋ ์์ดํ ์ด๋ ๋น์ทํด. ์คํฌ์ธ๋ฒคํ ๋ฆฌ์ ์คํฌ ๋ฃ์๋ค ๋ป๋ค ํ ์ ์๊ฒ ํด์ค. ์ํ์ด์? ์ํ์ด์๋ ๋ฐ๋ก ๋นผ. ์ฌ๊ธฐ์ ์ฃผ์ํ ๊ฑด CC์ผ. ๊ตฐ์ค ์ ์ด. ์ปจํธ๋กค ๋ถ๊ฐ. ์ด๋ ๋ถ๊ฐ. ๊ณต๊ฒฉ ๋ถ๊ฐ. ์คํฌ ๋ถ๊ฐ 4์ข ๋ฅ์ ์ ๋์ํ๋ฅผ CC๋ผ๊ณ ๊ตฌ๋ถํด๋๋ฉด ํธํด. ์๋ฅผ๋ค์ด ์คํด์ ์ปจํธ๋กค๋ถ๊ฐ. ์ด๋๋ถ๊ฐ. ๊ณต๊ฒฉ๋ถ๊ฐ. ์คํฌ๋ถ๊ฐ์ธ๊ฑฐ์ผ. ๋๋ฐ์? ์ปจํธ๋กค๋ถ๊ฐ, ์คํฌ๋ถ๊ฐ์ธ๊ฑฐ์ผ. ์ฝ์ง? ๋๋จธ์ง ์์์ ๊ณ ๋ฏผํด์ ์ง๋ฉด ๋. ์ด๊ฒ ๊ธฐ๋ณธ์ด์ผ.