| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.IO;
- using System.Text;
- using UnityEngine;
- using UnityEngine.Networking;
- namespace WildAttack
- {
- /// <summary>
- /// 怪物配置结构体
- /// </summary>
- public struct MonsterData
- {
- public List<int> weponWeight;
- public int num;
- public int speed;
- }
- /// <summary>
- /// monster.csv
- /// </summary>
- public class MonsterModule : Singleton<MonsterModule>, IModule
- {
- #region Member
- private Dictionary<int, MonsterData> monsterDataDic;
- #endregion
- #region Override
- 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)
- {
- monsterDataDic = new Dictionary<int, MonsterData>();
- for (int i = 1; i < lineArr.Length; i++)
- {
- string[] data = lineArr[i].Split(',');
- List<int> weightList = new List<int>();
- weightList.Add(int.Parse(data[2].Split('\"')[1].Split('|')[1]));
- weightList.Add(int.Parse(data[3].Split('|')[1]));
- weightList.Add(int.Parse(data[4].Split('\"')[0].Split('|')[1]));
- MonsterData monster = new MonsterData
- {
- weponWeight = weightList,
- num = int.Parse(data[5]),
- speed = int.Parse(data[6]),
- };
- monsterDataDic[int.Parse(data[0])] = monster;
- }
- }
- #endregion
- #region Functions
- public MonsterData GetData(int id)
- {
- MonsterData data = new MonsterData();
- if (monsterDataDic != null && monsterDataDic.ContainsKey(id))
- {
- data = monsterDataDic[id];
- }
- return data;
- }
- #endregion
- }
- }
|