少年修仙传客户端代码仓库
hch
2020-11-02 e1a6fa4d577ebf4833cc91bef8d2ff334ebb750f
0312 个人BOSS扫荡

# Conflicts:
# System/FindPrecious/PersonalBossWin.cs
2个文件已修改
57 ■■■■■ 已修改文件
System/FindPrecious/PersonalBossModel.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/PersonalBossWin.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/PersonalBossModel.cs
@@ -42,6 +42,8 @@
        PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        public int WipeOutLV = 100;    //XX级后可S级扫荡
        public int maxBossTimes = 0;
        public override void Init()
        {
@@ -245,6 +247,8 @@
            //}
            maxBossTimes = DungeonOpenTimeConfig.Get(PERSONALBOSS_MAPID).DayTimes;
            WipeOutLV = int.Parse(FuncConfigConfig.Get("WipeOutLV").Numerical1);
        }
        public void RequestGotoDungeon(int _bossId)
@@ -261,6 +265,9 @@
        public bool IsFreeTime(int bossID)
        {
            if (bossID == 0) return false;
            if (!(findPreciousModel.IsBossUnlock(bossID) && IsPlayerLevelEnough(bossID))) return false;
            var config = PersonalBossConfig.Get(bossID);
@@ -274,6 +281,25 @@
            }
            return true;
        }
        //S级可扫荡,增加等级限制(任务必须进副本否则会卡住,也不希望用户过早的扫荡低级BOSS)
        public bool CanFBWipeOut(int bossID)
        {
            if (PlayerDatas.Instance.baseData.LV <= WipeOutLV)
            {
                return false;
            }
            var config = PersonalBossConfig.Get(bossID);
            DungeonRecord dungeonRecord;
            if (dungeonModel.TryGetRecord(PERSONALBOSS_MAPID, out dungeonRecord))
            {
                if (dungeonRecord.lineGrades.ContainsKey(config.lineId) && dungeonRecord.lineGrades[config.lineId] == 5)
                {
                    return true;
                }
            }
            return false;
        }
    }
    public class PersonalBossData
System/FindPrecious/PersonalBossWin.cs
@@ -18,7 +18,9 @@
        [SerializeField] Text m_Times;
        [SerializeField] Button m_Goto;
        [SerializeField] RectTransform m_NoDamageTip;
        [SerializeField] Text m_ButtonName;
        [SerializeField] Button m_BuyTimes;
        [SerializeField] Text m_WipeText;
        PersonalBossModel model { get { return ModelCenter.Instance.GetModel<PersonalBossModel>(); } }
        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
@@ -68,7 +70,15 @@
        protected override void OnAfterOpen()
        {
            model.bossSelectedEvent += OnBossSelected;
            if (model.CanFBWipeOut(model.selectedBoss))
            {
                m_ButtonName.text = Language.Get("RuneTower22");
            }
            else
            {
                m_ButtonName.text = Language.Get("RealmPractice108");
            }
            m_WipeText.text = Language.Get("PersonalBossWipeOut", model.WipeOutLV);
        }
        protected override void OnPreClose()
@@ -95,6 +105,7 @@
            model.UpdateRedpoint();
        }
        private void ShowBosses()
        {
            var bosses = new List<int>();
@@ -115,8 +126,15 @@
            var error = 0;
            if (TestEnterDungeon(out error))
            {
                if (model.CanFBWipeOut(model.selectedBoss))
                {
                    var config = PersonalBossConfig.Get(model.selectedBoss);
                    dungeonModel.RequestSweep(new Dungeon(PersonalBossModel.PERSONALBOSS_MAPID, config.lineId));
                }
                else
                {
                model.RequestGotoDungeon(model.selectedBoss);
                }
            }
            else
            {
@@ -193,8 +211,15 @@
            DisplayGotoKillButton(model.selectedBoss);
            DisplayTip(bossId);
            
            if (model.CanFBWipeOut(model.selectedBoss))
            {
                m_ButtonName.text = Language.Get("RuneTower22");
            }
            else
            {
                m_ButtonName.text = Language.Get("RealmPractice108");
            }
            model.UpdateRedpoint();
        }
        private void DisplayTip(int bossId)