์๋ ์ง์ง ๊ฐ๋จํ๊ณ ์ด์ฉ๋ฉด ์ด์ฒ๊ตฌ๋ ์๋ ์ง๋ฌธ์ธ๋ฐ....
์ฐ๋ฆฌ๊ฐ ๋์ ์ผ๋ก ๊ฐ์ฒด ์์ฑํ ๋์๋ ์คํฌ๋ฆฝํธ์์๋ new ํค์๋๋ก ์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์์.
๊ทผ๋ฐ ์ด๊ฑธ ์ ์ ์ผ๋ก ๋ง๋๋ ค๊ณ ํ๋ฉด ์ด๋ป๊ฒ ํด์ผํ์ง?
์กฐ๊ธ ๋ ํ์ด ์ค๋ช ํ์๋ฉด.... ํ์ด์ด๋ผํค์์ Create Empty ๋ง๋ค์ด์ ์คํฌ๋ฆฝํธ ์ง์ด๋ฃ์ด์ ๋ง๋๋ ๊ฐ์ฒด ๋ง๊ณ ๊ทธ๋ฅ ์คํฌ๋ฆฝํธ์ ๊ฐ์ฒด.
๊ผญ ์๋ก์ด ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ค๋ฉด ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค์ด์ ๋ฌ์์ค์ผํ๋?
์๋ฅผ๋ค๋ฉด ์ด๋ฐ๊ฑฐ์ผ
์ด๋ค ๋ชฌ์คํฐ A๊ฐ ์๊ณ ์ด ๋ชฌ์คํฐ๋ฅผ ์ก์ผ๋ฉด ๋จ์ดํธ๋ฆด ์์ดํ
์ ์ง์ ํด์ฃผ๊ณ ์ถ์ด. ๊ฐ๋ น ๊ณ ์ฒ ํํธx1, ์ฒ ๊ด์x2์ด๋ ๊ฒ ๋จ์ดํธ๋ฆฐ๋ค๊ณ ๊ฐ์ ํด๋ณด์.
๊ทผ๋ฐ ์ด๊ฑธ ๋จ์ํ ์๋ฅผ ์ฃฝ์ฌ์ ์ป์ ์ ์์ ๋ฟ ์๋๋ผ, ์๋ฅผ๋ค๋ฉด ์๋งค์น๊ธฐ ๊ฐ์ ์คํฌ์ ํ์ฉํด์๋ ํ๋ํ ์ ์๊ฒ๋ ํ๊ณ ์ถ์ด. ๊ทธ๋ฌ๋๊น ์ด ๋ชฌ์คํฐ ๊ฐ์ฒด์ ๊ณ ์ ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์ถ์๊ฑฐ์ง.
๊ทธ๋ฌ๋ฉด ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด์ ์ด ์์ดํ ๋ค์ ์ง์ด๋ฃ์ด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋๋ฐ ์ด๊ฑธ ์ ์ ์ผ๋ก ๊ตฌํํ๊ณ ์ถ์๊ฑฐ์ผ.
๊ทผ๋ฐ ๊ทธ๋ ๋ค๊ณ ์์ดํ ํ๋ฆฌํน์ ๋ง๋ค์ด์ ์์ ์ปดํฌ๋ํธ๋ก ๋ฌ์์ฃผ๊ณ ์ถ์ง๋ ์๊ณ ... ๊ทธ๋ฅ ๋ฐ์ดํฐ์์ผ๋ก ์กด์ฌํ๊ธฐ๋ง ํ๋ฉด ๋๋๋ฐ.
์ธํฐํ์ด์ค๋ก Item์ ๋ง๋ค์ด์ ์ด๊ฑธ ์์๋ฐ๋ ์์ดํ ๊ฐ์ฒด๋ค์ ๋ง๋ค์ด์ฃผ๊ณ ... ๋ฆฌ์คํธ๋ก ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ฉด ๊ทธ๋ง์ผ ๊ฒ ๊ฐ์๋ฐ
๋ฌธ์ ๋ ์ด๋ ๊ฒํ๋ฉด ๊ฒฐ๊ตญ ๊ตฌ์ฒดํ๋ Iron ์คํฌ๋ฆฝํธ 2๊ฐ, Scrap 1๊ฐ์ ์คํฌ๋ฆฝํธ๊ฐ ํ์ํ๋ฐ ์ด๊ฑธ ์ด๋ป๊ฒ ๋ฃ์ด์ฃผ์ง...?
------------------ ์์
์ ๋ฏธ์... Iron ์คํฌ๋ฆฝํธ๋ ํ๋๋ง ๋ฃ์ด๋ ๋๊ฒ ๋ค amount๋ก ์กฐ์ ํ๋ฉด ๊ทธ๋ง์ด๋๊น ์๋ฌดํผ ๊ทธ๋๋ ๋ด์ฉ์ ๋๊ฐ์ ๊ฒฐ๊ตญ ๊ตฌ์ฒดํ๋ ์์ดํ ์ ์ธ๋ฒคํ ๋ฆฌ์ ๋ฃ์ด์ผํ๋๋ฐ ๊ทธ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ด ใ ใ
static/
public class monster { public static Item[] DropItem = new Item[] { your_item_here }; }
์ด๋ฐ๊ฑฐ๋งํ๋๊ฑฐ์๋?
static ์ผ๋ก ๋ง๋ค์ด๋ฒ๋ฆฌ๋ฉด ํด๋น ๋ชฌ์คํฐ์ ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ๊ฐ์ ์ข ์ด๋ฉด ๊ณต์ ํด๋ฒ๋ฆฌ๊ฒ๋์์. ์ฌ๋ผ์ A ์ฌ๋ผ์ B๊ฐ ์์ผ๋ฉด ์ฌ๋ผ์ A ์ธ๋ฒคํ ๋ฆฌ ํธ๋ฉด B์ธ๋ฒคํ ๋ฆฌ๋ ๋น์ด๋ฒ๋ฆฌ๋๋ฐ...?
๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ๋ ์ฌ์ค ํด๋ดค์๋๋ฐ ์์ดํ ์ด ์ ๋ค์ด๊ฐ ์ธ์คํํฐ ์์์...
SO ๊ฐ์๊ฑฐ ๋งํ๋๊ฑด๊ฐ - dc App
์คํฌ๋ฆฝํฐ๋ธ ์ค๋ธ์ ํธ๋งํ๋๊ฑฐ๋ฉด ๋ง์...! ๊ทธ๋ฐ ๋น์ทํ ๊ฐ๋ ์ ์ํ๋๋ฐ....
๊ทธ๋ฅ scriptable object๋ก ํ๋ฉด ๋๋๊ฑฐ ์๋?
๊ทธ๋ ๋ค ๋ด๊ฐ ์ด๊ฑธ ๋ง ์ ํ๋ค ๋ด๊ฐ ์ด ์ธ๋ฒคํ ๋ฆฌ๋ฅผ ์คํฌ๋ฆฝํฐ๋ธ ์ค๋ธ์ ํธ๋ก ์ด๋ฏธ ๊ตฌํํ ์ํ๋ผ ์คํฌ๋ฆฝํฐ๋ธ ์ค๋ธ์ ํธ์์๋ List์ ์ ๊ทผํ ์๊ฐ์๋๋ผ๊ณ ...
ํน ์คํฌ๋ฆฝํฐ๋ธ ์ค๋ธ์ ํธ์์๋ ๋ฆฌ์คํธ์ ์ ๊ทผํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์๊น? ์คํฌ๋ฆฝํฐ๋ธ์ค๋ธ์ ํธ๋ ์ ์ธ์คํํฐ์์์ ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ์ง ์๋์ง ๋ชจ๋ฅด๊ฒ ๋ค;
์ ํํ ์ฝ๋๋ฅผ ๋ด์ผ๊ฒ ์ง๋ง SO์์๋ ๋ฆฌ์คํธ ์ ๊ทผ ๊ฐ๋ฅํด. ์ ๊ทผ์ private์ผ๋ก๋ง ์ค์ ํด๋๊ฑฐ ์๋ ?
์.... ๊ทธ๋ ๋ค. ๋ฏธ์ํด ๋ด๊ฐ ์ ์ ์๋ํด๋ณด๊ณ ์ ๋์ด์ ์ด๊ฒ ๋ฆฌ์คํธ๋ผ์ ์ ๊ทผ์ด ์ ๋๋๊ฒ์ผ๋ก๋ง ์น๋ถํ์๋๋ด. ๋ค์ ์คํํด๋ณด๋๊น ๋ด๊ฐ ์ ์ struct๋ก ์ ์ธํด์ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๊ฑฐ์์ด. ๊ณ ๋ง์ ๋๋ถ์ ํด๊ฒฐ๋๋ค
ใ ใ ใ ๋คํํ ๊ฐ๋จํ๊ฑฐ์๋ค ์ถํ~
๊ฐ์ฒด๋ฅผ ์ ์ (static)์ผ๋ก ๋ง๋ ๋ค๊ณ ํ๋๋ฐ, ๋๊ฐ๋งํ๋๊ฑด ๋ณด๋๊น ์ปดํผ๋ํธ(MonoBehaviour์์)๊ฐ ์๋ ๊ฐ์ฒด๋ฅผ ์ ์ ๊ฐ์ฒด๋ก ์นญํ๊ฑฐ ๊ฐ์. ์ ์ ์ด๋ ๋จ์ด๋ฅผ ๊ทธ๋ฐ์์ผ๋ก๋ ์ฐ์ง ์๋๊ฒ ์ข์๋ฏ.. ๋๊ฐ๋งํ๋๊ฑด ๊ทธ๋ฅ class ItemData ๊ฐ์๊ฑฐ ๋งํ๋๊ฑฐ์๋๊ฐ
์ ๋ฏธ์ ๋๋ ๋์ (dynamic)์ผ๋ก ์์ฑํ์ง ์๊ณ ์ปดํ์ผ๋จ๊ณ์์ ์์ฑํ๋ค๋ ์๋ฏธ์์ ์ ์ ์ด๋ผ๊ณ ๋งํ๋๋ฐ ํผ์ ์ ๋น์๋๋ณด๋ค ํํ์์ ์ค๋ฅ๊ฐ ์์๋ ์ ๋ฏธ์ํด
์ค๋ช ๋ค์ด๋ณด๋ฉด ๋ญ๊ฐ ์ค๊ตฌ๋๋ฐฉ์ด๋ผ ๋ช ํํ์ง ์์๋ฐ, ์ผ๋จ ๋์ถฉ ์ธ๋ฒคํ ๋ฆฌ + ๋ชฌ์คํฐ ์์ดํ ๋๋ + ๋ฐ๋ฅ์์ดํ ๋ฃจํ ์์คํ ๊ฐ์๊ฒ๋ค์ ๋ง๋ค๊ณ ์ถ๋ค๋๊ฑฐ ๊ฐ์. ์ด๊ฑธ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํ๊ธด ํ๋ฐ, ๋ด๊ฐ ๋ง์ด ๋ณธ ํจํด์ ๋ค์๊ณผ ๊ฐ์. - ์์ดํ ์ ์ ๋ฐ์ดํฐ ์ ์(Excel์ด๋ Json์ด๋ ) ์) id=1,itemName=์๋ฆฌ์ ์์ฐ์ธ - ๋ชฌ์คํฐ์๊ฒ DropItem์ปดํผ๋ํธ ๋ถ์ฐฉ. DropItem์ปดํผ๋ํธ์๋ public List itemIDList,itemCntList์ ์ธํ๊ณ inspector์ ์์ดํ id๋ cnt๋ฅผ๋ฃ์ด์ค - ํ๋ ์ด์ด์๊ฒ Inventory์ปดํผ๋ํธ ๋ถ์ฐฉ. ๋ฃจํ ํ ์์ดํ ์ ์ฌ๊ธฐ์ปดํผ๋ํธ์ ๋ฃ์ด์ค
์์ดํ ๋ฐ์ดํฐ ์ ์๋ Excel์ด๋ json์์ ์์ฑํ๋ค๊ณ ํ๋๋ฐ, ์ปดํ์ผ์ด๋ ๋ญ์๊ด์
์... ํด๊ฒฐ๋์ด ๋ฏธ์ ๊ดํ ์์๋ฅผ ๋ค์ด์ ๊ดํ ๋ ๋ณต์กํด์ง๊ฒ๊ฐ๋ค; ๊ทธ๋๋ ์๋ ค์ค ๋ฐฉ๋ฒ๋ ์ฐธ๊ณ ํ ๊ฒ ์ง์ง ๊ณ ๋ง์... ใด๋ชฌ์คํฐ ์์ฑ์ ์ปดํ์ผ ๋จ๊ณ์์ ๋ฏธ๋ฆฌ ํด๋๋ค๋ฉด~ ์ผ๋ก ๊ฐ์ ํ๊ฑฐ์์ด ๊ทธ๋๋ ํด๊ฒฐ๋๋ค ๋ฏธ์;;
๋ชฌ์คํฐ ์์ฑ์ ์ปดํ์ผ ๋จ๊ณ์์ ํ๋ค๋ ๋ง๋ ์ชผ์ด ์ด์ํ๊ธด ํ๋ฐ.. ์ํผ ํ์ดํ ~!
์ฌ๊ธฐ์ ๋๊ฐ๋ง๋ค๋ ค๋ ๊ฒ์์ด ์ธ๋ฒคํ ๋ฆฌ์์๋๊ฑฐ ์์ฒด๋ฅผ ๋๋ํ๋๊ฐ๋ ์ด๋ผ๋ฉด, DropItem์ด์๋๋ผ ๊ทธ๋ฅ Inventory๋ก ํด๋ ๋จ ๊ทธ๋ฆฌ๊ณ DropItem์ปดํผ๋ํธ๋ฅผ ๋ถ์ธ๋ค๊ณ ํ๋๋ฐ, ์ ๋ํฐ๋ก ๊ฐ๋ฐํ๋ค๋ณด๋ฉด ๊ฒ์์ฝ์ด๋ก์ง์ MonoBehaviour์คํฌ๋ฆฝํธ๋ก ์ ์๋บ. ๊ทธ๋ฅ ํด๋์ค๋ก ์ ์ธํด์ ์ฐ๋ํธ์ด๋ผ. ์ด๊ฑฐ๋ ์ ๊ทธ๋ฐ์ง๋ ํ๋ค๋ณด๋ฉด ์๊ฒ๋จ.
์ธ๋ฒคํ ๋ฆฌ๋ฅผ ๊ตฌํํ๋ ค๋ ์ด์ ๋ถํฐ ๋ชจ๋ฅด๊ฒ ๋๋ฐ, ์๋งค์น๊ธฐ๋ฅผ ํด์ ์ธ๋ฒคํ ๋ฆฌ๊ฐ ์์ ํ ๋น๊ฒ๋๋ฉด ์ฃฝ์ด๋ ์์ดํ ๋๋์ ์ํ๋ ค๋ ๊ฑฐ์?
๊ทธ์น ์ด๋ฏธ ํ์น๊ฑธ ๋ ํ์น ์๋์์์...?
๋ฐ์ดํฐ์ script,/prefab์ ๋์ผ์ํ๋ฉด์ ์๊ธฐ๋ ๋ฌธ์ ๊ฐ์๋ฐ, data๋ monobehavior script์ ๋ถ๋ฆฌ๋ ์ ์์.
inventory list๋ data์ list๊ณ mono script์ ๋ฆฌ์คํธ๊ฐ ๋ ํ์๋ ์์. ๊ทธ๊ฒ ์ฌ ์์ ์ฌ๋ผ๊ฐ์ ๋ญ๊ฐ ๊ธฐ๋ฅ์ ํด์ผํ๋ค๋ฉด ๊ทธ๋ instantiateํ๋ฉด ๋ ์ผ์ด๊ณ .
๋ 10๋ถ์งธ ๋ณด๊ณ ์๋๋ฐ ๋จผ๊ฐ ์ดํด๊ฐ ์๋์ ๋ต๋ณ์ ๋ชป ํ๊ฒ ๋น
๋ฏธ์ํ๋ค ์์๋ฅผ ๋ด๊ฐ ์ข ์๋ชป ๋ ๊ฒ ๊ฐ์ ๋ค์์๋ ์ข ๋จธ๋ฆฟ์์์ ์ ๋ฆฌํ๊ณ ์ฌ๋ ค์ผ๊ฒ ๋ค ์ง๋ฌธ๋