ConfigArray2.txt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System.Collections.Generic;
  2. namespace GFGGame
  3. {
  4. public class {CfgArrayName} : SingletonBase<{CfgArrayName}>
  5. {
  6. private Dictionary<{keyType}, {CfgName}[]> _cfgsDic = new Dictionary<{keyType}, {CfgName}[]>();
  7. public {CfgName}[] GetCfgs({keyType} {keyName})
  8. {
  9. if (_cfgsDic.TryGetValue({keyName}, out {CfgName}[] cfgs))
  10. {
  11. return cfgs;
  12. }
  13. List<{CfgName}> list = new List<{CfgName}>();
  14. SQLiteHelper.Instance.OpenConnection();
  15. try
  16. {
  17. var reader = SQLiteHelper.Instance.ReadTableByOneCol("{CfgArrayName}", "{keyName}", {keyName}.ToString());
  18. while (reader.Read())
  19. {
  20. var cfg = new {CfgName}();
  21. cfg.setData(reader);
  22. list.Add(cfg);
  23. }
  24. }
  25. catch(System.Exception e)
  26. {
  27. ET.Log.Error(e);
  28. }
  29. finally
  30. {
  31. SQLiteHelper.Instance.CloseConnection();
  32. }
  33. cfgs = list.ToArray();
  34. _cfgsDic.Add({keyName}, cfgs);
  35. return cfgs;
  36. }
  37. #if UNITY_EDITOR
  38. private {CfgName}[] _allDatas;
  39. public {CfgName}[] dataArray
  40. {
  41. get
  42. {
  43. if (_allDatas == null)
  44. {
  45. List<{CfgName}> list = new List<{CfgName}>();
  46. SQLiteHelper.Instance.OpenConnection();
  47. try
  48. {
  49. var reader = SQLiteHelper.Instance.ReadFullTable("{CfgArrayName}");
  50. while (reader.Read())
  51. {
  52. var cfg = new {CfgName}();
  53. cfg.setData(reader);
  54. list.Add(cfg);
  55. }
  56. }
  57. catch(System.Exception e)
  58. {
  59. ET.Log.Error(e);
  60. }
  61. finally
  62. {
  63. SQLiteHelper.Instance.CloseConnection();
  64. }
  65. _allDatas = list.ToArray();
  66. }
  67. return _allDatas;
  68. }
  69. }
  70. #endif
  71. }
  72. }