| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.IO;
- using System.Text;
- using UnityEngine;
- using UnityEngine.Networking;
- namespace WildAttack
- {
- public enum LanguageType
- {
- CH,
- EN,
- }
- public struct StringData
- {
- public string CH;
- public string EN;
- }
- public class StringModule : Singleton<StringModule>, IModule
- {
- private Dictionary<string, StringData> stringDataDic;
- public IEnumerator LoadCSV(string fileName, Action callback)
- {
- string sPath = CSVUtils.GetStreamingAssetPath() + "/" + fileName;
- UnityWebRequest www = UnityWebRequest.Get(sPath);
- yield return www.SendWebRequest();
- File.WriteAllText(Application.persistentDataPath + "/" + fileName, www.downloadHandler.text, Encoding.GetEncoding("utf-8"));
- www.Dispose();
- SaveData(CSVUtils.GetInstance().LoadFile(Application.persistentDataPath, fileName));
- callback();
- }
- public void SaveData(string[] lineArr)
- {
- stringDataDic = new Dictionary<string, StringData>();
- for (int i = 1; i < lineArr.Length; i++)
- {
- string[] data = lineArr[i].Split(',');
- stringDataDic[data[0]] = new StringData()
- {
- CH = data[1],
- EN = data[2],
- };
- }
- }
- public string GetData(string key)
- {
- if (stringDataDic.ContainsKey(key))
- {
- if (GameMananger.GetInstance().Language == LanguageType.CH)
- {
- return stringDataDic[key].CH;
- }
- else if (GameMananger.GetInstance().Language == LanguageType.EN)
- {
- return stringDataDic[key].EN;
- }
- else
- {
- return "";
- }
- }
- else
- {
- return "";
- }
- }
- }
- }
|