//-------------------------------------------------------- // [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(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } #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(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); } } } }