ย void Data_ItemList(uint id, string name) //ย
ย ย ย {
ย ย ย ย ย ย ย if (id == 1001 || name == "Shadow of Polearm")
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย item_Info.id = 1001; //
ย ย ย ย ย ย ย ย ย ย ย item_Info._lv = 1;
ย ย ย ย ย ย ย ย ย ย ย item_Info.name = "Shadow of Polearm";
ย ย ย ย ย ย ย ย ย ย ย item_Info._hp = 10;
ย ย ย ย ย ย ย ย ย ย ย item_Info._mp = 10;
ย ย ย ย ย ย ย ย ย ย ย item_Info._str = 5;
ย ย ย ย ย ย ย ย ย ย ย item_Info.Dmg = 200;
ย ย ย ย ย ย ย ย ย ย ย item_Info.sprite = item_Sprites[0];
ย ย ย ย ย ย ย ย ย ย ย return;
ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย if (id == 1002 || name == "Silver Hammer")
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย item_Info.id = 1002;
ย ย ย ย ย ย ย ย ย ย ย item_Info._lv = 10;
ย ย ย ย ย ย ย ย ย ย ย item_Info.name = "Silver Hammer";
ย ย ย ย ย ย ย ย ย ย ย item_Info._hp = 10;
ย ย ย ย ย ย ย ย ย ย ย item_Info._mp = 10;
ย ย ย ย ย ย ย ย ย ย ย item_Info._str = 5;
ย ย ย ย ย ย ย ย ย ย ย item_Info.Dmg = 5000;
ย ย ย ย ย ย ย ย ย ย ย item_Info.sprite = item_Sprites[1];
ย ย ย ย ย ย ย ย ย ย ย return;
ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย else
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย Debug.Log("์กด์ฌํ์ง ์๋ ์์ดํ
DB ์
๋๋ค");
ย ย ย ย ย ย ย }
ย ย ย }
๋์ถฉ ์ด๋ฐ์์ผ๋ก ๊ตฌ์์ ํด์ ๊ณ์ ๋ฐ์ดํฐ๋ฅผ 1000๊ฐ ์ด์ ๋๋ฆฌ๋ ์์ดํ DB ํ์์ผ๋ก ๊ตฌํํ๋ค๊ณ ํ ๋ ๋ฌธ์ ์ ๊ฐ์๊ฒ ์์๊น?
์ผ๋จ item_info ๋ ๊ตฌ์กฐ์ฒด๊ณ .. 1์ธ์ฉ 2D RPG ๊ฒ์์ ๋ง๋๋ ค๊ณ ํจ
๋น์ฃผ์ผ ๋ฒ ์ด์ง์๋ค ํจ์์ line ์ ์ต๋์น๊ฐ ๋ช์ค๊น์ง ์ธ์์๋ ๊ฑฐ์ ๋ฌด์ ํ ์ด๋ฉด ์ด๋ฐฉ๋ฒ์ ์ธ๊ฑฐ๊ฐ์๋ฐ
๋ด๊ฐ ์ ์ ๊ทธ๋ฐ์์ผ๋ก ๋ง๋ค๋ค๊ฐ ์ ๋์ฑ์ด๋ ๊ฐ๋ ์ฑ์ด ์ญ์ฐฝ๋๋๊น ๊ทธ๋ฐ ๋ฐ์ดํฐ๋ ์์ ์ํธ๋ก ๋ฐ๋ก๋นผ์ ์ฐ๋ผ๊ณ ํ์๋ฆฌ ๋ค์
id ๊ฐ์ 1001~1010 10๊ฐ , 2101~2300 200 ๊ฐ ์ด๋ฐ์์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ฉด ๋ ๊ฑฐ ๊ฐ์๋ฐ ๊ทธ๋ฆฌ๊ณ id๊ฐ์ ์ฅ๋น ํน์ฑ์ ๋ฐ๋ผ ์ฝ๋๋ก ๊ตฌ๋ถ์ง์ด๋์ผ๋ ค๊ณ
์ฐ๋ฆฌ๊ฒ์ด๋ key value storage๊ฐ ๋ญ์ง ๋ชจ๋ฅด๋ ธ?? - dc App
์ผ๋จ ๋๊ฐ ๋ง๋๋ ๊ฒ์์ด ๋ญ์ง ๋ชจ๋ฅด๋๊น ์กฐ์ฌ์ค๋ฌ์ด๋ฐ - dc App
๋ํ ๋ง๋ดํฌ๊ฐ์๊ฑฐ๋ผ๊ณ ์๊ฐํด๋ณด์ ๊ทธ๋ผ ์ ์ ์ธ ์์ดํ ์ ๋ณด์ ๊ณ ์ ํ ์์ดํ ๋ฐ์ดํฐ๊ฐ ๋ถ์ ๊ฒ ์๋๋ - dc App
๊ทธ๋ผ ์ ์ ์ธ ์์ดํ ์ ๊ทธ๋ฅ ๋ฐ์ดํฐ์ง? SO์ ๊ธฐ๋กํด์ ๋น๋ํด๋๋๊ณ ๋๋น๋ก ๋ฐ๋ก๋นผ์ ๊ด๋ฆฌํ ์ผ ์๋ค๋ฉด xml json csv๋ฑ ๋งํน์ ์ธ์ด๋ก ์ ์ฅํด๋ฒ๋ ค - dc App
์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ฑ์คํด์ผ๋์์ ๊ทธ๋ ์ ๋ํฌํ ์์ด๋ ๋๊ฐ ์์ ์จ๋จ๋ฏ์ด ๋ฌด๊ธฐ ์ด๋ฆ์ด ์ ๋ํฌํ ์์ด๋๊ฐ ๋ ์ ์๊ฒ ๋ค ๊ฒ์์์ ์ ๊ทผํ ๋ ์ด๋ฆ์ผ๋ก ํด์ฌ์ฝ๋ ๋ง๋ค์ด์ Dictionary<int, Item> ์ผ๋ก ์ธ๋ฑ์ค ๋ง๋ค์ด์ ์ ๊ทผํด - dc App
๊ทธ๋ฆฌ๊ณ ์ ์ ๊ฐ ์ป์ ์ฅ๋น๋? ์ ๋ํฌ ํค๊ฐ ์์ผ๋ ์ ๋ํฌ ํค + ๊ณ ์ ์์ดํ ์ ๋ณด๋ง ๊ตฌ์กฐ์ฒด๋ก ๋ฐ์์ ์ ์ ์ธ์ด๋ธ๋ฐ์ดํฐ์ ๋ฃ์ผ์ - dc App
๋ด๊ฐ c#์ ๊น๊ฒ ์๋ฐฐ์ฐ๊ณ ๋ง๋๋ ์ํ๋ผ์... ๊ทธ๋ฆฌ๊ณ ๋ง๋ดํฌ ์ค๋ช ์ด ์ดํด๊ฐ ์์๋๋๋ฐ ๋ญ ๋งํ๊ณ ์ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค.. ์ผ๋จ ๋ด๊ฐ ํ๋ ค๊ณ ํ๋ ๊ฑฐ๋ ์ด๊ธฐ์ ์์ดํ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํด์ ๋๋ ์์ดํ ์ ๋ฟ๋ฆฌ๊ณ ๊ทธ๊ฑธ ๋จน์ผ๋ฉด ์ธ๋ฒคํ ๋ฆฌ ์ฐฝ์ ํด๋น ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ฑฐ๋ฅผ ๊ตฌํํ๊ณ ์์ด. ๊ทธ๋ฆฌ๊ณ ๋ง์ฝ ๊ฐํ ๋ผ๋์ง ์์ดํ ์ต์ ์ด ๋ณ๊ฒฝ ๋ ๊ฒฝ์ฐ์๋ ์ธ๋ฒคํ ๋ฆฌ ์ฐฝ์ ์๋ ์์ดํ ์ ์ต์ ์ ๋ณ๊ฒฝ์ ํ๊ณ ์ ์ฅ์ ์ํค๋ ค๋ ๋ฐฉํฅ์ธ๋ฐ ๋๊ฐ ์๊ฐํ๋๊ฑฐ๋ ์ด๋ค์ฐจ์ด์ ์ด ์์๊น
ํด์ฌํ ์ด๋ธ ๋ญ์ง์์? - dc App
ํด์ฌํ ์ด๋ธ ๋ฐฐ์ฐ์ง๋ ์์. ๋ญ์ง๋ ์๋ชจ๋ฅด๊ฒ๊ณ
์ปฌ๋ ์ ์? - dc App
๊ทธ๋ฅ ๊ฐ๋ ์ ๋๋ง ์๊ณ ๊น๊ฒ๋ ์ ๋ชฐ๋ผ
ใ ใ ๊ทธ๋ผ ๋์. ํด์ฌํจ์๋ผ๊ณ ์ ๋ ฅ Key ๋ฐ๋ผ ๋ค๋ฅธ ๊ฐ์ ์ป์ ์ ์๋ ํจ์๊ฐ ์๋๋ฐ, ์ด๊ฑธ ์ด์ฉํด์ ์ฌ์ ์ฒ๋ผ ํ์ฉํ๋ ์๋ฃ๊ตฌ์กฐ๊ฐ ์์. ๊ทธ๊ฒ Dictionary์
์ฌ๊ธฐ์ ์ฅ๋น ์์คํ ์ ๋ํด ๊ฐ์ ํ๊ณ ์งํํด์ผ ๋ง์ด ๋๋๋ฐ, ๋ฌด๊ธฐ๋ง๋ค ์ด๋ฆ, ๊ณต๊ฒฉ๋ ฅ, ๊ณต๊ฒฉ์๋๊ฐ ์๊ณ ๋ฌด๊ธฐ๋ง๋ค ๊ฐํ๋ฅผ ํ๋ฉด ๊ณต๊ฒฉ๋ ฅ์ด 3์ฉ ๋ ์ค๋ฅด๋ ๊ตฌ์กฐ๋ผ๊ณ ์น์
๊ทธ ๋์ ๋๋ฆฌ๊ฐ C# ๋ด์ฅ ํจ์์ผ?? ์๋๋ฉด ๋ด๊ฐ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ง๋ ํจ์ ๊ฐ์๊ฑฐ์ผ?
using System.Collection.Generic; << ์ด ๋ค์์คํ์ด์ค ์์ ๋ด์ฅ๋ ํด๋์ค์
์ผ๋จ ๋น์ ์ ์ข๋ ๊ณต๋ถํ ํ์๊ฐ ์์. ๊ณต๋ถ๊ฐ ๋ง์ ๊ณ ๋ฏผ์ ํด์ํด์ค๊ฒ์. ๊ทธ๊ฑด ์ข๋ฐ ๋งํฌ๋ฅผ ์คํ ๋๊น
๊ทธ๋ผ ๋ฌด๊ธฐ๊ฐ { ์๋์ฐ ์ค๋ธ ํด์ , ๊ณต๊ฒฉ๋ ฅ 15, ๊ณต๊ฒฉ์๋ 0.75 } , { ์ค๋ฒ ํด๋จธ , ๊ณต๊ฒฉ๋ ฅ 12 , ๊ณต๊ฒฉ์๋ 1.2 } ์ด๋ฐ์์ผ๋ก ์ ์๊ฐ ๋ ๊ฒ ์๋
์ด ์ ๋ณด๋ ์ ํด์ง ๊ฐ์ด๋ผ ๊ฒ์ ์์ ๋ฑ ํ๋๋ง ์กด์ฌํ๋ฉด ๋จ. ๊ทธ๋ฌ๋๊น Dictionary < int> WeaponMap ์ด๋ผ๋ ์ฌ์ ์์ { 1001 , [์๋์ฐ ์ค๋ธ ํด์] }, { 2001 , [์ค๋ฒ ํด๋จธ] } ์ด๋ฐ์์ผ๋ก ๋ฃ์ด๋๊ณ ์ ๊ทผํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
์ง๊ธ ์ด๊ฒ์ด c#์ด๋ค ์ ํ๋ธ ๊ฐ์๋ก ๋ณด๊ณ ์๋๋ฐ ๋๋ฆฌ์ ๋ถ๋ถ์์ ์ ์๋๊ฐ๋๊ฑฐ ๊ฐ์. ์ฝ๊ฐ ๋ด๊ฐ ๊ฒ์์ ๋ง๋ค๋ฉด์ ์ดํด๋ฅผ ํ๋ฉด ์ข์๋ฐ ์ข ์ฝ๊ฒ ๋ง๋ค๋ฉด ์ข์๋ฐ ๊ณ์ ์ด๋ ค์ด ๊ฐ๋ ๋ง ๋์ด๋๊ณ ์ด๊ฒ ์ ์ฐ์ด๋์ง๋ ์ผ์๋ ์ด๋ค ํจ์จ์ฑ์ด ์๋์ง๊ฐ ์ ๋ชจ๋ฅด๊ฒ ๋๋ผ๊ณ .
๊ทธ๋ฌ๋๊น Scriptable Object๋ฅผ ์ฐ๋, ์ง๋ ฌํ๋ ํ์ผ์ ํ๋ ๋๋, ๋ฌด๊ธฐ ๋ฐ์ดํฐ๋ฅผ ํ ์ธํธ๋ก ์ ์ํด๋๋ ์๊ธฐ๋ค. ์ด๊ฑธ Key-Value Storage๋ผ๊ณ ํ๋ค
๋์ ๋๋ฆฌ์ ์ ๋ณด๋ฅผ ๋ฃ์ด๋๊ณ ์ฐ๋๊ฑฐ๋ ์์ ์ฒ๋ผ ๋ด๊ฐ ํจ์๋ก ๊ตฌํํด์ ์ ๊ทผํ๋๊ฑฐ๋ ์ด๋ค ์ฐจ์ด๊ฐ ์๋๊ฑฐ์ผ??
๊ทธ๋ฆฌ๊ณ ์ ์ ๊ฐ ๋ฌด๊ธฐ๋ฅผ ์ป์ผ๋ฉด ๊ทธ ๋ฌด๊ธฐ๋ ๊ณ ์ ํด์ง๋ค. ๊ทธ ๊ณ ์ ํ ๋ฌด๊ธฐ๋ ๊ฐํํ ๋๋ง๋ค ๊ณต๊ฒฉ๋ ฅ์ด 3์ฉ ์ค๋ฅด๋ ํจ๊ณผ๊ฐ ์์ผ๋ ๊ฐํ์์น๋ฅผ ์ ์ฅํด์ผํด. ๊ทธ๋ฌ๋๊น WeaponInst ๊ฐ์ ์ ์ ๊ฐ ๋ฌด๊ธฐ๋ฅผ ์์ ํ์ ๋ ๋ณํ์ ๋ณด๋ง ์ ์ฅํ ๊ฐ์ฒด๋ฅผ ํ๋ ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌด๊ธฐ Id, ๊ฐํ ์์น๋ฅผ ์ฌ๊ธฐ์ ์ ์ฅํด. ๊ทธ๋ผ ๊ทธ๋๊ฐ ์ํ๋ ๋ฌด๊ธฐ์์คํ ์์ฑ.
๊ทธ๋๊ฐ ์ง๊ธ ๋ง๋ค๊ณ ์๋๊ฑด ์์ด๋๋ฅผ ์์ฐจ ํ์ํด์ 1001~ 2001 ๊น์ง ๋ฌด๊ธฐ์ ์์ด๋์ ์ผ์นํ๋์ง ํ์ธํ๋ ํจ์๋ฅผ ์์ ๋ง๋ค๊ณ ์๋๊ฑฐ๊ณ
ํด์ฌ ํ ์ด๋ธ์ ์ด๊ฒ์ ๊ทธ๋๊ฐ ๋ชฐ๋ผ๋ ๋๋ ํด์ฌ ํจ์๋ก 1001 - ์๋์ฐ ์ค๋ธ ํด์ ์ผ๋ก ๋ฐ๋ก ์ฐ๊ฒฐํด์ฃผ๋ ์๋ฃ๊ตฌ์กฐ์ธ๊ฒ์.
Dictionary<int> WeaponMap / WeaponMap.Add(1001, [Weapon::์๋์ฐ ์ค๋ธ ํด์]) / WeaponMap[1001] => ์๋์ฐ ์ค๋ธ ํด์
์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌด๊ธฐ ๊ฐ์ฒด์ ์ถ๊ฐ/์ ๊ทผํ ์ ์๋ค
http://m.csharpstudy.com/DS
์ผ๋จ ์ด๊ฒ๋ถํฐ ๋ณด์
์ค ๊ทธ๋ฌ๋๊น c#์ ๊ตฌํ๋์๋ ๊ธฐ๋ฅ์ด๋ผ๋๊ฑฐ๊ตฌ๋ ๋๋ฌด ์น์ ํ๊ฒ ์ค๋ช ํด์ฃผ๋.. ๊ณ ๋ง๋ค ์ธ๋ถ์ ๊ทผ๋ฐ 110.70 ์ด๋ ๋์ผ์ธ๋ฌผ์ด์ง? ์ด ๊ฐค๋ฌ๋ฆฌ์์ ๋์ฒ๋ผ ์น์ ํ ์ ์ฒ์๋ดค๋ค.. ใท
ํผ์ฐ~
https://ko.wikipedia.org/wiki/%ED%82%A4-%EA%B0%92_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4
https://ko.wikipedia.org/wiki/%EC%8B%B1%EA%B8%80%ED%84%B4_%ED%8C%A8%ED%84%B4
๋์ ๋๋ฆฌ๊ฐ ์ดํด๋ฌ์ผ๋ฉด ์ด๊ฑฐ ๋๊ฐ ๋ณด๋ฉด ๋ง๋ค ์ ์์๊ฒ์
์์ดํ ์ ๋ณด ๊ณ ์น ๋ ๋ง๋ค ๋น๋๋ฅผ ํ๋ค๊ตฝ์ผ?
์๋ฃ๊ตฌ์กฐ ์ ๋ชจ๋ฅด๋ ์ํ์์๋ผ๋ ๋ณดํต db๋ฅผ ํจ์๋ก ๊ตฌํํ ์๊ฐ์ ์ํ์ง์๋
๋ชจ๋ฅผ์๋ ์์ง ๋ฐฐ์ฐ๋ฉด๋จ - dc App
์ ๋๋ถ์ ์๋ฐฐ์ ใทใทใทใท 3๋ ์ ๊ธ์ธ๋ฐ๋ ์์ฒญ์ ์ตํ๋ค ์ด ๊ธ ์ด์ฌ๋์ ์ด๋ป๊ฒ ๋์๊น ๊ถ๊ธํ๋ค