| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 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()        {            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();            }        }    }}
 |