//-------------------------------------------------------- 
 | 
//    [Author]:           第二世界 
 | 
//    [  Date ]:           Monday, January 21, 2019 
 | 
//-------------------------------------------------------- 
 | 
  
 | 
using System; 
 | 
using System.Collections; 
 | 
using System.Collections.Generic; 
 | 
using UnityEngine; 
 | 
using UnityEngine.UI; 
 | 
  
 | 
  
 | 
namespace vnxbqy.UI 
 | 
{ 
 | 
  
 | 
    public class PersonalDropRateWin : Window 
 | 
    { 
 | 
        [SerializeField] Text m_Rate; 
 | 
        [SerializeField] RewardPreviewGroup m_Rewards; 
 | 
  
 | 
        PersonalBossModel model { get { return ModelCenter.Instance.GetModel<PersonalBossModel>(); } } 
 | 
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } 
 | 
        #region Built-in 
 | 
        protected override void BindController() 
 | 
        { 
 | 
        } 
 | 
  
 | 
        protected override void AddListeners() 
 | 
        { 
 | 
        } 
 | 
  
 | 
        protected override void OnPreOpen() 
 | 
        { 
 | 
            dungeonModel.updateMissionEvent += UpdateMissionEvent; 
 | 
            Display(); 
 | 
        } 
 | 
  
 | 
        protected override void OnAfterOpen() 
 | 
        { 
 | 
        } 
 | 
  
 | 
        protected override void OnPreClose() 
 | 
        { 
 | 
            dungeonModel.updateMissionEvent -= UpdateMissionEvent; 
 | 
        } 
 | 
  
 | 
        protected override void OnAfterClose() 
 | 
        { 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        private void UpdateMissionEvent() 
 | 
        { 
 | 
            var grade = dungeonModel.mission.grade; 
 | 
            int rate = 0; 
 | 
            if (dungeonModel.GetRewardRateWithGrade(PersonalBossModel.PERSONALBOSS_MAPID, grade, out rate)) 
 | 
            { 
 | 
                m_Rate.text = Language.Get("PersonalBossGrade", rate); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void Display() 
 | 
        { 
 | 
            m_Rate.text = string.Empty; 
 | 
            var bossId = model.GetBossNpcId(ClientDungeonStageUtility.dungeonInfo.lineId); 
 | 
            var personalBossConfig = PersonalBossConfig.Get(bossId); 
 | 
            int[] unusualRewards = LitJson.JsonMapper.ToObject<int[]>(LitJson.JsonMapper.ToObject(personalBossConfig.RareItemID)[PlayerDatas.Instance.baseData.Job.ToString()].ToJson()); 
 | 
  
 | 
            m_Rewards.Display(unusualRewards); 
 | 
  
 | 
            var grade = dungeonModel.mission.grade; 
 | 
            int rate = 0; 
 | 
            if (dungeonModel.GetRewardRateWithGrade(PersonalBossModel.PERSONALBOSS_MAPID, grade, out rate)) 
 | 
            { 
 | 
                m_Rate.text = Language.Get("PersonalBossGrade", rate); 
 | 
            } 
 | 
        } 
 | 
  
 | 
    } 
 | 
  
 | 
} 
 |