FieldScanner.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Collections.Generic;
  3. using GFGGame;
  4. namespace GFGEditor
  5. {
  6. public class FieldScanner
  7. {
  8. private static Dictionary<int, int> numDic = new Dictionary<int, int>();
  9. private static Dictionary<int, int> needPowerDic = new Dictionary<int, int>();
  10. public static void StartScan()
  11. {
  12. numDic.Clear();
  13. needPowerDic.Clear();
  14. var dataArray = FieldCfgArray.Instance.dataArray;
  15. // for (int i = dataArray.Length - 1; i >= 0; i--)
  16. // {
  17. for (int i = 0; i < dataArray.Length; i++)
  18. {
  19. FieldCfg cfg = dataArray[i];
  20. List<StoryLevelCfg> storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgs(cfg.type, cfg.subType, cfg.id);
  21. int num = storyLevelCfgs.Count;
  22. int needPower = 0;
  23. for (int j = 0; j < num; j++)
  24. {
  25. needPower += storyLevelCfgs[j].power;
  26. }
  27. numDic.Add(cfg.id, num);
  28. needPowerDic.Add(cfg.id, needPower);
  29. }
  30. SQLiteHelper.Instance.OpenConnection();
  31. try
  32. {
  33. foreach (var cfg in dataArray)
  34. {
  35. var num = numDic[cfg.id];
  36. var needPower = needPowerDic[cfg.id];
  37. var names = new string[] { nameof(cfg.num), nameof(cfg.needPower) };
  38. var values = new string[] { "" + num, "" + needPower };
  39. SQLiteHelper.Instance.UpdateValues(nameof(FieldCfgArray), names, values, nameof(cfg.id), cfg.id.ToString());
  40. }
  41. }
  42. catch (Exception e)
  43. {
  44. ET.Log.Error(e.ToString());
  45. }
  46. finally
  47. {
  48. SQLiteHelper.Instance.CloseConnection();
  49. }
  50. }
  51. }
  52. }