using System; using System.Collections.Generic; using GFGGame; namespace GFGEditor { public class FieldScanner { private static Dictionary numDic = new Dictionary(); private static Dictionary needPowerDic = new Dictionary(); public static void StartScan() { numDic.Clear(); needPowerDic.Clear(); var dataArray = FieldCfgArray.Instance.dataArray; for (int i = 0; i < dataArray.Length; i++) { FieldCfg cfg = dataArray[i]; List storyLevelCfgs = StoryLevelCfgArray.Instance.GetCfgsBytypeAndsubTypeAndchapterId(cfg.type, 0, cfg.id); int num = storyLevelCfgs.Count; int needPower = 0; for (int j = 0; j < num; j++) { needPower += storyLevelCfgs[j].power; } numDic.Add(cfg.id, num); needPowerDic.Add(cfg.id, needPower); } SQLiteHelper.Instance.OpenConnection(); try { foreach (var cfg in dataArray) { var num = numDic[cfg.id]; var needPower = needPowerDic[cfg.id]; var names = new string[] { nameof(cfg.num) }; var values = new string[] { "" + num }; SQLiteHelper.Instance.UpdateValues(nameof(FieldCfgArray), names, values, nameof(cfg.id), cfg.id.ToString()); } } catch (Exception e) { ET.Log.Error(e.ToString()); } finally { SQLiteHelper.Instance.CloseConnection(); } } } }