少年修仙传客户端代码仓库
client_Lhy
2019-06-24 356821032f10ee7076b1cd8ddb9b02a2a5ddfbb1
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
13个文件已修改
758 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/DemonJarConfig.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DemonJarConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DienstgradConfig.cs 397 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DienstgradConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/LoadingBackGroundConfig.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/LoadingBackGroundConfig.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarModel.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipEquipBaseInfoWidget.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Loading/LoadingWin.cs 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RidingPet/RidingPetBossModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RidingPet/RidingPetBossRewardCell.cs 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/RoleTitle.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/HUD/PopUpNum.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DemonJarConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Wednesday, June 19, 2019
//    [  Date ]:           Monday, June 24, 2019
//--------------------------------------------------------
using System.Collections.Generic;
@@ -23,6 +23,7 @@
    public readonly int SpecialItemMark;
    public readonly int CanEnterTimes;
    public readonly int AutoAttention;
    public readonly int CancelAttentionAfterKill;
    public readonly int[] Job1;
    public readonly int[] Job2;
    public readonly int[] Job3;
@@ -70,32 +71,34 @@
            int.TryParse(tables[9],out AutoAttention); 
            string[] Job1StringArray = tables[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            int.TryParse(tables[10],out CancelAttentionAfterKill);
            string[] Job1StringArray = tables[11].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            Job1 = new int[Job1StringArray.Length];
            for (int i=0;i<Job1StringArray.Length;i++)
            {
                 int.TryParse(Job1StringArray[i],out Job1[i]);
            }
            string[] Job2StringArray = tables[11].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            string[] Job2StringArray = tables[12].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            Job2 = new int[Job2StringArray.Length];
            for (int i=0;i<Job2StringArray.Length;i++)
            {
                 int.TryParse(Job2StringArray[i],out Job2[i]);
            }
            string[] Job3StringArray = tables[12].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            string[] Job3StringArray = tables[13].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            Job3 = new int[Job3StringArray.Length];
            for (int i=0;i<Job3StringArray.Length;i++)
            {
                 int.TryParse(Job3StringArray[i],out Job3[i]);
            }
            int.TryParse(tables[13],out KillHurtMin);
            int.TryParse(tables[14],out KillHurtMin);
            int.TryParse(tables[14],out KillHurtMax);
            int.TryParse(tables[15],out KillHurtMax);
            RewardDescription = tables[15];
            RewardDescription = tables[16];
        }
        catch (Exception ex)
        {
Core/GameEngine/Model/Config/DemonJarConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 466bd77ae1300624fbf81f61d9ef6259
timeCreated: 1560926383
timeCreated: 1561343802
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/GameEngine/Model/Config/DienstgradConfig.cs
@@ -1,18 +1,18 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Wednesday, May 15, 2019
//--------------------------------------------------------
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System;
using UnityEngine;
[XLua.LuaCallCSharp]
public partial class DienstgradConfig
{
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Monday, June 24, 2019
//--------------------------------------------------------
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System;
using UnityEngine;
[XLua.LuaCallCSharp]
public partial class DienstgradConfig
{
    public readonly int ID;
    public readonly string Name;
    public readonly int Type;
@@ -25,17 +25,18 @@
    public readonly int[] Skills;
    public readonly int gotoId;
    public readonly int missionId;
    public DienstgradConfig()
    {
    }
    public DienstgradConfig(string input)
    {
        try
        {
            var tables = input.Split('\t');
    public readonly int order;
    public DienstgradConfig()
    {
    }
    public DienstgradConfig(string input)
    {
        try
        {
            var tables = input.Split('\t');
            int.TryParse(tables[0],out ID); 
            Name = tables[1];
@@ -74,175 +75,177 @@
            int.TryParse(tables[10],out gotoId); 
            int.TryParse(tables[11],out missionId); 
        }
        catch (Exception ex)
        {
            DebugEx.Log(ex);
        }
    }
    static Dictionary<string, DienstgradConfig> configs = new Dictionary<string, DienstgradConfig>();
    public static DienstgradConfig Get(string id)
    {
        if (!inited)
        {
            Debug.Log("DienstgradConfig 还未完成初始化。");
            return null;
        }
        if (configs.ContainsKey(id))
        {
            return configs[id];
        }
        DienstgradConfig config = null;
        if (rawDatas.ContainsKey(id))
        {
            config = configs[id] = new DienstgradConfig(rawDatas[id]);
            rawDatas.Remove(id);
        }
        return config;
    }
    public static DienstgradConfig 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<DienstgradConfig> GetValues()
    {
        var values = new List<DienstgradConfig>();
        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 +"/Dienstgrad.txt";
        }
        else
        {
            path = AssetVersionUtility.GetAssetFilePath("config/Dienstgrad.txt");
        }
        configs.Clear();
        var tempConfig = new DienstgradConfig();
        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++)
            {
                try
                {
                    var line = lines[i];
                    var index = line.IndexOf("\t");
                    if (index == -1)
                    {
                        continue;
                    }
                    var id = line.Substring(0, index);
                    if (preParse)
                    {
                        var config = new DienstgradConfig(line);
                        configs[id] = config;
                        (config as IConfigPostProcess).OnConfigParseCompleted();
                    }
                    else
                    {
                        rawDatas[id] = line;
                    }
                }
                catch (System.Exception ex)
                {
                    Debug.LogError(ex);
                }
            }
            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++)
                {
                    try
                    {
                       var line = lines[i];
                        var index = line.IndexOf("\t");
                        if (index == -1)
                        {
                            continue;
                        }
                        var id = line.Substring(0, index);
                        if (preParse)
                        {
                            var config = new DienstgradConfig(line);
                            configs[id] = config;
                            (config as IConfigPostProcess).OnConfigParseCompleted();
                        }
                        else
                        {
                            rawDatas[id] = line;
                        }
                    }
                    catch (System.Exception ex)
                    {
                        Debug.LogError(ex);
                    }
                }
                inited = true;
            });
        }
    }
}
            int.TryParse(tables[12],out order);
        }
        catch (Exception ex)
        {
            DebugEx.Log(ex);
        }
    }
    static Dictionary<string, DienstgradConfig> configs = new Dictionary<string, DienstgradConfig>();
    public static DienstgradConfig Get(string id)
    {
        if (!inited)
        {
            Debug.Log("DienstgradConfig 还未完成初始化。");
            return null;
        }
        if (configs.ContainsKey(id))
        {
            return configs[id];
        }
        DienstgradConfig config = null;
        if (rawDatas.ContainsKey(id))
        {
            config = configs[id] = new DienstgradConfig(rawDatas[id]);
            rawDatas.Remove(id);
        }
        return config;
    }
    public static DienstgradConfig 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<DienstgradConfig> GetValues()
    {
        var values = new List<DienstgradConfig>();
        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 +"/Dienstgrad.txt";
        }
        else
        {
            path = AssetVersionUtility.GetAssetFilePath("config/Dienstgrad.txt");
        }
        configs.Clear();
        var tempConfig = new DienstgradConfig();
        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++)
            {
                try
                {
                    var line = lines[i];
                    var index = line.IndexOf("\t");
                    if (index == -1)
                    {
                        continue;
                    }
                    var id = line.Substring(0, index);
                    if (preParse)
                    {
                        var config = new DienstgradConfig(line);
                        configs[id] = config;
                        (config as IConfigPostProcess).OnConfigParseCompleted();
                    }
                    else
                    {
                        rawDatas[id] = line;
                    }
                }
                catch (System.Exception ex)
                {
                    Debug.LogError(ex);
                }
            }
            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++)
                {
                    try
                    {
                       var line = lines[i];
                        var index = line.IndexOf("\t");
                        if (index == -1)
                        {
                            continue;
                        }
                        var id = line.Substring(0, index);
                        if (preParse)
                        {
                            var config = new DienstgradConfig(line);
                            configs[id] = config;
                            (config as IConfigPostProcess).OnConfigParseCompleted();
                        }
                        else
                        {
                            rawDatas[id] = line;
                        }
                    }
                    catch (System.Exception ex)
                    {
                        Debug.LogError(ex);
                    }
                }
                inited = true;
            });
        }
    }
}
Core/GameEngine/Model/Config/DienstgradConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: cf378d806fecb8549bdd3d692675b071
timeCreated: 1557892341
timeCreated: 1561347871
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/GameEngine/Model/Config/LoadingBackGroundConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Wednesday, May 15, 2019
//    [  Date ]:           Monday, June 24, 2019
//--------------------------------------------------------
using System.Collections.Generic;
@@ -16,6 +16,8 @@
    public readonly int id;
    public readonly int lineId;
    public readonly string[] icons;
    public readonly string[] jobIntroduce1;
    public readonly string[] jobIntroduce2;
    public readonly string levelLimit;
    public readonly string name;
    public readonly string description;
