//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, September 18, 2018 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using System; using System.Collections.Generic; using DG.Tweening; namespace Snxxz.UI { public class FeatureNoticeTip:MonoBehaviour { private int OpenTag = 0; [SerializeField] Image _FunctionIcon;//图标Icon [SerializeField] Text _NameText;//标题名 [SerializeField] Text _Information;//信息内容 [SerializeField] GameObject m_FeatureNoticeTipObj; [SerializeField] Text m_Information_reward;//有奖励可领取 FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel(); } } List configs = new List(); public GameObject FeatureNoticeTipObj { get { return m_FeatureNoticeTipObj; } set { m_FeatureNoticeTipObj = value; } } public void Init()//初始化 { DataAssignment(); } void DataAssignment() { if (configs.Count <= 0) { configs= FunctionForecastConfig.GetValues(); } // var configs = FunctionForecastConfig.GetValues(); foreach (var config in configs) { if (!FuncOpen.Instance.IsFuncOpen(config.FuncId) && PlayerDatas.Instance.baseData.LV >= config.OpenLevel && config.Display == 1) { OpenTag = config.FuncId; OpenPanel(OpenTag); return; } } bool IsOpen = false; foreach (var _key in featureNoticeModel.DicOpenFuncState.Keys) { if (featureNoticeModel.DicRedPoint.ContainsKey(_key) && featureNoticeModel.DicOpenFuncState[_key].State == 1 && featureNoticeModel.DicOpenFuncState[_key].AwardState == 0 && featureNoticeModel.DicAwardItem.ContainsKey(_key)) { IsOpen = true; } } if (IsOpen)//预告完毕还有奖励能领取 { _FunctionIcon.SetSprite("PersonBossIcon"); m_Information_reward.gameObject.SetActive(true); _NameText.gameObject.SetActive(false); _Information.gameObject.SetActive(false); return; } return; } void OpenPanel(int ID) { m_Information_reward.gameObject.SetActive(false); _NameText.gameObject.SetActive(true); _Information.gameObject.SetActive(true); _FunctionIcon.SetSprite(FunctionForecastConfig.Get(ID).FuncIconKey); _NameText.text = FunctionForecastConfig.Get(ID).Describe; FuncOpenLVConfig funcoPenConfig = FuncOpenLVConfig.Get(ID); if (funcoPenConfig.LimitMagicWeapon != 0 || funcoPenConfig.LimitMissionID != 0) { if (funcoPenConfig.LimitMagicWeapon != 0) { int faBaoID = funcoPenConfig.LimitMagicWeapon / 100; TreasureConfig treasure = TreasureConfig.Get(faBaoID); _Information.text = string.Format(Language.Get("FuncFBOpen"), treasure.Name); return; } if (funcoPenConfig.LimitMissionID != 0) { _Information.text = string.Format(Language.Get("TaskFuncOpen"), funcoPenConfig.LimitLV); return; } } else { _Information.text = string.Format(Language.Get("FuncLevelOpen"), funcoPenConfig.LimitLV); } } } }