少年修仙传客户端代码仓库
client_Hale
2019-04-12 37fe958376a003a36154bf9e4b456397f5c254b1
System/FindPrecious/WorldBossWin.cs
@@ -21,10 +21,10 @@
        [SerializeField] Button m_Goto;
        [SerializeField] Button m_KillRecord;
        [SerializeField] Transform m_SurpassLevel;
        [SerializeField] RectTransform m_NoDamageTip;
        [SerializeField] ToggleButton m_Subscribe;
        WorldBossModel model { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } }
        MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } }
        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
@@ -78,16 +78,15 @@
            var bosses = new List<int>();
            bosses.AddRange(model.GetWorldBosses());
            model.selectedBoss = model.GetLatestUnLockBoss();
            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss);
            model.selectedBoss = model.GetRecommendBoss();
            m_BossIntroduce.Display(model.selectedBoss, true);
            m_Bosses.Init(bosses);
            m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss));
            var config = NPCConfig.Get(model.selectedBoss);
            var npcDropConfig = NPCDropItemConfig.Get(model.selectedBoss);
            m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV);
            DisplayGotoKillButton(model.selectedBoss);
            DisplaySubscribe(model.selectedBoss);
            DisplayTip(model.selectedBoss);
        }
        private void ShowKillRecords()
@@ -128,12 +127,12 @@
            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss);
        }
        private void OnBossSelected(int _bossId)
        private void OnBossSelected(int bossId)
        {
            m_BossIntroduce.Display(_bossId, false);
            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(_bossId);
            var npcDropConfig = NPCDropItemConfig.Get(model.selectedBoss);
            m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV);
            m_BossIntroduce.Display(bossId, false);
            DisplayGotoKillButton(bossId);
            DisplaySubscribe(bossId);
            DisplayTip(bossId);
        }
        private void OnBossWearyValue()
@@ -221,6 +220,41 @@
            }
        }
        private void DisplayGotoKillButton(int bossId)
        {
            var isUnLocked = model.IsBossUnLocked(bossId);
            m_Goto.gameObject.SetActive(isUnLocked);
        }
        private void DisplaySubscribe(int bossId)
        {
            var isUnLocked = model.IsBossUnLocked(bossId);
            m_Subscribe.gameObject.SetActive(isUnLocked);
            if (isUnLocked)
            {
                m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId);
            }
        }
        private void DisplayTip(int bossId)
        {
            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
            var config = NPCConfig.Get(bossId);
            if (config.Realm > realmLevel)
            {
                m_NoDamageTip.gameObject.SetActive(true);
                m_SurpassLevel.gameObject.SetActive(false);
            }
            else
            {
                m_NoDamageTip.gameObject.SetActive(false);
                var dropConfig = NPCDropItemConfig.Get(bossId);
                var noDrop = dropConfig == null || (dropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > dropConfig.MaxLV);
                m_SurpassLevel.gameObject.SetActive(noDrop);
            }
        }
    }
}