少年修仙传客户端代码仓库
client_Wu Xijin
2019-02-13 96ac92ee89919defe74e9a4bc981dbf328c8d476
3335 配置表读取重构。
2个文件已添加
7个文件已修改
301 ■■■■ 已修改文件
Core/GameEngine/Login/Launch.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Login/LaunchPostProcess.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/CrossRealmPKDanAwardConfig.cs 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/CrossRealmPKDanAwardConfig.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/CrossServerArenaConfig.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/LoginRewardConfig.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOneRewardModel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/LoginAd/LoginAdModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/ConfigInitiator.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Login/Launch.cs
@@ -295,7 +295,7 @@
                AssetBundleUtility.Instance.InitBuiltInAsset();
            }
            Config.Instance.PreLoadConfigs();
            ConfigInitiator.SyncInit();
            WindowCenter.Instance.DestoryWinsByStage(WindowCenter.WindowStage.Launch);
            AssetBundleUtility.Instance.UnloadAssetBundle("builtin/prefabs", true, false);
            WindowCenter.Instance.OpenFromLocal<LaunchWin>();
Core/GameEngine/Login/LaunchPostProcess.cs
@@ -11,7 +11,7 @@
    bool m_Completed = false;
    public bool completed { get { return m_Completed; } set { m_Completed = value; } }
    public float progress { get { return Mathf.Clamp01((Time.time - startTime) * 0.1f + Config.Instance.GetProgress() * 0.7f); } }
    public float progress { get { return Mathf.Clamp01((Time.time - startTime) * 0.1f + ConfigInitiator.progress * 0.7f); } }
    float startTime = 0f;
