少年修仙传客户端代码仓库
hch
2025-01-06 61efecb296c3178c04bc05c070b0c7ffc1eda249
10331 【越南】【英语】【BT】【砍树】境界修改
5个文件已修改
187 ■■■■■ 已修改文件
System/Equip/EquipModel.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipSlotBehaviour.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/New/BagWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmModel.cs 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmRecommandEquipWin.cs 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipModel.cs
@@ -334,13 +334,15 @@
            }
        }
        public bool HasSamePlaceCandidateEquip(Int2 equipPosition)
        public bool HasSamePlaceCandidateEquip(Int2 equipPosition, out string equipGuid)
        {
            equipGuid = string.Empty;
            for (int i = 0; i < candidateEquips.Count; i++)
            {
                var item = packModel.GetItemByGuid(candidateEquips[i].guid);
                if (item != null && item.config.LV == equipPosition.x && item.config.EquipPlace == equipPosition.y)
                {
                    equipGuid = candidateEquips[i].guid;
                    return true;
                }
            }
System/Equip/EquipSlotBehaviour.cs
@@ -140,13 +140,15 @@
        {
            if (slot.unLocked)
            {
                string betterEquipGuid;
                if (!string.IsNullOrEmpty(slot.equip.value))
                {
                    ItemTipUtility.Show(slot.equip.value);
                }
                else if (model.HasSamePlaceCandidateEquip(slot.equipPosition))
                else if (model.HasSamePlaceCandidateEquip(slot.equipPosition, out betterEquipGuid))
                {
                    model.RecommendCandidateEquip(slot.equipPosition);
                    //model.RecommendCandidateEquip(slot.equipPosition);
                    packModel.SetLookIndex(betterEquipGuid);
                }
                else
                {
System/KnapSack/New/BagWin.cs
@@ -143,10 +143,12 @@
                if (playerPack.lookLineIndex >= 4)
                {
                    _gridlineCtrl.JumpIndex(playerPack.lookLineIndex - 2);
                    _gridlineCtrl.m_Scorller.RefreshActiveCellViews();
                }
                else
                {
                    _gridlineCtrl.JumpIndex(playerPack.lookLineIndex);
                    _gridlineCtrl.m_Scorller.RefreshActiveCellViews();
                }
            }
System/Realm/RealmModel.cs
@@ -175,26 +175,17 @@
        void ParseConfig()
        {
            List<int> stages = new List<int>();
            m_RealmStages.Add(stages);
            var configs = RealmConfig.GetValues();
            realmMaxLevel = configs.Count - 1;
            foreach (var config in configs)
            realmMaxLevel = RealmConfig.GetKeys().Count - 1;
            for (int i = 1; i <= realmMaxLevel; i++)
            {
                if (config.Lv > realmMaxLevel)
                var config = RealmConfig.Get(i);
                if (config.Lv == config.LvLarge)
                {
                    break;
                    stages = new List<int>();
                    m_RealmStages.Add(stages);
                }
                stages.Add(config.Lv);
                if (config.Lv != 0)
                {
                    if (config.Lv == config.LvLarge)
                    {
                        stages = new List<int>();
                        m_RealmStages.Add(stages);
                    }
                    stages.Add(config.Lv);
                }
            }
            var funcConfig = FuncConfigConfig.Get("RealmExpTime");
@@ -496,12 +487,6 @@
                }
            }
            return true;
        }
        public bool HasEquipCondition(int realmLevel)
        {
            //return m_RealmEquipConditions.ContainsKey(realmLevel);
            return false;
        }
System/Realm/RealmRecommandEquipWin.cs
@@ -15,11 +15,9 @@
    public class RealmRecommandEquipWin : Window
    {
        [SerializeField] Text m_InfoText;
        [SerializeField] TextEx[] m_EquipTexts;
        [SerializeField] Button m_Goto;
        [SerializeField] Button m_GetWays;
        [SerializeField] RichText[] m_EquipTexts;
        [SerializeField] Button[] m_EquipGetWay;
        [SerializeField] Button m_Close;
        [SerializeField] Text m_WayText;
        RealmModel model { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -36,21 +34,15 @@
        protected override void AddListeners()
        {
            m_Goto.AddListener(Goto);
            m_GetWays.AddListener(OnGetWay);
            m_Close.AddListener(CloseClick);
            for (int i = 0; i < m_EquipGetWay.Length; i++)
            {
                m_EquipGetWay[i].AddListener(OnGetWay);
            }
        }
        protected override void OnPreOpen()
        {
            var config = RealmLVUPTaskConfig.Get(functionOrder);
            if (config == null)
                return;
            int error;
            model.SatisfyEquipCondition(config, out error);
            model.realmUpgrateNoEnoughReason = error;
            Display();
        }
@@ -80,38 +72,67 @@
            };
            var equipSet = equipModel.GetEquipSet(equipCondition.level);
            var realmConfig = RealmConfig.Get(equipSet.realm);
            if (!equipCondition.isSuit)
            {
                var colorName = UIHelper.GetColorNameByItemColor(equipCondition.itemColor);
                m_InfoText.text = Language.Get("RealmNeedEquipCondition_1", realmConfig.NameEx, colorName, equipCondition.starLevel, 8);
            }
            else
            {
                m_InfoText.text = Language.Get("RealmNeedEquipCondition_2", realmConfig.NameEx, equipCondition.starLevel, 8);
            }
            notSatisfyPlaces = new List<int>();
            model.SatisfyEquipCondition(model.equipNeedConfig, out notSatisfyPlaces);
            // 1. 没有装备引导获得途径 2. 背包中有更好的装备引导穿戴 3.引导升星
            m_WayText.text = Language.Get(model.realmUpgrateNoEnoughReason == 2 ? "gotoEquipStar" : "RealmRecommandEquipWin__2");
            if (!equipCondition.isSuit)
            {
                var colorName = UIHelper.GetColorNameByItemColor(equipCondition.itemColor);
                m_InfoText.text = Language.Get("RealmNeedEquipCondition_1", realmConfig.NameEx, colorName, equipCondition.starLevel, 8)
                    + " (" + Language.Get("BlessedLand036", 8 - notSatisfyPlaces.Count, 8) + ")";
            }
            else
            {
                m_InfoText.text = Language.Get("RealmNeedEquipCondition_2", realmConfig.NameEx, equipCondition.starLevel, 8)
                    + " (" + Language.Get("BlessedLand036", 8 - notSatisfyPlaces.Count, 8) + ")";
            }
            int[] recommandEquips;
            model.TryGetRecommandEquips(equipCondition.level, PlayerDatas.Instance.baseData.Job, model.equipNeedConfig.NeedValueList[3], out recommandEquips);
            for (int i = 0; i < m_EquipTexts.Length; i++)
            {
                int place = i + 1;
                var itemConfig = ItemConfig.Get(recommandEquips[i]);
                string equipName = StringUtility.Contact(itemConfig.ItemName, " ", Language.Get("EquipStarLevel", equipCondition.starLevel));
                m_EquipTexts[i].text = UIHelper.AppendColor(notSatisfyPlaces.Contains(place) ? TextColType.Gray : TextColType.Green, equipName, true);
            }
                int equipState = 0; // 0 完成 1. 没有装备引导获得途径 2. 背包中有更好的装备引导穿戴 3.引导升星
                int curStarLevel = 0;
                int targetStarLevel = equipCondition.starLevel;
            if (model.realmUpgrateNoEnoughReason != 2)
            {
                var existBetterEquip = false;
                for (int i = 0; i < notSatisfyPlaces.Count; i++)
                var equipGuid = equipModel.GetEquip(new Int2(equipCondition.level, place));
                var itemModel = packModel.GetItemByGuid(equipGuid);
                if (itemModel != null)
                {
                    var place = notSatisfyPlaces[i];
                    if (equipCondition.isSuit)
                    {
                        if (itemModel.config.SuiteiD == 0)
                        {
                            equipState = 1;
                        }
                    }
                    else
                    {
                        if (itemModel.config.ItemColor < equipCondition.itemColor)
                        {
                            equipState = 1;
                        }
                    }
                    curStarLevel = equipStarModel.GetEquipStarLevel(new Int2(equipCondition.level, place));
                    if (curStarLevel < targetStarLevel)
                    {
                        equipState = 3;
                    }
                }
                else
                {
                    equipState = 1;
                }
                //查找背包中是否有更好的装备
                if (equipState == 1)
                {
                    var items = packModel.GetItems(PackType.Item, new SinglePack.FilterParams()
                    {
                        levels = new List<int>() { equipCondition.level },
@@ -122,32 +143,47 @@
                    {
                        foreach (var item in items)
                        {
                            if (equipCondition.isSuit && item.config.SuiteiD > 0)
                            if ((equipCondition.isSuit && item.config.SuiteiD > 0) ||
                                (!equipCondition.isSuit && item.config.ItemColor >= equipCondition.itemColor))
                            {
                                existBetterEquip = true;
                                break;
                            }
                            if (!equipCondition.isSuit && item.config.ItemColor >= equipCondition.itemColor)
                            {
                                existBetterEquip = true;
                                equipState = 2;
                                break;
                            }
                        }
                    }
                    if (existBetterEquip)
                    {
                        break;
                    }
                }
                m_Goto.SetActive(existBetterEquip);
                m_GetWays.SetActive(!existBetterEquip);
                var itemConfig = ItemConfig.Get(recommandEquips[i]);
                string suffix = string.Empty;
                if (equipState == 0)
                {
                    suffix = StringUtility.Contact("(", Language.Get("TaskWin_Btn_Finish"), ")");
                    m_EquipGetWay[i].RemoveAllListeners();
                }
                else if (equipState == 1)
                {
                    suffix = StringUtility.Contact("<color=#ff0000><a>", Language.Get("HolidayXianXiaMJLotterynWin__1"), "</a></color>");
                    m_EquipGetWay[i].AddListener(OnGetWay);
                }
                else if (equipState == 2)
                {
                    suffix = StringUtility.Contact("<color=#ff0000><a>", Language.Get("RealmRecommandEquipWin__2"), "</a></color>");
                    m_EquipGetWay[i].AddListener(() => {
                        Goto(2);
                    });
                }
                else if (equipState == 3)
                {
                    suffix = StringUtility.Contact("<color=#ff0000><a>", Language.Get("gotoEquipStar"), "</a></color>");
                    m_EquipGetWay[i].AddListener(() => {
                        Goto(1);
                    });
                }
                string equipName = StringUtility.Contact(itemConfig.ItemName, " ",
                    Language.Get("EquipStarLevel", Language.Get("BlessedLand036", curStarLevel, targetStarLevel)), " ", suffix);
                m_EquipTexts[i].text = UIHelper.AppendColor(notSatisfyPlaces.Contains(place) ? TextColType.Gray : TextColType.Green, equipName, true);
            }
            else
            {
                m_Goto.SetActive(true); //装备升星
                m_GetWays.SetActive(false);
            }
        }
        private void OnGetWay()
@@ -158,9 +194,9 @@
            WindowCenter.Instance.Open<RealmRecommandEquipGetWayWin>();
        }
        private void Goto()
        private void Goto(int state)
        {
            if (model.realmUpgrateNoEnoughReason != 2)
            if (state == 2)
            {
                equipModel.SelectSet(equipCondition.level);
                WindowCenter.Instance.Open<KnapSackWin>(false, 0);