edgesnapDatatwoExcelData.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 edgesnapDatatwoExcelItem : 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 = "edgesnapDatatwoExcelData", menuName = "Excel To ScriptableObject/Create edgesnapDatatwoExcelData", order = 1)]
  17. public class edgesnapDatatwoExcelData : ExcelDataBase<edgesnapDatatwoExcelItem>
  18. {
  19. }
  20. #if UNITY_EDITOR
  21. public class edgesnapDatatwoAssetAssignment
  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. edgesnapDatatwoExcelItem[] items = new edgesnapDatatwoExcelItem[rowCount];
  29. for (int i = 0; i < items.Length; i++)
  30. {
  31. items[i] = new edgesnapDatatwoExcelItem();
  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. edgesnapDatatwoExcelData excelDataAsset = ScriptableObject.CreateInstance<edgesnapDatatwoExcelData>();
  40. excelDataAsset.items = items;
  41. if (!Directory.Exists(excelAssetPath))
  42. Directory.CreateDirectory(excelAssetPath);
  43. string pullPath = excelAssetPath + "/" + typeof(edgesnapDatatwoExcelData).Name + ".asset";
  44. UnityEditor.AssetDatabase.DeleteAsset(pullPath);
  45. UnityEditor.AssetDatabase.CreateAsset(excelDataAsset, pullPath);
  46. UnityEditor.AssetDatabase.Refresh();
  47. return true;
  48. }
  49. }
  50. #endif