FieldScanner.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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 = 0; i < dataArray.Length; i++)
  16. {
  17. FieldCfg cfg = dataArray[i];
  18. List<StoryLevelCfg> storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(cfg.type, 0, cfg.id);
  19. int num = storyLevelCfgs.Count;
  20. int needPower = 0;
  21. for (int j = 0; j < num; j++)
  22. {
  23. needPower += storyLevelCfgs[j].power;
  24. }
  25. numDic.Add(cfg.id, num);
  26. needPowerDic.Add(cfg.id, needPower);
  27. }
  28. SQLiteHelper.Instance.OpenConnection();
  29. try
  30. {
  31. foreach (var cfg in dataArray)
  32. {
  33. var num = numDic[cfg.id];
  34. var needPower = needPowerDic[cfg.id];
  35. var names = new string[] { nameof(cfg.num) };
  36. var values = new string[] { "" + num };
  37. SQLiteHelper.Instance.UpdateValues(nameof(FieldCfgArray), names, values, nameof(cfg.id), cfg.id.ToString());
  38. }
  39. }
  40. catch (Exception e)
  41. {
  42. ET.Log.Error(e.ToString());
  43. }
  44. finally
  45. {
  46. SQLiteHelper.Instance.CloseConnection();
  47. }
  48. }
  49. }
  50. }