edgesnapDataoneExcelData.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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 edgesnapDataoneExcelItem : ExcelItemBase
  8. {
  9. public float detectiontime;
  10. public string name;
  11. public int position;
  12. public int fraction;
  13. public int Startrandom;
  14. public int Endrandom;
  15. }
  16. [CreateAssetMenu(fileName = "edgesnapDataoneExcelData", menuName = "Excel To ScriptableObject/Create edgesnapDataoneExcelData", order = 1)]
  17. public class edgesnapDataoneExcelData : ExcelDataBase<edgesnapDataoneExcelItem>
  18. {
  19. }
  20. #if UNITY_EDITOR
  21. public class edgesnapDataoneAssetAssignment
  22. {
  23. public static bool CreateAsset(List<Dictionary<string, string>> allItemValueRowList, string excelAssetPath)
  24. {
  25. if (allItemValueRowList == null || allItemValueRowList.Count == 0)
  26. return false;
  27. int rowCount = allItemValueRowList.Count;
  28. edgesnapDataoneExcelItem[] items = new edgesnapDataoneExcelItem[rowCount];
  29. for (int i = 0; i < items.Length; i++)
  30. {
  31. items[i] = new edgesnapDataoneExcelItem();
  32. items[i].detectiontime = Convert.ToSingle(allItemValueRowList[i]["detectiontime"]);
  33. items[i].name = allItemValueRowList[i]["name"];
  34. items[i].position = Convert.ToInt32(allItemValueRowList[i]["position"]);
  35. items[i].fraction = Convert.ToInt32(allItemValueRowList[i]["fraction"]);
  36. items[i].Startrandom = Convert.ToInt32(allItemValueRowList[i]["Startrandom"]);
  37. items[i].Endrandom = Convert.ToInt32(allItemValueRowList[i]["Endrandom"]);
  38. }
  39. edgesnapDataoneExcelData excelDataAsset = ScriptableObject.CreateInstance<edgesnapDataoneExcelData>();
  40. excelDataAsset.items = items;
  41. if (!Directory.Exists(excelAssetPath))
  42. Directory.CreateDirectory(excelAssetPath);
  43. string pullPath = excelAssetPath + "/" + typeof(edgesnapDataoneExcelData).Name + ".asset";
  44. UnityEditor.AssetDatabase.DeleteAsset(pullPath);
  45. UnityEditor.AssetDatabase.CreateAsset(excelDataAsset, pullPath);
  46. UnityEditor.AssetDatabase.Refresh();
  47. return true;
  48. }
  49. }
  50. #endif