//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, November 22, 2017 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using System; using System.Collections.Generic; using DG.Tweening; //主界面功能预告 namespace vnxbqy.UI { public class FunctionForecastTip : MonoBehaviour { [SerializeField] Transform _FunctionForecastPanel;//切换面板 [SerializeField] Image _FunctionIcon;//图标Icon [SerializeField] Button _FunctionIconBtn;//面板开关按钮 [SerializeField] Text _NameText;//标题名 //[SerializeField] Text _Information;//信息内容 //[SerializeField] Text m_Information_reward;//有奖励可领取 public static Action FunctionOpenTagEvent; FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel(); } } public void Init()//初始化 { FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; DataAssignment(); } public void Unit() { FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; } private void Start() { _FunctionIconBtn.AddListener(FunctionIconBtn); _NameText.text = Language.Get("SecondWindowTitle_27"); } private void OnFuncStateChangeEvent(int obj) { var config = FunctionForecastConfig.Get(obj); if (config != null) { DataAssignment(); } } void DataAssignment() { if (PlayerDatas.Instance.baseData.LV <= featureNoticeModel.ShowLV) { _FunctionForecastPanel.SetActive(false); return; } foreach (var config in featureNoticeModel.FunctionList) { if (!FuncOpen.Instance.IsFuncOpen(config.FuncId)) { OpenPanel(config.FuncId); break; } } bool IsOpen = false; foreach (var config in featureNoticeModel.FunctionList) { if (!featureNoticeModel.DicOpenFuncState.ContainsKey(config.FuncId) || featureNoticeModel.DicOpenFuncState[config.FuncId].State == 0 || featureNoticeModel.DicOpenFuncState[config.FuncId].AwardState == 0) { IsOpen = true; break; } } _FunctionForecastPanel.SetActive(IsOpen); return; } void OpenPanel(int ID) { _FunctionIcon.SetSprite(FuncOpenLVConfig.Get(ID).Icon); //_NameText.text = Language.Get("SecondWindowTitle_27"); } void FunctionIconBtn()//面板开启 { WindowCenter.Instance.Close(); WindowCenter.Instance.Open(); // WindowCenter.Instance.Open(); } } }