少年修仙传客户端代码仓库
client_Wu Xijin
2018-11-01 2bfcee1e0ac2fb7a4bfacd552d3a5053c614dccf
Core/GameEngine/Model/TelPartialConfig/PartPriorBundleConfig.cs
@@ -7,75 +7,32 @@
{
    public partial class PriorBundleConfig : ConfigBase
    {
        static List<string> m_Audios;
        public static List<string> audios {
            get {
                if (!inited)
                {
                    Init();
                }
                return m_Audios;
            }
        }
        static List<string> m_Effects;
        public static List<string> effects {
            get {
                if (!inited)
                {
                    Init();
                }
                return m_Effects;
            }
        }
        static List<string> m_Scenes;
        public static List<string> scenes {
            get {
                if (!inited)
                {
                    Init();
                }
                return m_Scenes;
            }
        }
        static List<string> m_Mobs;
        public static List<string> mobs {
            get {
                if (!inited)
                {
                    Init();
                }
                return m_Mobs;
            }
        }
        static Dictionary<string, PriorBundleConfig> m_Audios = new Dictionary<string, PriorBundleConfig>();
        static Dictionary<string, PriorBundleConfig> m_Effects = new Dictionary<string, PriorBundleConfig>();
        static Dictionary<string, PriorBundleConfig> m_Scenes = new Dictionary<string, PriorBundleConfig>();
        static Dictionary<string, PriorBundleConfig> m_Mobs = new Dictionary<string, PriorBundleConfig>();
        static bool inited = false;
        static void Init()
        {
            var values = Config.Instance.GetAllValues<PriorBundleConfig>();
            m_Audios = new List<string>();
            m_Effects = new List<string>();
            m_Scenes = new List<string>();
            m_Mobs = new List<string>();
            foreach (var value in values)
            {
                switch (value.AssetType)
                {
                    case 1:
                        m_Scenes.Add(value.AssetABName.ToLower());
                        m_Scenes[value.AssetABName.ToLower()] = value;
                        break;
                    case 2:
                        m_Mobs.Add(value.AssetABName.ToLower());
                        m_Mobs[value.AssetABName.ToLower()] = value;
                        break;
                    case 3:
                        m_Audios.Add(value.AssetABName.ToLower());
                        m_Audios[value.AssetABName.ToLower()] = value;
                        break;
                    case 4:
                        m_Effects.Add(value.AssetABName.ToLower());
                        m_Effects[value.AssetABName.ToLower()] = value;
                        break;
                }
            }
@@ -83,6 +40,28 @@
            inited = true;
        }
        public static int GetAssetPrior(AssetVersion.AssetCategory category, string fileName)
        {
            if (!inited)
            {
                Init();
            }
            fileName = fileName.ToLower();
            switch (category)
            {
                case AssetVersion.AssetCategory.Scene:
                    return m_Scenes.ContainsKey(fileName) ? m_Scenes[fileName].Prior : 100;
                case AssetVersion.AssetCategory.Mob:
                    return m_Mobs.ContainsKey(fileName) ? m_Mobs[fileName].Prior : 101;
                case AssetVersion.AssetCategory.Effect:
                    return m_Effects.ContainsKey(fileName) ? m_Effects[fileName].Prior : 102;
                case AssetVersion.AssetCategory.Audio:
                    return m_Audios.ContainsKey(fileName) ? m_Audios[fileName].Prior : 103;
                default:
                    return 0;
            }
        }
    }
}