TIL

20240304 TIL

[폴른] 2024. 3. 4. 21:03

Today I Learned :

Resources 폴더

리소스 폴더의 파일에 접근하는 방식의 문제

System.IO 를 통한 파일 접근은 빌드 후에는 사용할 수 없다.

 

빌드 시에 Resources 폴더 내부의 파일들은 모두 필드에 포함되며, 그 외의 폴더는 빌드 타임에 사용되고 있는 것들만 포함이 된다.

하여 유니티 코드 상에서 리소스에 접근하려면 Resources 클래스를 사용하여야 하며,

Resources.Load<> 를 사용하여 자원에 접근하는 방식이 빌드 후에 문제가 없다.

 

private void ReadTextData()
{
    textDataDictionary = new Dictionary<int, string>();
    //string jsonText = File.ReadAllText(textDataFilePath);
    TextAsset jsonTextFile = Resources.Load<TextAsset>(textDataFilePath);
    string jsonText = jsonTextFile.text;


    TextData[] textDataArray = JsonUtility.FromJson<RootObject>(jsonText).kokr;
    //Debug.Log(textDataArray.Length);
    foreach (TextData data in textDataArray)
    {
      textDataDictionary.Add(data.id, data.textKR);
    }
}

 

 

UIManager

UI매니저는 UI를 단순히 온오프하는 기능만을 가져야 하며, UI에 들어가는 값의 변경등은 따로 스크립트를 통해 관리하는것이 추천하는 방식이다.