//--------------------------------------------------------
|
// [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<int> FunctionOpenTagEvent;
|
FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
|
|
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<MainInterfaceWin>();
|
WindowCenter.Instance.Open<FeatureNotice2Win>();
|
// WindowCenter.Instance.Open<ZXWTestWin>();
|
}
|
}
|
|
}
|
|
|
|