@@ -19,16 +19,15 @@
    {
        completed = false;
        startTime = Time.time;
        StartCoroutine(Config.Instance.Co_LoadConfigs());
        ConfigInitiator.Init();
    }
    private void Update()
    {
        if (!completed && Config.Instance.AllCompleted())
        if (!completed && ConfigInitiator.done)
        {
            try
            {
                Config.Instance.ConfigParsePostProcess();
                GeneralDefine.Init();
                InGameDownLoad.Instance.ParseRewardConfig();
                ModelCenter.Instance.Init();
Core/GameEngine/Model/Config/CrossRealmPKDanAwardConfig.cs
New file
@@ -0,0 +1,167 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Wednesday, February 13, 2019
//--------------------------------------------------------
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System;
using UnityEngine;
public partial class CrossRealmPKDanAwardConfig
{
    public int id { get ; private set ; }
        public int CrossZoneName { get ; private set ; }
        public int SeasonID { get ; private set ; }
        public int DanLV { get ; private set ; }
        public string DanLVAwardList { get ; private set; }
        public string SeasonAwardList { get ; private set; }
    public CrossRealmPKDanAwardConfig()
    {
    }
    public CrossRealmPKDanAwardConfig(string input)
    {
    }
    static Dictionary<string, CrossRealmPKDanAwardConfig> configs = new Dictionary<string, CrossRealmPKDanAwardConfig>();
    public static CrossRealmPKDanAwardConfig Get(string id)
    {
        if (!inited)
        {
            Debug.Log("CrossRealmPKDanAwardConfig 还未完成初始化。");
            return null;
        }
        if (configs.ContainsKey(id))
        {
            return configs[id];
        }
        CrossRealmPKDanAwardConfig config = null;
        if (rawDatas.ContainsKey(id))
        {
            config = configs[id] = new CrossRealmPKDanAwardConfig(rawDatas[id]);
            rawDatas.Remove(id);
        }
        return config;
    }
    public static CrossRealmPKDanAwardConfig Get(int id)
    {
        return Get(id.ToString());
    }
    public static List<string> GetKeys()
    {
        var keys = new List<string>();
        keys.AddRange(configs.Keys);
        keys.AddRange(rawDatas.Keys);
        return keys;
    }
    public static List<CrossRealmPKDanAwardConfig> GetValues()
    {
        var values = new List<CrossRealmPKDanAwardConfig>();
        values.AddRange(configs.Values);
        var keys = new List<string>(rawDatas.Keys);
        foreach (var key in keys)
        {
            values.Add(Get(key));
        }
        return values;
    }
    public static bool Has(string id)
    {
        return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
    }
    public static bool Has(int id)
    {
        return Has(id.ToString());
    }
    public static bool inited { get; private set; }
    protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
    public static void Init(bool sync=false)
    {
        inited = false;
        var path = string.Empty;
        if (AssetSource.refdataFromEditor)
        {
            path = ResourcesPath.CONFIG_FODLER +"/#FileName#.txt";
        }
        else
        {
            path = AssetVersionUtility.GetAssetFilePath("config/#FileName#.txt");
        }
        var tempConfig = new CrossRealmPKDanAwardConfig();
        var preParse = tempConfig is IConfigPostProcess;
        if (sync)
        {
            var lines = File.ReadAllLines(path);
            if (!preParse)
            {
                rawDatas = new Dictionary<string, string>(lines.Length - 3);
            }
            for (int i = 3; i < lines.Length; i++)
            {
                var line = lines[i];
                var index = line.IndexOf("\t");
                var id = line.Substring(0, index);
                if (preParse)
                {
                    configs[id] = new CrossRealmPKDanAwardConfig(line);
                }
                else
                {
                    rawDatas[id] = line;
                }
            }
            inited = true;
        }
        else
        {
            ThreadPool.QueueUserWorkItem((object _object) =>
            {
                var lines = File.ReadAllLines(path);
                if (!preParse)
                {
                    rawDatas = new Dictionary<string, string>(lines.Length - 3);
                }
                for (int i = 3; i < lines.Length; i++)
                {
                    var line = lines[i];
                    var index = line.IndexOf("\t");
                    var id = line.Substring(0, index);
                    if (preParse)
                    {
                        configs[id] = new CrossRealmPKDanAwardConfig(line);
                    }
                    else
                    {
                        rawDatas[id] = line;
                    }
                }
                inited = true;
            });
        }
    }
}
Core/GameEngine/Model/Config/CrossRealmPKDanAwardConfig.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 96531a774cbac5a44a470f8684588371
timeCreated: 1550054404
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/GameEngine/Model/Config/CrossServerArenaConfig.cs
@@ -5,11 +5,10 @@
using UnityEngine;
using System;
namespace TableConfig {
using System.Collections.Generic;
    
    public partial class CrossServerArenaConfig : ConfigBase {
    public partial class CrossServerArenaConfig {
        public int DanLV { get ; private set ; }
        public string Name { get ; private set; } 
@@ -17,37 +16,29 @@
        public string IconKey { get ; private set; } 
        public int LVUpScore { get ; private set ; }
        public string DanLVAwardList { get ; private set; } 
        public string SeasonAwardList { get ; private set; }
        public string SeasonAwardList { get ; private set; }
    public static bool inited;
        public override string getKey()
        {
            return DanLV.ToString();
        }
    public static void Init()
    {
    }
        public override void Parse() {
            try
            {
                DanLV=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0;
                Name = rawContents[1].Trim();
                DanType=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0;
                IconKey = rawContents[3].Trim();
                LVUpScore=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0;
                DanLVAwardList = rawContents[5].Trim();
                SeasonAwardList = rawContents[6].Trim();
            }
            catch (Exception ex)
            {
                DebugEx.Log(ex);
            }
        }
    }
    public static CrossServerArenaConfig Get(string id)
    {
        return null;
    }
    public static CrossServerArenaConfig Get(int id)
    {
        return null;
    }
    public static List<CrossServerArenaConfig> GetValues()
    {
        return null;
    }
}
Core/GameEngine/Model/Config/LoginRewardConfig.cs
@@ -6,10 +6,9 @@
using UnityEngine;
using System;
namespace TableConfig {
    
    public partial class LoginRewardConfig : ConfigBase {
    public partial class LoginRewardConfig  {
        public int Id { get ; private set ; }
        public int ActionType { get ; private set ; }
@@ -17,39 +16,26 @@
        public int jump { get ; private set ; }
        public int order { get ; private set ; }
        public int DailyQusetId { get ; private set ; }
        public int SpecialDisplayType { get ; private set ; }
        public override string getKey()
        {
            return Id.ToString();
        public int SpecialDisplayType { get ; private set ; }
        public static bool inited;
        public static void Init()
        {
        }
        public override void Parse() {
            try
            {
                Id=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0;
                ActionType=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0;
                Description = rawContents[2].Trim();
                jump=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0;
                order=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0;
                DailyQusetId=IsNumeric(rawContents[5]) ? int.Parse(rawContents[5]):0;
                SpecialDisplayType=IsNumeric(rawContents[6]) ? int.Parse(rawContents[6]):0;
            }
            catch (Exception ex)
            {
                DebugEx.Log(ex);
            }
        }
    }
        public static LoginRewardConfig Get(string id)
        {
            return null;
        }
        public static LoginRewardConfig Get(  int id )
        {
            return null;
        }
    }
}
System/CrossServerOneVsOne/CrossServerOneVsOneRewardModel.cs
@@ -166,7 +166,7 @@
        {
            seasonID +=1;
        }
        var configPK = Config.Instance.GetAllValues<CrossRealmPKDanAwardConfig>();
        var configPK = CrossRealmPKDanAwardConfig.GetValues();
      //  var config = Config.Instance.GetAllValues<CrossServerArenaConfig>();
        for (int i = 0; i < configPK.Count; i++)
        {
@@ -219,7 +219,7 @@
            }
        }
        SeasonRewardDic = _award;
        var config = Config.Instance.GetAllValues<CrossServerArenaConfig>();
        var config = CrossServerArenaConfig.GetValues();
        for (int i = 0; i < config.Count; i++)
        {
            var _config = config[i];
System/LoginAd/LoginAdModel.cs
@@ -102,7 +102,7 @@
        public bool TryGetLoginAd(int _presentId, out int _id)
        {
            _id = 0;
            var configs = Config.Instance.GetAllValues<LoginAdConfig>();
            var configs = LoginAdConfig.GetValues();
            for (int i = 0; i < configs.Count; i++)
            {
                var config = configs[i];
Utility/ConfigInitiator.cs
@@ -23,7 +23,7 @@
    static int taskCount = 0;
    static int completeCount = 0;
    static bool done = false;
   public static bool done = false;
    public static float progress { get; private set; }
    public static void Init()