| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | using System;using System.Collections.Generic;using System.Linq;using System.Text;using GFGGame;namespace GFGEditor{    public class InstanceZonesScanner    {        //计算每个副本的关卡数        private static Dictionary<int, int> levelCountDIc = new Dictionary<int, int>();        public static void StartScan()        {            levelCountDIc.Clear();            var dataArray = StoryLevelCfgArray.Instance.dataArray;            SQLiteHelper.Instance.OpenConnection();            try            {                foreach (var cfg in dataArray)                {                    var key = CalculateHelper.GenerateInstanceZonesLevelStateKey(cfg.type, cfg.subType, cfg.chapterId);                    levelCountDIc.TryGetValue(key, out var count);                    count++;                    levelCountDIc[key] = count;                    var names = new string[] { nameof(cfg.order) };                    var values = new string[] { "" + count };                    SQLiteHelper.Instance.UpdateValues(nameof(StoryLevelCfgArray), names, values, nameof(cfg.id), cfg.id.ToString());                }            }            catch (Exception e)            {                ET.Log.Error(e.ToString());            }            finally            {                SQLiteHelper.Instance.CloseConnection();            }            //写入            WriteStoryChapter();            WriteStudioChapter();        }        public static void WriteStoryChapter()        {            //写入            var dataArray = StoryChapterCfgArray.Instance.dataArray;            SQLiteHelper.Instance.OpenConnection();            try            {                foreach (var cfg in dataArray)                {                    var key = CalculateHelper.GenerateInstanceZonesLevelStateKey(cfg.type, cfg.subType, cfg.id);                    levelCountDIc.TryGetValue(key, out var count);                    var names = new string[] { nameof(cfg.levelCount) };                    var values = new string[] { "" + count };                    SQLiteHelper.Instance.UpdateValues(nameof(StoryChapterCfgArray), names, values, nameof(cfg.id), cfg.id.ToString());                }            }            catch (Exception e)            {                ET.Log.Error(e.ToString());            }            finally            {                SQLiteHelper.Instance.CloseConnection();            }        }        public static void WriteStudioChapter()        {            //写入            var dataArray = StudioCfgArray.Instance.dataArray;            SQLiteHelper.Instance.OpenConnection();            try            {                foreach (var cfg in dataArray)                {                    var key = CalculateHelper.GenerateInstanceZonesLevelStateKey(cfg.type, cfg.subType, cfg.id);                    levelCountDIc.TryGetValue(key, out var count);                    var names = new string[] { nameof(cfg.levelCount) };                    var values = new string[] { "" + count };                    SQLiteHelper.Instance.UpdateValues(nameof(StudioCfgArray), names, values, nameof(cfg.id), cfg.id.ToString());                }            }            catch (Exception e)            {                throw (e);            }            finally            {                SQLiteHelper.Instance.CloseConnection();            }        }    }}
 |