//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, October 30, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
using System.Collections.Generic;
|
|
namespace vnxbqy.UI
|
{
|
//功能预告第三部
|
|
public class FeaturesType3 : MonoBehaviour
|
{
|
[SerializeField] ImageEx m_Image_Selected;//底板
|
[SerializeField] ImageEx m_Img_Circle;//Icon框
|
[SerializeField] ImageEx m_FeaturesTypeIcon;//Icon
|
[SerializeField] Text m_FunctionName;//功能名
|
[SerializeField] Text m_FunctionalLevel;//功能等级
|
[SerializeField] Text m_Content;//内容
|
[SerializeField] GameObject m_Award;
|
|
[SerializeField] ImageEx m_ItemBG1;
|
[SerializeField] ImageEx m_Icon1;
|
[SerializeField] Button m_IconBtn1;
|
[SerializeField] Text m_Number1;
|
[SerializeField] ImageEx m_Lock1;
|
[SerializeField] UIEffect m_UIEffect1;
|
[SerializeField] GameObject m_HasReceived1;
|
|
[SerializeField] ImageEx m_ItemBG2;
|
[SerializeField] ImageEx m_Icon2;
|
[SerializeField] Button m_IconBtn2;
|
[SerializeField] Text m_Number2;
|
[SerializeField] ImageEx m_Lock2;
|
[SerializeField] UIEffect m_UIEffect2;
|
[SerializeField] GameObject m_HasReceived2;
|
|
[SerializeField] RedpointBehaviour m_RedPoint;
|
FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } }
|
|
public void GetTheFeatureID(int funcId)
|
{
|
var functionForecastConfig = FunctionForecastConfig.Get(funcId);
|
if (functionForecastConfig == null)
|
{
|
return;
|
}
|
m_FunctionalLevel.text = Language.Get("LoadIconLV", functionForecastConfig.DisplayLevel);
|
bool Type = false;
|
int NeedLv = 0;
|
int playerLv = PlayerDatas.Instance.baseData.LV;
|
if (functionForecastConfig.OpenNumber - 2 >= featureNoticeModel.FunctionForecastIndex)
|
{
|
Type = true;
|
NeedLv = featureNoticeModel.GetOpenLv(functionForecastConfig.OpenNumber - 2);
|
}
|
if (!FuncOpen.Instance.IsFuncOpen(funcId) && Type && NeedLv > playerLv)
|
{
|
m_FunctionName.SetActive(false);
|
// m_FunctionName.text = "?";
|
m_FeaturesTypeIcon.SetSprite("UnKnowIcon");
|
m_Award.SetActive(false);
|
m_Content.SetActive(true);
|
m_Content.text = string.Format(Language.Get("YGFuncLevel"), NeedLv, PlayerDatas.Instance.baseData.LV, NeedLv);
|
}
|
else
|
{
|
m_FunctionName.SetActive(true);
|
m_FunctionName.text = functionForecastConfig.FuncName;
|
m_FeaturesTypeIcon.SetSprite(functionForecastConfig.FuncIconKey);
|
if (featureNoticeModel.DicAwardItem.ContainsKey(funcId))
|
{
|
m_Award.SetActive(true);
|
m_Content.SetActive(false);
|
|
SetRankAwardItem(funcId);
|
//-------------------
|
}
|
else
|
{
|
m_Award.SetActive(false);
|
m_Content.SetActive(true);
|
m_Content.text = functionForecastConfig.Content;
|
}
|
|
}
|
if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.DisplayLevel)
|
{
|
m_FunctionalLevel.color = new Color32(141, 220, 17, 255);
|
}
|
else
|
{
|
m_FunctionalLevel.color = new Color32(255, 244, 205, 255);
|
}
|
if (FuncOpen.Instance.IsFuncOpen(funcId))
|
{
|
m_Image_Selected.gray = false;
|
m_Img_Circle.gray = false;
|
m_FeaturesTypeIcon.gray = false;
|
}
|
else
|
{
|
m_Image_Selected.gray = true;
|
m_Img_Circle.gray = true;
|
m_FeaturesTypeIcon.gray = true;
|
}
|
|
if (featureNoticeModel.DicRedPoint.ContainsKey(funcId))
|
{
|
m_RedPoint.redpointId = featureNoticeModel.DicRedPoint[funcId].id;
|
}
|
}
|
|
private void SetRankAwardItem(int funcID)
|
{
|
ImpactRankModel.RankAwardItem rankAward = featureNoticeModel.DicAwardItem[funcID];
|
List<Item> List = rankAward.GetAwardItem(PlayerDatas.Instance.baseData.Job);
|
|
if (List.Count <= 1)
|
{
|
m_ItemBG1.SetActive(true);
|
m_ItemBG2.SetActive(false);
|
SetItem1(List, funcID);
|
}
|
else
|
{
|
m_ItemBG1.SetActive(true);
|
m_ItemBG2.SetActive(true);
|
SetItem1(List, funcID);
|
SetItem2(List, funcID);
|
|
}
|
|
}
|
private void SetItem1(List<Item> List,int funcID)
|
{
|
var itemConfig = ItemConfig.Get(List[0].id);
|
UIHelper.SetItemBackGround(m_ItemBG1, itemConfig.ItemColor, itemConfig.QualityEchoType);
|
m_Icon1.SetSprite(itemConfig.IconKey);
|
m_IconBtn1.SetListener(() =>
|
{
|
if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 &&
|
featureNoticeModel.DicOpenFuncState[funcID].AwardState == 0)
|
{
|
featureNoticeModel.SendGetAward(funcID);
|
// DebugEx.LogError("可以领取");
|
}
|
else
|
{
|
ItemTipUtility.Show(List[0].id);
|
// DebugEx.LogError("弹框");
|
}
|
|
});
|
if (List[0].count > 1)
|
{
|
m_Number1.SetActive(true);
|
m_Number1.text = List[0].count.ToString();
|
}
|
else
|
{
|
m_Number1.SetActive(false);
|
}
|
if (FuncOpen.Instance.IsFuncOpen(funcID))
|
{
|
m_ItemBG1.gray = false;
|
m_Icon1.gray = false;
|
m_Lock1.gray = false;
|
}
|
else
|
{
|
m_ItemBG1.gray = true;
|
m_Icon1.gray = true;
|
m_Lock1.gray = true;
|
}
|
if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 &&
|
featureNoticeModel.DicOpenFuncState[funcID].AwardState == 0)
|
{
|
m_UIEffect1.Play();
|
}
|
else
|
{
|
m_UIEffect1.Stop();
|
}
|
if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 && featureNoticeModel.DicOpenFuncState[funcID].AwardState == 1)
|
{
|
m_HasReceived1.SetActive(true);
|
}
|
else
|
{
|
m_HasReceived1.SetActive(false);
|
}
|
}
|
private void SetItem2(List<Item> List, int funcID)
|
{
|
var itemConfig = ItemConfig.Get(List[1].id);
|
UIHelper.SetItemBackGround(m_ItemBG2, itemConfig.ItemColor, itemConfig.QualityEchoType);
|
m_Icon2.SetSprite(itemConfig.IconKey);
|
m_IconBtn2.SetListener(() =>
|
{
|
if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 &&
|
featureNoticeModel.DicOpenFuncState[funcID].AwardState == 0)
|
{
|
featureNoticeModel.SendGetAward(funcID);
|
// DebugEx.LogError("可以领取");
|
}
|
else
|
{
|
ItemTipUtility.Show(List[1].id);
|
//DebugEx.LogError("弹框");
|
}
|
});
|
if (List[1].count > 1)
|
{
|
m_Number2.SetActive(true);
|
m_Number2.text = List[1].count.ToString();
|
}
|
else
|
{
|
m_Number2.SetActive(false);
|
}
|
|
if (FuncOpen.Instance.IsFuncOpen(funcID))
|
{
|
m_ItemBG2.gray = false;
|
m_Icon2.gray = false;
|
m_Lock2.gray = false;
|
}
|
else
|
{
|
m_ItemBG2.gray = true;
|
m_Icon2.gray = true;
|
m_Lock2.gray = true;
|
}
|
if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 &&
|
featureNoticeModel.DicOpenFuncState[funcID].AwardState == 0)
|
{
|
m_UIEffect2.Play();
|
}
|
else
|
{
|
m_UIEffect2.Stop();
|
}
|
if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 && featureNoticeModel.DicOpenFuncState[funcID].AwardState == 1)
|
{
|
m_HasReceived2.SetActive(true);
|
}
|
else
|
{
|
m_HasReceived2.SetActive(false);
|
}
|
}
|
}
|
|
}
|