ClimbHighExcelData.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*Auto Create, Don't Edit !!!*/
  2. using UnityEngine;
  3. using System.Collections.Generic;
  4. using System;
  5. using System.IO;
  6. [Serializable]
  7. public class ClimbHighExcelItem : ExcelItemBase
  8. {
  9. public int Level;
  10. public int RandomCount;
  11. public string Random1;
  12. public string Random2;
  13. public string Random3;
  14. public string Random4;
  15. public bool Settlement;
  16. public float StlTimeAwards;
  17. }
  18. [CreateAssetMenu(fileName = "ClimbHighExcelData", menuName = "Excel To ScriptableObject/Create ClimbHighExcelData", order = 1)]
  19. public class ClimbHighExcelData : ExcelDataBase<ClimbHighExcelItem>
  20. {
  21. }
  22. #if UNITY_EDITOR
  23. public class ClimbHighAssetAssignment
  24. {
  25. public static bool CreateAsset(List<Dictionary<string, string>> allItemValueRowList, string excelAssetPath)
  26. {
  27. if (allItemValueRowList == null || allItemValueRowList.Count == 0)
  28. return false;
  29. int rowCount = allItemValueRowList.Count;
  30. ClimbHighExcelItem[] items = new ClimbHighExcelItem[rowCount];
  31. for (int i = 0; i < items.Length; i++)
  32. {
  33. items[i] = new ClimbHighExcelItem();
  34. items[i].Level = Convert.ToInt32(allItemValueRowList[i]["Level"]);
  35. items[i].RandomCount = Convert.ToInt32(allItemValueRowList[i]["RandomCount"]);
  36. items[i].Random1 = allItemValueRowList[i]["Random1"];
  37. items[i].Random2 = allItemValueRowList[i]["Random2"];
  38. items[i].Random3 = allItemValueRowList[i]["Random3"];
  39. items[i].Random4 = allItemValueRowList[i]["Random4"];
  40. items[i].Settlement = Convert.ToBoolean(allItemValueRowList[i]["Settlement"]);
  41. items[i].StlTimeAwards = Convert.ToSingle(allItemValueRowList[i]["StlTimeAwards"]);
  42. }
  43. ClimbHighExcelData excelDataAsset = ScriptableObject.CreateInstance<ClimbHighExcelData>();
  44. excelDataAsset.items = items;
  45. if (!Directory.Exists(excelAssetPath))
  46. Directory.CreateDirectory(excelAssetPath);
  47. string pullPath = excelAssetPath + "/" + typeof(ClimbHighExcelData).Name + ".asset";
  48. UnityEditor.AssetDatabase.DeleteAsset(pullPath);
  49. UnityEditor.AssetDatabase.CreateAsset(excelDataAsset, pullPath);
  50. UnityEditor.AssetDatabase.Refresh();
  51. return true;
  52. }
  53. }
  54. #endif