12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using System;
- using System.Collections.Generic;
- using GFGGame;
- namespace GFGEditor
- {
- public class SuitGuideScanner
- {
- private static List<int> suitIds = new List<int>();
- public static void StartScan()
- {
- suitIds.Clear();
- var dataArray = SuitGuideMenuCfgArray.Instance.dataArray;
- Dictionary<SuitCfg, List<string>> tagsDic = new Dictionary<SuitCfg, List<string>>();
- string strs = "";
- for (int i = 0; i < dataArray.Length; i++)
- {
- SuitGuideMenuCfg cfg = dataArray[i];
- string str = string.Format(";{0}", cfg.suitIds);
- strs += str;
- HandleItemAndSuitTags(cfg, tagsDic);
- }
- SQLiteHelper.Instance.OpenConnection();
- try
- {
- // foreach (var cfg in dataArray)
- // {
- //SuitGuideMenuCfg cfg = dataArray[0];
- //var names = new string[] { nameof(cfg.suitIds) };
- //var values = new string[] { strs };
- //SQLiteHelper.Instance.UpdateValues(nameof(SuitGuideMenuCfgArray), names, values, nameof(cfg.id), cfg.id.ToString());
- // }
- //²ÄÁ϶ÔÓ¦µÄÌ××°id
- foreach (var a in tagsDic)
- {
- var names = new string[] { nameof(a.Key.tagsArr).Replace("Arr", "") };
- var values = new string[] { string.Join(";", a.Value) };
- SQLiteHelper.Instance.UpdateValues(nameof(SuitCfgArray), names, values, nameof(a.Key), a.Value.ToString());
- }
- }
- catch (Exception e)
- {
- ET.Log.Error(e.ToString());
- }
- finally
- {
- SQLiteHelper.Instance.CloseConnection();
- }
- }
- private static void HandleItemAndSuitTags(SuitGuideMenuCfg cfg, Dictionary<SuitCfg, List<string>> tagsDic)
- {
- var suitIDList = new List<int>(SuitCfgArray.Instance.GetSuitItems(cfg.id, true));
- Dictionary<string, int> tagsArr = new Dictionary<string, int>();
- //Dictionary<int, Dictionary<string, int>> tagsSuitArr = new Dictionary<int, Dictionary<string, int>>();
- var suitCfg = SuitCfgArray.Instance.GetCfg(cfg.id);
- foreach (var id in suitIDList)
- {
- ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(id);
- for (int i = 0; i < itemCfg.tagsArr.Length; i++)
- {
- if (!tagsArr.ContainsKey(itemCfg.tagsArr[i][0]))
- tagsArr[itemCfg.tagsArr[i][0]] = Convert.ToInt32(itemCfg.tagsArr[i][1]);
- else
- tagsArr[itemCfg.tagsArr[i][0]] += Convert.ToInt32(itemCfg.tagsArr[i][1]);
- }
- }
- foreach (var info in tagsArr.Keys)
- {
- //Dictionary<string, int> suitArr = new Dictionary<string, int>();
- string str = info + "*" + tagsArr[info];
- tagsDic[suitCfg].Add(str);
- }
- }
- }
- }
|