์๋ ์ ๊ฐ ์ฑ์ทจํ๋ ค๋ ๋ฐ์ ๋๋ค.
RPG๊ฒ์์ ์ก๋ชน์ ๋์ ๋ง๋ค๊ณ ์์ฑํ ๋ ๋ฐ์ดํฐ๋ ScriptableObject์์ ์ฝ๋ ํํ๋ก ๋ง๋ค์ด๋จ์ต๋๋ค.
์ฌ๊ธฐ์ ์คํฌ์ ์ฃผ๋ ค๋๋ฐ,
์คํฌ ์ข ๋ฅ๊ฐ ์ฌ๋ฌ๊ฐ๊ณ ๋ฐ๋์๋์๊ณ ํด์
์ ๋ ํด๋์ค์ ๊ตฌํ ์ํ๊ณ ScriptableObject์ ๋ฃ์ผ๋ ค๊ณ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์คํฌ ์ฌ๋ฌ๊ฐ์ง๋ฅผ ๋ค ๋ฐ๋ก ๊ตฌํํ๋๊ฑฐ๋ณด๋ค๋
Skill ์ถ์ํด๋์ค๋ฅผ ๋ง๋ค์ด์ ์คํฌ ๊ท์น์ ๋ง๋ค๊ณ
Skill ํด๋์ค๋ฅผ ์์ํ๋ ์ง์ง ์คํฌ์ด ๋ด์ฉ๋ฌผ์ ๋ด๋๋ก ํ์ต๋๋ค.
ScriptableObject์ ๋ฑ๋กํ๋ ค๋ฉด Monobehaviour์ฌ์ผ ํ๋๊ฑฐ๊ฐ์์ ์ถ์ํด๋์ค์ Monobehaviour๋ฅผ ์์์์ผฐ์ต๋๋ค.
์ด๋ ๊ฒ ํ๋๊น ScriptableObject์๋ Skill ์ด๋ผ๋ ์ถ์ํด๋์ค๋ง ๋ค์ด๊ฐ์ง๊ณ ๊ทธ๊ฑธ ์์ํ๋ ํด๋์ค๋ ์๋ค์ด๊ฐ์ง๋๋ค.
C# ๋ฌธ๋ฒ ์ถ์ํด๋์ค๋ฅผ ์์๋ฐ์ ํด๋์ค๋ ์ถ์ํด๋์ค์ฒ๋ผ ์ ์ธ ๊ฐ๋ฅํด์ ์ ๋ํฐ๋ ๋น์ทํ๊ฒ ๋ ์ค ์์์ต๋๋ค.
๊ทธ๊ฒ ์๋๋ฉด ์๋ง ์ด๋ฐ์์ผ๋ก
ScriptableObject์๋ ๊ณ ์ ID๋ฑ์ ๋ด๊ณ
์ ๋Class์์ ์ ๋ํฐ์ ๋์์์ด ์ฒ๋ฆฌํ๋ฉด ๋ ๊ฑฐ๊ฐ์๋ฐ
์ด๋ฌ๋ฉด ์คํฌ ์๋ณ์๋จ๋ ๊ตฌ๋นํด์ผํ๊ณ ์ ๋Class ๋ด์ฉ๋ ๊ธธ์ด์ง๊ณ ํด์
ํน์ ๋ณดํต ์ฐ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋๊ฑด์ง ๊ถ๊ธํฉ๋๋ค.
๋ฒ๋ฅด์ฅ๋จธ๋ฆฌ์์ด ์ง๋ฌธ์ด ๊ธธ์ด ์ฃ์กํฉ๋๋ค.
๋ณธ๋ฌธ ๋ด์ฉ์ค์ ScriptableObject์ ๋ฑ๋กํ๋ ค๋ฉด Monobehaviour์ฌ์ผ ํ๋๊ฑฐ๊ฐ์์ ์ถ์ํด๋์ค์ Monobehaviour๋ฅผ ์์์์ผฐ์ต๋๋ค ๋ผ๋ ๋ถ๋ถ์ด ๋ฌด์จ ๋ง์? Monobehaviour๋ฅผ ์์ ์์ํค๋ฉด ์ธ์คํํฐ์ ์๋ํ๋๋ค๋ ๋ป์?
๋ค ๊ทธ๋ฐ ๋งค์ฐ ์ด๋ณด์ ์ธ ์ด์ ์์ต๋๋ค.
์ธ์คํํฐ๋ก ์คํฌ์ ์ ๋ ฅ๋ฐ๊ณ ์ถ๋ค๋ฉด ๊ทธ๋ฅ ์คํฌ์ ํ๋ฆฌํน์ผ๋ก ๋ง๋์ , ์๋๋ฉด ์คํฌ๋ scriptableObject๋ก ๋ง๋ค์ ์์
prefab์ผ๋ก ๋ง๋ค๋ฉด GameObject๊ฐ ๋๋๊ฑฐ๋ผ๊ณ ๋ด๋ ๋๋๊ฑฐ์ฃ ?
ใ ใ ใ ใ ๋น ๊ฒ์์ค๋ธ์ ํธ์๋ค๊ฐ ์คํฌ ์ปดํฌ๋ํธ๋ง ๋ฃ์ด๋๊ณ ์ฌ์ฉํ ๋๋ ๋ณต์ ํ์ง ์๊ณ ์ฐธ์กฐ๋ง ํด์ ์ฐ๋ ์. ์ด๊ฑฐ๋ scriptableObject๋ ๋ค๋ฅผ๊ฒ ์์
ํน์ Monobehaviour ๊ฐ์ ํด๋์ค๋ฅผ ์์ํ๊ณ ์ถ์ง ์๋ค๋ฉด ์คํฌ๋งค๋์ ๊ฐ์ ๊ด๋ฆฌ์ฉ ํด๋์ค ๋ง๋ค์ด์ string์ด๋ enum์ด๋ ํค๊ฐ ๋ฃ์ผ๋ฉด ํค์ ๋ง๋ ์คํฌํด๋์ค ๋ฐํํ๋๋ก ์ง์ค์๋ ์์ ์คํฌ1 = ์คํฌ๋งค๋์ .Get(ํค๊ฐ) ์ด๋ฐ์์ผ๋ก ๊ฐ์ ธ์ค๊ฒ๋ ์ด๋ ๊ฒ ํ๋ฉด ๋์ค์ ์บ๋ฆญํฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ด์ฐจํผ string์ผ๋ก ์ ์ฅํด์ผ๋๋๊น ์ข ๋ ํจ์จ์ ์
ScriptableObject๋ก ๋ง๋ค์ด๋ณด๋ ค๊ณ ์จ๋ฆํด๋ดค๋๋ฐ abstract class๋์ ์ ์๋ง๋๊ฑฐ๊ฐ๋ค์.. ๋ท ๋๊ธ๋๋ก SkillManager ํด๋์ค๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด์ ๊ด๋ฆฌํ๋๊ฒ ๋ง๋๊ฑฐ๊ฐ์์.
ํด๋์ค์์ [System.Serializable]์ด๋ผ๊ณ ์จ๋ด... ๊ทธ๋ผ ์ธ์คํํฐ์ ํด๋์ค ๋ณด์ผ๊บผ์ผ
๋๊ฐ์๊ฒฝ์ฐ๋ ๋ฒ ์ด์ค์คํฌ์ ์ถ์so๋ก ๋ง๋ค๊ณ , ์คํฌ์ ์์๋ฐ๋ ์์์คํฌso๋ฅผ ์ฌ๋ฌ๊ฐ ๋ง๋ค์์ด. ๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ์คํฌso์๋ ์คํฌํ๋ฆฌํน(๋ชจ๋ ธ๋นํค์ด๋น์ด) (ํํฐํด, ๋ฐ๋ฏธ์ง์ฒ๋ฆฌ ์คํฌ๋ฆฝํธ)๋ฅผ ํ ๋นํด๋จ์ด - dc App