using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Text; using UnityEngine; using UnityEngine.Networking; namespace WildAttack { public struct WeaponData { public int atk; public int cd; public string atkAnim; } public class WeaponModule : Singleton, IModule { private Dictionary weaponDataDic; 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) { weaponDataDic = new Dictionary(); for (int i = 1; i < lineArr.Length; i++) { string[] data = lineArr[i].Split(','); weaponDataDic[int.Parse(data[0])] = new WeaponData() { atk = int.Parse(data[2]), cd = int.Parse(data[3]), atkAnim = data[4], }; } } public WeaponData GetData(int id) { WeaponData data = new WeaponData(); if (weaponDataDic != null && weaponDataDic.ContainsKey(id)) { data = weaponDataDic[id]; } return data; } } }