유니티에서 xml 파일 불러오는 방법
방법만 간단하게 작성하겠습니다.
각자 만든 xml 데이터 클래스 타입이 있다고 치고, 그걸 사용하서 Serializer를 사용해서 불러오는 방법입니다.
string filePath = string.Empty;
XmlSerializer serializer = new XmlSerializer(typeof(LanguageManager));
TextAsset tAsset = Resources.Load("MultiLanguage") as TextAsset;
using (var stream = new StringReader(tAsset.text))
{
return serializer.Deserialize(stream) as LanguageManager;
}
저는 Xml 파일을 "MultiLanguage.xml" 이라고 지었으며 파일 위치는 Resources/ 아래에 저장해 뒀습니다.
이렇게 해서 불러오니까 Android 와 윈도우 환경에서는 잘 불러오네요. IOS 환경에서는 테스트 못해봤습니다.
아래는 제가 해서 잘 안되었던 경우입니다. 괜히 저처럼 삽질 하셨다면 그냥 위에 코드 사용하시면 될것같습니다.
string filePath = string.Empty;
#if UNITY_EDITOR
filePath = Path.Combine(Application.dataPath, "Resources/MultiLanguage.xml");
#elif UNITY_ANDROID
//string androidPath = "jar:file://" + Application.dataPath + "!/assets";
filePath = Path.Combine(Application.streamingAssetsPath, "Resources/MultiLanguage.xml");
#endif
if (File.Exists(filePath))
{
Application.Quit();
XmlSerializer serializer = new XmlSerializer(typeof(LanguageManager));
using (FileStream stream = new FileStream(filePath, FileMode.Open))
{
return serializer.Deserialize(stream) as LanguageManager;
}
}
'개발 > 정보' 카테고리의 다른 글
유니티 카메라 Perspective 와 Orthographic Projection 비교체험 (0) | 2017.10.15 |
---|---|
유니티 모서리가 둥근 체력바 구현하기(Unity Round Hp Bar/Slider) (1) | 2017.10.14 |
유니티 버튼/이미지/글자 정렬 1분만에 끝내기 (0) | 2017.10.13 |
풋볼데이 풀업 라이브카드 계약만료 이건뭥미 (0) | 2017.09.28 |
ks_c_5601-1987 not support 문제 해결방법 (0) | 2017.09.27 |
풋볼데이 선수선택권 카드로 풀업 알바로 모라타 획득 (1) | 2017.09.19 |
유니티 2017 버전 apk 파일 생성 오류 해결방법 (1) | 2017.09.14 |
Unity 5.6.3p2 (64-bit) 한글깨짐 (0) | 2017.09.14 |
최근댓글