TestConfigExcelData.cs 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. /*Auto Create, Don't Edit !!!*/
  2. using UnityEngine;
  3. using System.Collections.Generic;
  4. using System;
  5. using System.IO;
  6. using System.Text;
  7. using UnityEditor;
  8. [Serializable]
  9. public class TestConfigExcelItem : ExcelItemBase
  10. {
  11. public int id;
  12. public bool[] xiansuos;
  13. public TaskType type;
  14. public bool isNoshow;
  15. public string lihui;
  16. public string info;
  17. public string info2;
  18. public string bgName;
  19. public string imgName;
  20. public string taskcheck;
  21. public string centerName;
  22. public float centersize = 1;
  23. public float lihuisize = 1;
  24. public string perbName;
  25. public bool isClose;
  26. public bool isTuo;
  27. public bool[] daojus;
  28. public bool isClosebtShow;
  29. public bool isTextNext = true;
  30. public bool isARSao = true;
  31. public int arid;
  32. public string texiao;
  33. public string guochang;
  34. public bool isguochangskip;
  35. }
  36. public enum TaskType
  37. {
  38. Dialogue,
  39. Xiansuo,
  40. SkipSence,
  41. GameTask,
  42. ARTask,
  43. ChooseTask,
  44. InputTask,
  45. Other
  46. }
  47. public class TestConfigExcelData : ExcelDataBase<TestConfigExcelItem>
  48. {
  49. public TestConfigExcelItem[] items;
  50. public Dictionary<int,TestConfigExcelItem> itemDic = new Dictionary<int,TestConfigExcelItem>();
  51. public void Init()
  52. {
  53. itemDic.Clear();
  54. if(items != null && items.Length > 0)
  55. {
  56. for(int i = 0; i < items.Length; i++)
  57. {
  58. itemDic.Add(items[i].id, items[i]);
  59. }
  60. }
  61. }
  62. public TestConfigExcelItem GetTestConfigExcelItem(int id)
  63. {
  64. if(itemDic.ContainsKey(id))
  65. return itemDic[id];
  66. else
  67. return null;
  68. }
  69. #region --- Get Method ---
  70. public string GetInfo(int id)
  71. {
  72. var item = GetTestConfigExcelItem(id);
  73. if (item == null)
  74. return default;
  75. return item.info;
  76. }
  77. public string Getlihui(int id)
  78. {
  79. var item = GetTestConfigExcelItem(id);
  80. if (item == null)
  81. return default;
  82. return item.lihui;
  83. }
  84. public string Gettexiao(int id)
  85. {
  86. var item = GetTestConfigExcelItem(id);
  87. if (item == null)
  88. return default;
  89. return item.texiao;
  90. }
  91. public string Getguochang(int id)
  92. {
  93. var item = GetTestConfigExcelItem(id);
  94. if (item == null)
  95. return default;
  96. return item.guochang;
  97. }
  98. public float Getlihuisize(int id)
  99. {
  100. var item = GetTestConfigExcelItem(id);
  101. if (item == null)
  102. return default;
  103. return item.lihuisize;
  104. }
  105. public bool Getisguochangskip(int id)
  106. {
  107. var item = GetTestConfigExcelItem(id);
  108. if (item == null)
  109. return default;
  110. return item.isguochangskip;
  111. }
  112. public string GetInfo2(int id)
  113. {
  114. var item = GetTestConfigExcelItem(id);
  115. if(item == null)
  116. return default;
  117. return item.info2;
  118. }
  119. public bool Getxiansuos(int id, int index)
  120. {
  121. var item0 = GetTestConfigExcelItem(id);
  122. if (item0 == null)
  123. return default;
  124. var item1 = item0.xiansuos;
  125. if (item1 == null || index < 0 || index >= item1.Length)
  126. return default;
  127. return item1[index];
  128. }
  129. public bool Getdaojus(int id, int index)
  130. {
  131. var item0 = GetTestConfigExcelItem(id);
  132. if (item0 == null)
  133. return default;
  134. var item1 = item0.daojus;
  135. if (item1 == null || index < 0 || index >= item1.Length)
  136. return default;
  137. return item1[index];
  138. }
  139. public TaskType GetType(int id)
  140. {
  141. var item = GetTestConfigExcelItem(id);
  142. if(item == null)
  143. return default;
  144. return item.type;
  145. }
  146. public bool GetisNoshow(int id)
  147. {
  148. var item = GetTestConfigExcelItem(id);
  149. if (item == null)
  150. return default;
  151. return item.isNoshow;
  152. }
  153. public bool GetisClosebtShow(int id)
  154. {
  155. var item = GetTestConfigExcelItem(id);
  156. if (item == null)
  157. return default;
  158. return item.isClosebtShow;
  159. }
  160. public bool GetisTextNext(int id)
  161. {
  162. var item = GetTestConfigExcelItem(id);
  163. if (item == null)
  164. return default;
  165. return item.isTextNext;
  166. }
  167. public bool GetisARSao(int id)
  168. {
  169. var item = GetTestConfigExcelItem(id);
  170. if (item == null)
  171. return default;
  172. return item.isARSao;
  173. }
  174. public bool GetisClose(int id)
  175. {
  176. var item = GetTestConfigExcelItem(id);
  177. if (item == null)
  178. return default;
  179. return item.isClose;
  180. }
  181. public bool GetisTuo(int id)
  182. {
  183. var item = GetTestConfigExcelItem(id);
  184. if (item == null)
  185. return default;
  186. return item.isTuo;
  187. }
  188. public int Getarid(int id)
  189. {
  190. var item = GetTestConfigExcelItem(id);
  191. if (item == null)
  192. return default;
  193. return item.arid;
  194. }
  195. public string GetbgName(int id)
  196. {
  197. var item = GetTestConfigExcelItem(id);
  198. if (item == null)
  199. return default;
  200. return item.bgName;
  201. }
  202. public string GetimgName(int id)
  203. {
  204. var item = GetTestConfigExcelItem(id);
  205. if (item == null)
  206. return default;
  207. return item.imgName;
  208. }
  209. public string Gettaskcheck(int id)
  210. {
  211. var item = GetTestConfigExcelItem(id);
  212. if (item == null)
  213. return default;
  214. return item.taskcheck;
  215. }
  216. public string GetcenterName(int id)
  217. {
  218. var item = GetTestConfigExcelItem(id);
  219. if (item == null)
  220. return default;
  221. return item.centerName;
  222. }
  223. public string GetperbName(int id)
  224. {
  225. var item = GetTestConfigExcelItem(id);
  226. if (item == null)
  227. return default;
  228. return item.perbName;
  229. }
  230. public float Getcentersize(int id)
  231. {
  232. var item = GetTestConfigExcelItem(id);
  233. if (item == null)
  234. return default;
  235. return item.centersize;
  236. }
  237. #endregion
  238. }
  239. #if UNITY_EDITOR
  240. public class TestConfigAssetAssignment
  241. {
  242. public static string GetFileNameWithoutExtension(string filePath)
  243. {
  244. return Path.GetFileNameWithoutExtension(filePath);
  245. }
  246. public static bool CreateAsset(ExcelMediumData excelMediumData, string excelAssetPath,string xlxspath)
  247. {
  248. var allRowItemDicList = excelMediumData.GetAllRowItemDicList();
  249. if(allRowItemDicList == null || allRowItemDicList.Count == 0)
  250. return false;
  251. int rowCount = allRowItemDicList.Count;
  252. TestConfigExcelData excelDataAsset = ScriptableObject.CreateInstance<TestConfigExcelData>();
  253. excelDataAsset.items = new TestConfigExcelItem[rowCount];
  254. for(int i = 0; i < rowCount; i++)
  255. {
  256. var itemRowDic = allRowItemDicList[i];
  257. excelDataAsset.items[i] = new TestConfigExcelItem();
  258. excelDataAsset.items[i].id = StringUtility.StringToInt(itemRowDic["id"]);
  259. excelDataAsset.items[i].info =itemRowDic["info"];
  260. excelDataAsset.items[i].info2 = itemRowDic["info2"];
  261. excelDataAsset.items[i].lihui = itemRowDic["lihui"];
  262. excelDataAsset.items[i].texiao = itemRowDic["texiao"];
  263. excelDataAsset.items[i].guochang = itemRowDic["guochang"];
  264. excelDataAsset.items[i].isguochangskip = StringUtility.StringToBool(itemRowDic["isguochangskip"]);
  265. excelDataAsset.items[i].lihuisize = StringUtility.StringToFloat(itemRowDic["lihuisize"]);
  266. excelDataAsset.items[i].xiansuos = StringUtility.StringToBoolArray(itemRowDic["xiansuos"]);
  267. excelDataAsset.items[i].type = StringUtility.StringToEnum<TaskType>(itemRowDic["type"]);
  268. excelDataAsset.items[i].isNoshow = StringUtility.StringToBool(itemRowDic["isNoshow"]);
  269. excelDataAsset.items[i].bgName = itemRowDic["bgName"];
  270. excelDataAsset.items[i].imgName = itemRowDic["imgName"];
  271. excelDataAsset.items[i].taskcheck = itemRowDic["taskcheck"];
  272. excelDataAsset.items[i].centerName = itemRowDic["centerName"];
  273. excelDataAsset.items[i].centersize = StringUtility.StringToFloat(itemRowDic["centersize"]);
  274. excelDataAsset.items[i].perbName = itemRowDic["perbName"];
  275. excelDataAsset.items[i].isClose = StringUtility.StringToBool(itemRowDic["isClose"]);
  276. excelDataAsset.items[i].isTuo = StringUtility.StringToBool(itemRowDic["isTuo"]);
  277. excelDataAsset.items[i].daojus = StringUtility.StringToBoolArray(itemRowDic["daojus"]);
  278. excelDataAsset.items[i].isClosebtShow = StringUtility.StringToBool(itemRowDic["isClosebtShow"]);
  279. excelDataAsset.items[i].isTextNext = StringUtility.StringToBool(itemRowDic["isTextNext"]);
  280. excelDataAsset.items[i].isARSao = StringUtility.StringToBool(itemRowDic["isARSao"]);
  281. excelDataAsset.items[i].isguochangskip = StringUtility.StringToBool(itemRowDic["isguochangskip"]);
  282. excelDataAsset.items[i].arid = StringUtility.StringToInt(itemRowDic["arid"]);
  283. }
  284. Debug.Log(excelAssetPath);
  285. if(!Directory.Exists(excelAssetPath))
  286. Directory.CreateDirectory(excelAssetPath);
  287. string fullPath = Path.Combine(excelAssetPath, GetFileNameWithoutExtension(xlxspath)) + ".asset";
  288. UnityEditor.AssetDatabase.DeleteAsset(fullPath);
  289. UnityEditor.AssetDatabase.CreateAsset(excelDataAsset,fullPath);
  290. UnityEditor.AssetDatabase.Refresh();
  291. return true;
  292. }
  293. }
  294. #endif