//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, September 12, 2017 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using TableConfig; using System; namespace Snxxz.UI { public class TaiChiBreifInfo : MonoBehaviour { [Header("Text")] [SerializeField] Text m_OpenTime; [SerializeField] Text m_SurplusTimes; [SerializeField] Text m_DungeonForm; [SerializeField] Text m_LevelLimit; [SerializeField] Text m_Description; [Header("Item")] [SerializeField] ItemBehaviour[] m_Rewards; TaiChiModel _taiChiModel; TaiChiModel taiChiModel { get { return _taiChiModel ?? (_taiChiModel = ModelCenter.Instance.GetModel()); } } DailyQuestModel m_Model; DailyQuestModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } private void OnEnable() { taiChiModel.RefreshTaiChiModel += RefreshUI; } private void OnDisable() { taiChiModel.RefreshTaiChiModel -= RefreshUI; } private void RefreshUI() { UpdateDungeonTimes(); } private void UpdateDungeonTimes() { var completedTimes = taiChiModel.dailyQuestModel.GetDailyQuestCompletedTimes(taiChiModel.TaiChiDailyTaskID); var totalTimes = taiChiModel.dailyQuestModel.GetDailyQuestTotalTimes(taiChiModel.TaiChiDailyTaskID); m_SurplusTimes.text = StringUtility.Contact(totalTimes - completedTimes, "/", totalTimes); m_SurplusTimes.color = (totalTimes - completedTimes) > 0 ? UIHelper.GetUIColor(TextColType.NavyBrown) : UIHelper.GetUIColor(TextColType.Red); } public void SetDungeonInfo(Dungeon _dungeon) { var config = Config.Instance.Get(taiChiModel.TaiChiDailyTaskID); FuncOpenLVConfig openLVConfig = Config.Instance.Get(config.UnLockFuncID); DailyQuestOpenTime openTime; if (model.TryGetOpenTime(model.currentDailyQuest, out openTime)) { if (openTime.always) { m_OpenTime.text = Language.Get("DailyQuest_NoTimeLimit"); } else { m_OpenTime.text = openTime.ToOpenTimeString(); } } else { m_OpenTime.text = string.Empty; } UpdateDungeonTimes(); m_DungeonForm.text = config.QuestTypeDescribe; m_LevelLimit.text = openLVConfig.LimitLV.ToString(); var playerLevel = PlayerDatas.Instance.baseData.LV; m_LevelLimit.color = playerLevel >= openLVConfig.LimitLV ? UIHelper.GetUIColor(TextColType.NavyBrown) : UIHelper.GetUIColor(TextColType.Red, true); m_Description.text = Language.Get("WytjActivityDes"); for (int i = 0; i < m_Rewards.Length; i++) { var behaviour = m_Rewards[i]; if (i < config.RewardID.Length) { behaviour.gameObject.SetActive(true); behaviour.showCount = true; behaviour.SetItem(config.RewardID[i], 0); } else { behaviour.gameObject.SetActive(false); } } } } }