@@ -36,11 +38,15 @@
            icons = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            levelLimit = tables[3];
            jobIntroduce1 = tables[3].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            name = tables[4];
            jobIntroduce2 = tables[4].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            description = tables[5];
            levelLimit = tables[5];
            name = tables[6];
            description = tables[7];
        }
        catch (Exception ex)
        {
Core/GameEngine/Model/Config/LoadingBackGroundConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: c7d4d28c22cfd0a4ba5664d4c120d929
timeCreated: 1557893937
timeCreated: 1561345569
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/FindPrecious/DemonJarModel.cs
@@ -467,9 +467,27 @@
        private void OnDungeonRecordUpdate(int _dataMapId)
        {
            if (DATA_MAPID == _dataMapId && PlayerDatas.Instance.baseData.LV >= GeneralDefine.demonJarRedPoint)
            if (DATA_MAPID != _dataMapId)
            {
                return;
            }
            if (PlayerDatas.Instance.baseData.LV >= GeneralDefine.demonJarRedPoint)
            {
                UpdateRedpoint();
            }
            foreach (var boss in demonBosses.Values)
            {
                if (this.findPreciousModel.IsBossAutoSubscribe(boss.id))
                {
                    var config = DemonJarConfig.Get(boss.id);
                    var grade = dungeonModel.GetGrade(new Dungeon(DATA_MAPID, config.LineID));
                    if (grade > 0 && config.CancelAttentionAfterKill == 1)
                    {
                        this.findPreciousModel.RequestDeSubscribeBoss(boss.id);
                    }
                }
            }
        }
@@ -498,12 +516,13 @@
            if (bossId != 0 && this.findPreciousModel.IsBossNeverSubscribe(bossId))
            {
                if (findPreciousModel.IsBossUnlock(bossId))
                if (IsBossUnlock(bossId))
                {
                    var config = DemonJarConfig.Get(bossId);
                    if (config.AutoAttention == 1)
                    {
                        this.findPreciousModel.RequestSubscribeBoss(bossId, true);
                        var model = ModelCenter.Instance.GetModel<DungeonModel>();
                        var grade = model.GetGrade(new Dungeon(DATA_MAPID, config.LineID));
                        if ((config.CanEnterTimes == 0 || grade == 0) && this.findPreciousModel.IsBossAlive(bossId))
System/ItemTip/TipEquipBaseInfoWidget.cs
@@ -98,6 +98,26 @@
                    m_SurplusTime.text = "已过期";
                }
            }
            else if (itemConfig.ExpireTime > 0)
            {
                if (!baseInfo.isOverdue)
                {
                    if (baseInfo.overdueSurplusTime > 0)
                    {
                        m_SurplusTimeContainer.gameObject.SetActive(true);
                        m_SurplusTime.text = TimeUtility.SecondsToConsumeRebate(baseInfo.overdueSurplusTime);
                    }
                    else
                    {
                        m_SurplusTimeContainer.gameObject.SetActive(false);
                    }
                }
                else
                {
                    m_SurplusTimeContainer.gameObject.SetActive(true);
                    m_SurplusTime.text = "已过期";
                }
            }
            else
            {
                m_SurplusTimeContainer.gameObject.SetActive(false);
System/Loading/LoadingWin.cs
@@ -35,6 +35,7 @@
        [SerializeField] RectTransform m_CrossServerOneVsOne;
        [SerializeField] Image m_CrossServerOneVsOneBg;
        [SerializeField] RectTransform m_CrossServerOneVsOneName;
        [SerializeField] Text m_MyName;
        [SerializeField] Text m_OpponentName;
@@ -65,6 +66,7 @@
        protected override void OnPreClose()
        {
            isCrossServerOneVsOne = false;
            loadingType = isCrossServerOneVsOne ? LoadingType.CrossServerOneOne : LoadingType.Normal;
            CameraUtility.StopShotCut(m_ScreenShotCut);
            if (!AssetSource.uiFromEditor)
@@ -129,139 +131,163 @@
                }
            }
            if (isCrossServerOneVsOne)
            switch (loadingType)
            {
                loadingType = LoadingType.CrossServerOneOne;
                case LoadingType.Normal:
                    m_ContainerNormal.gameObject.SetActive(true);
                    m_CrossServerOneVsOne.gameObject.SetActive(false);
                    if (Application.platform == RuntimePlatform.IPhonePlayer)
                    {
                        m_ContainerProgress.gameObject.SetActive(false);
                    }
                    else
                    {
                        m_ContainerProgress.gameObject.SetActive(true);
                        m_ProgressSlider.ResetValue(0f);
                    }
                    break;
                case LoadingType.CrossServerOneOne:
                    m_ContainerNormal.gameObject.SetActive(false);
                    m_CrossServerOneVsOne.gameObject.SetActive(true);
                    break;
            }
            else
            DisplayBackGround(loadingType ,useDefautBackGround);
            DisplayNameAndDescription();
        }
        private void DisplayBackGround(LoadingType loadingType, bool showDefault)
        {
            if (showDefault)
            {
                loadingType = LoadingType.Normal;
                var sprite = BuiltInLoader.LoadSprite("Launch_1");
                switch (loadingType)
                {
                    case LoadingType.CrossServerOneOne:
                        m_CrossServerOneVsOneBg.overrideSprite = sprite;
                        m_CrossServerOneVsOneName.gameObject.SetActive(false);
                        break;
                    case LoadingType.Normal:
                        m_BackGround.overrideSprite = sprite;
                        m_ContainerMapName.gameObject.SetActive(false);
                        m_ContainerMapDescription.gameObject.SetActive(false);
                        m_ContainerFunctions.gameObject.SetActive(false);
                        break;
                }
                return;
            }
            if (loadingType == LoadingType.CrossServerOneOne)
            {
                if (useDefautBackGround)
                {
                    var sprite = BuiltInLoader.LoadSprite("Launch_1");
                    m_CrossServerOneVsOneBg.overrideSprite = sprite;
                }
                else
                {
                    m_CrossServerOneVsOneBg.SetSprite("CrossServerOneVsOne_LoadingBG");
                }
                m_ContainerNormal.gameObject.SetActive(false);
                m_CrossServerOneVsOne.gameObject.SetActive(true);
                m_CrossServerOneVsOneBg.SetSprite("CrossServerOneVsOne_LoadingBG");
                m_CrossServerOneVsOneName.gameObject.SetActive(true);
                m_MyName.text = CrossServerLogin.Instance.oneVsOnePlayerData.myName;
                m_OpponentName.text = CrossServerLogin.Instance.oneVsOnePlayerData.opponentName;
            }
            else
            {
                m_ContainerNormal.gameObject.SetActive(true);
                m_CrossServerOneVsOne.gameObject.SetActive(false);
                var playerLevel = PlayerDatas.Instance.baseData.LV == 0 ? PlayerDatas.Instance.loginInfo.LV : PlayerDatas.Instance.baseData.LV;
                var playerJob = PlayerDatas.Instance.baseData.Job == 0 ? PlayerDatas.Instance.loginInfo.Job : PlayerDatas.Instance.baseData.Job;
                var mapResConfig = MapResourcesConfig.Get(targetMapResId);
                if (useDefautBackGround)
                if (mapResConfig != null)
                {
                    var sprite = BuiltInLoader.LoadSprite("Launch_1");
                    m_BackGround.overrideSprite = sprite;
                    m_ContainerMapName.gameObject.SetActive(false);
                    m_ContainerMapDescription.gameObject.SetActive(false);
                    m_ContainerFunctions.gameObject.SetActive(false);
                }
                else
                {
                    var playerLevel = PlayerDatas.Instance.baseData.LV == 0 ? PlayerDatas.Instance.loginInfo.LV : PlayerDatas.Instance.baseData.LV;
                    var mapResConfig = MapResourcesConfig.Get(targetMapResId);
                    if (mapResConfig != null)
                    var config = LoadingBackGroundConfig.Get(mapResConfig.DataID, mapResConfig.LineID);
                    var iconPool = new List<string>();
                    iconPool.AddRange(config.icons);
                    switch (playerJob)
                    {
                        var loadingBackGroudConfig = LoadingBackGroundConfig.Get(mapResConfig.DataID, mapResConfig.LineID);
                        if (loadingBackGroudConfig != null && loadingBackGroudConfig.icons.Length > 0)
                        case 1:
                            iconPool.AddRange(config.jobIntroduce1);
                            break;
                        case 2:
                            iconPool.AddRange(config.jobIntroduce2);
                            break;
                    }
                    if (iconPool.Count > 0)
                    {
                        var icons = new List<string>();
                        var json = JsonMapper.ToObject(config.levelLimit);
                        for (var i = 0; i < iconPool.Count; i++)
                        {
                            var icons = new List<string>();
                            var json = JsonMapper.ToObject(loadingBackGroudConfig.levelLimit);
                            for (var i = 0; i < loadingBackGroudConfig.icons.Length; i++)
                            var icon = iconPool[i];
                            if (json.Keys.Contains(icon))
                            {
                                var icon = loadingBackGroudConfig.icons[i];
                                if (json.Keys.Contains(icon))
                                var min = 0;
                                var max = int.MaxValue;
                                var levelLimit = json[icon].ToString();
                                var levelsMatch = Regex.Matches(levelLimit, "\\d+");
                                if (levelsMatch.Count > 0)
                                {
                                    var min = 0;
                                    var max = int.MaxValue;
                                    var levelLimit = json[icon].ToString();
                                    var levelsMatch = Regex.Matches(levelLimit, "\\d+");
                                    if (levelsMatch.Count > 0)
                                    {
                                        min = int.Parse(levelsMatch[0].Value);
                                    }
                                    if (levelsMatch.Count > 1)
                                    {
                                        max = int.Parse(levelsMatch[1].Value);
                                    }
                                    if (playerLevel > min && playerLevel < max)
                                    {
                                        icons.Add(icon);
                                    }
                                    min = int.Parse(levelsMatch[0].Value);
                                }
                                else
                                if (levelsMatch.Count > 1)
                                {
                                    max = int.Parse(levelsMatch[1].Value);
                                }
                                if (playerLevel > min && playerLevel < max)
                                {
                                    icons.Add(icon);
                                }
                            }
                            var randomIndex = UnityEngine.Random.Range(0, loadingBackGroudConfig.icons.Length > 1 ? icons.Count + 1 : 1);
                            if (randomIndex == icons.Count)
                            {
                                m_BackGround.SetSprite(GeneralDefine.LoadLV);
                                m_ContainerFunctions.gameObject.SetActive(true);
                                var functions = GetShowFunctions(playerLevel);
                                for (int i = 0; i < m_FunctionShows.Length; i++)
                                {
                                    var show = m_FunctionShows[i];
                                    show.Display(functions[i]);
                                }
                            }
                            else
                            {
                                m_BackGround.SetSprite(icons[randomIndex]);
                                m_ContainerFunctions.gameObject.SetActive(false);
                                icons.Add(icon);
                            }
                            if (loadingBackGroudConfig != null && !string.IsNullOrEmpty(loadingBackGroudConfig.name))
                            {
                                m_ContainerMapName.gameObject.SetActive(true);
                                m_MapName.SetSprite(loadingBackGroudConfig.name);
                            }
                            else
                            {
                                m_ContainerMapName.gameObject.SetActive(false);
                            }
                            if (loadingBackGroudConfig != null && !string.IsNullOrEmpty(loadingBackGroudConfig.description))
                            {
                                m_ContainerMapDescription.gameObject.SetActive(true);
                                m_MapDescription.SetSprite(loadingBackGroudConfig.description);
                            }
                            else
                            {
                                m_ContainerMapDescription.gameObject.SetActive(false);
                            }
                        }
                        var randomIndex = UnityEngine.Random.Range(0, iconPool.Count > 1 ? icons.Count + 1 : 1);
                        if (randomIndex == icons.Count)
                        {
                            m_BackGround.SetSprite(GeneralDefine.LoadLV);
                            m_ContainerFunctions.gameObject.SetActive(true);
                            var functions = GetShowFunctions(playerLevel);
                            for (int i = 0; i < m_FunctionShows.Length; i++)
                            {
                                var show = m_FunctionShows[i];
                                show.Display(functions[i]);
                            }
                        }
                        else
                        {
                            m_BackGround.SetSprite(icons[randomIndex]);
                            m_ContainerFunctions.gameObject.SetActive(false);
                        }
                    }
                }
            }
                if (Application.platform == RuntimePlatform.IPhonePlayer)
                {
                    m_ContainerProgress.gameObject.SetActive(false);
                }
                else
                {
                    m_ContainerProgress.gameObject.SetActive(true);
                    m_ProgressSlider.ResetValue(0f);
                }
        }
        private void DisplayNameAndDescription()
        {
            var mapResConfig = MapResourcesConfig.Get(targetMapResId);
            var config = LoadingBackGroundConfig.Get(mapResConfig.DataID, mapResConfig.LineID);
            if (config != null && !string.IsNullOrEmpty(config.name))
            {
                m_ContainerMapName.gameObject.SetActive(true);
                m_MapName.SetSprite(config.name);
            }
            else
            {
                m_ContainerMapName.gameObject.SetActive(false);
            }
            if (config != null && !string.IsNullOrEmpty(config.description))
            {
                m_ContainerMapDescription.gameObject.SetActive(true);
                m_MapDescription.SetSprite(config.description);
            }
            else
            {
                m_ContainerMapDescription.gameObject.SetActive(false);
            }
        }
@@ -281,7 +307,6 @@
            return functions;
        }
        public enum LoadingType
        {
System/RidingPet/RidingPetBossModel.cs
@@ -58,6 +58,7 @@
                    {
                        id = itemArray[i][0],
                        count = itemArray[i][1],
                        quality = itemArray[i].Length > 2 ? itemArray[i][2] : 0,
                    });
                }
                bossRewards.Add(new RidingPetBossReward()
System/RidingPet/RidingPetBossRewardCell.cs
@@ -8,7 +8,10 @@
    public class RidingPetBossRewardCell : CellView
    {
        [SerializeField] Text m_Rank;
        [SerializeField] ScrollRect m_Scroller;
        [SerializeField] ItemCell[] m_Items;
        [SerializeField] Transform m_MustDrop;
        [SerializeField] ItemCell m_MustItem;
        public void Display(RidingPetBossReward bossReward)
        {
@@ -22,13 +25,18 @@
                m_Rank.text = Language.Get("AllianceBossRank", bossReward.rankArea.x);
            }
            List<Item> items = bossReward.items.FindAll((x) =>
            {
                return x.quality == 0;
            });
            for (int i = 0; i < m_Items.Length; i++)
            {
                m_Items[i].gameObject.SetActive(i < bossReward.items.Count);
                if (i < bossReward.items.Count)
                m_Items[i].gameObject.SetActive(items != null && i < items.Count);
                if (items != null && i < items.Count)
                {
                    var itemId = bossReward.items[i].id;
                    var itemData = new ItemCellModel(itemId, true, (ulong)bossReward.items[i].count);
                    var itemId = items[i].id;
                    var itemData = new ItemCellModel(itemId, true, (ulong)items[i].count);
                    m_Items[i].Init(itemData);
                    m_Items[i].button.SetListener(() =>
                    {
@@ -36,6 +44,24 @@
                    });
                }
            }
            m_Scroller.horizontalNormalizedPosition = 0f;
            Item mustItem = bossReward.items.Find((x)=>
            {
                return x.quality == 1;
            });
            m_MustDrop.gameObject.SetActive(mustItem.id != 0);
            if (mustItem.id != 0)
            {
                var itemData = new ItemCellModel(mustItem.id, true, (ulong)mustItem.count);
                m_MustItem.Init(itemData);
                m_MustItem.button.SetListener(() =>
                {
                    ItemTipUtility.Show(mustItem.id);
                });
            }
        }
    }
}
System/Role/RoleTitle.cs
@@ -155,11 +155,14 @@
            {
                return -isGetx.CompareTo(isGety);
            }
            else if (x.CompareTo(y) != 0)
            var config_x = DienstgradConfig.Get(x);
            var config_y = DienstgradConfig.Get(y);
            if (config_x != null && config_y != null
                && config_x.order != config_y.order)
            {
                return -x.CompareTo(y);
                return config_x.order.CompareTo(config_y.order);
            }
            else return 1;
            return 0;
        }
UI/HUD/PopUpNum.cs
@@ -340,8 +340,8 @@
            EnemyThumpHit = 48,                   //敌人重击
            PlayerYinji = 49,                    //玩家印记
            PetYinj = 50,                        //宠物印记
            EnemyYinjt = 51,                   //敌人印记
            PetYinji = 50,                        //宠物印记
            EnemyYinji = 51,                   //敌人印记
            PlayerBurning = 52,                    //玩家灼烧
            PetBurning = 53,                        //宠物灼烧