少年修仙传客户端代码仓库
client_Hale
2018-10-09 2e7aa5faabcbe00757c74379f67b3231b1b3370f
System/FindPrecious/ElderGodAreaWin.cs
@@ -16,22 +16,16 @@
    public class ElderGodAreaWin : Window
    {
        [SerializeField] CyclicScroll m_Bosses;
        [SerializeField] ElderEliteMonsterBehaviour m_EliteMonsterBehaviour;
        [SerializeField] BossIntroduceBehaviour m_BossIntroduce;
        [SerializeField] Text m_Times;
        [SerializeField] Button m_Goto;
        [SerializeField] Button m_KillRecord;
        [SerializeField] ToggleButton m_Subscribe;
        ElderGodAreaModel m_Model;
        ElderGodAreaModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<ElderGodAreaModel>()); } }
        FindPreciousModel m_FindPreciousModel;
        FindPreciousModel findPreciousModel { get { return m_FindPreciousModel ?? (m_FindPreciousModel = ModelCenter.Instance.GetModel<FindPreciousModel>()); } }
        DungeonModel m_DungeonModel;
        DungeonModel dungeonModel {
            get { return m_DungeonModel ?? (m_DungeonModel = ModelCenter.Instance.GetModel<DungeonModel>()); }
        }
        ElderGodAreaModel model { get { return ModelCenter.Instance.GetModel<ElderGodAreaModel>(); } }
        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        #region Built-in
        protected override void BindController()
@@ -81,9 +75,9 @@
            var bosses = new List<int>();
            bosses.AddRange(model.GetElderGodBosses());
            model.selectedBoss = model.GetLatestUnLockBoss();
            model.selectedBoss = model.GetRecommendNpc();
            DisplayNpcBaseInfo(true);
            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss);
            m_BossIntroduce.Display(model.selectedBoss, true);
            m_Bosses.Init(bosses);
            m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss));
        }
@@ -111,7 +105,9 @@
                        break;
                    case 2:
                        WindowCenter.Instance.Close<FindPreciousFrameWin>();
                        MapTransferUtility.Instance.MoveToNPC(model.selectedBoss);
                        var config = Config.Instance.Get<ElderGodAreaConfig>(model.selectedBoss);
                        var targetNpc = config.MonsterType == 1 ? model.GetRecommendEliteNpc() : model.selectedBoss;
                        MapTransferUtility.Instance.MoveToNPC(targetNpc);
                        break;
                    case 3:
                        SysNotifyMgr.Instance.ShowTip("DungeonNoGO");
@@ -167,10 +163,34 @@
        private void OnBossSelected(int _bossId)
        {
            m_BossIntroduce.Display(_bossId, false);
            DisplayNpcBaseInfo(false);
            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(_bossId);
        }
        private void DisplayNpcBaseInfo(bool immediately)
        {
            var npcId = model.selectedBoss;
            var config = Config.Instance.Get<ElderGodAreaConfig>(npcId);
            switch (config.MonsterType)
            {
                case 1:
                    m_KillRecord.gameObject.SetActive(false);
                    m_BossIntroduce.gameObject.SetActive(false);
                    m_EliteMonsterBehaviour.gameObject.SetActive(true);
                    m_EliteMonsterBehaviour.Display(npcId);
                    break;
                case 2:
                    m_KillRecord.gameObject.SetActive(true);
                    m_BossIntroduce.gameObject.SetActive(true);
                    m_EliteMonsterBehaviour.gameObject.SetActive(false);
                    m_BossIntroduce.Display(npcId, immediately);
                    break;
                default:
                    break;
            }
        }
        private void CheckAchievementGuide()
        {
            if (AchievementGoto.guideAchievementId != 0)