์Šคํฌ๋ฆฝํŠธ ์ƒ์—๋Š” ์—๋Ÿฌ๋ฌธ๊ตฌ๊ฐ€ ์—†๋Š”๋ฐ



IndexOutOfRangeException: Array index is out of range.

DataManager.Start () (at Assets/DataManager.cs:25)



์ด๊ฒŒ ์ฝ˜์†”์— ๊ณ„์† ๋œจ๋„ค์š”.ย ์–ด์ฉŒ๋ผ๋Š”๊ฑด์ง€ ๋„์ €ํžˆ ๋ชจ๋ฅด๊ฒ ์๋‹ˆ๋‹ค...ํํ‘






์ง€๊ธˆ ๋งŒ๋“œ๋ ค๊ณ ํ•˜๋Š”๊ฑด ์•„์ดํ…œ์˜ ๋ ˆ๋ฒจ๊ณผ ๊ฐ€๊ฒฉ, ํš๋“์ฝ”์ธ์„ ๋„ฃ์€ย ๋”•์…”๋„ˆ๋ฆฌ์ธ๋ฐ


string ์•„์ดํ…œ์ด๋ฆ„ย / int LVย / int COSTย / int COIN

์ด ๋„ค ๊ฐ’์„ย 


์ƒ์œ„ ๋”•์…”๋„ˆ๋ฆฌย 

(key= string"์•„์ดํ…œ ์ด๋ฆ„", value=ย ํ•˜์œ„ย ๋”•์…”๋„ˆ๋ฆฌ(key= int LV, value= int COST, int COIN>



์ด๋ ‡๊ฒŒ ์ €์žฅํ•ด์„œ PRINT๊ฐ’์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค.


๋ฐ์ดํ„ฐ๋Š” ํ…์ŠคํŠธ์—์…‹์œผ๋กœ ์ž˜ ๋„ฃ์–ด์คฌ๊ตฌ์š”.




์•„๋ž˜๋Š”

DataManager ์Šคํฌ๋ฆฝํŠธ ์ „๋ฌธ์ž…๋‹ˆ๋‹ค.ใ… 




using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class DataManager : MonoBehaviour

{

ย  ย  Dictionary> dataDic =

ย  ย  ย  ย  new Dictionary>();

ย  ย  public TextAsset textAsset;


ย  ย  void Start()

ย  ย  {

ย  ย  ย  ย  string[] lines = textAsset.text.Split('\n');


ย  ย  ย  ย  foreach (string line in lines)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  string[] words = line.Split('\t');

ย  ย  ย  ย  ย  ย  if (!dataDic.ContainsKey(words[0]))

ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  dataDic.Add(words[0], new Dictionary());

ย  ย  ย  ย  ย  ย  ย  ย  //์•„์ดํ…œ์ด๋ฆ„ ํ‚ค๋ฅผ ๋งŒ๋“ค์–ด์ค€๊ฑฐ์ž„

ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  ย  ย  dataDic[words[0]].ย  ย  ------>์š”๊ฒŒ ์ฝ˜์†”์ฐฝ ์—๋Ÿฌ์—ย ๋œจ๋Š” 25๋ฒˆ์งธ์ค„. ๊ทธ๋Ÿฌ๋‚˜ ์Šคํฌ๋ฆฝํŠธ ๋‚ด์—์„œ๋Š” ์—๋Ÿฌํ‘œ์‹œ๊ฐ€ ์•ˆ ๋‚จ

ย  ย  ย  ย  ย  ย  Add(int.Parse(words[1]), new StatData(int.Parse(words[2]), int.Parse(words[3])));



ย  ย  ย  ย  ย  ย  print("์•„์ดํ…œH๋Š”ย ๋ช‡์ฝ”์ธ์„์–ป๋‚˜?" + dataDic["์•„์ดํ…œH"][8].coin);

ย  ย  ย  ย  ย  ย  print("์•„์ดํ…œA๋Š”ย ์–ผ๋งˆ?:" + dataDic["์•„์ดํ…œA"][1].cost);

ย  ย  ย  ย  }

ย  ย  }


ย  ย  public class StatData

ย  ย  {

ย  ย  ย  ย  public int cost, coin;

ย  ย  ย  ย  public StatData(int _cost, int _coin)

ย  ย  ย  ย  {


ย  ย  ย  ย  ย  ย  cost = _cost;

ย  ย  ย  ย  ย  ย  coin = _coin;



ย  ย  ย  ย  }

ย  ย  }

}


ย  ย ย