| | |
| | | using UnityEngine; |
| | | using System.Collections; |
| | | using UnityEngine.UI; |
| | | using TableConfig; |
| | | |
| | | namespace Snxxz.UI { |
| | | using System.Collections.Generic;
|
| | |
|
| | | namespace Snxxz.UI
|
| | | { |
| | | //功能预告第三部 |
| | | |
| | | public class FeaturesType3:MonoBehaviour { |
| | | 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;//内容
|
| | | FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } } |
| | | [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>(); } }
|
| | | ItemTipsModel _itemTipsModel;
|
| | | ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } }
|
| | | public void GetTheFeatureID(int funcId)
|
| | | {
|
| | | var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(funcId);
|
| | | var functionForecastConfig = FunctionForecastConfig.Get(funcId);
|
| | | if (functionForecastConfig == null)
|
| | | {
|
| | | return;
|
| | |
| | | }
|
| | | if (!FuncOpen.Instance.IsFuncOpen(funcId) && Type && NeedLv > playerLv)
|
| | | {
|
| | | m_FunctionName.text = "?";
|
| | | m_FunctionName.gameObject.SetActive(false);
|
| | | // m_FunctionName.text = "?";
|
| | | m_FeaturesTypeIcon.SetSprite("UnKnowIcon");
|
| | | m_Content.text= string.Format(Language.Get("YGFuncLevel"), NeedLv, PlayerDatas.Instance.baseData.LV, NeedLv);
|
| | | m_Award.SetActive(false);
|
| | | m_Content.gameObject.SetActive(true);
|
| | | m_Content.text = string.Format(Language.Get("YGFuncLevel"), NeedLv, PlayerDatas.Instance.baseData.LV, NeedLv);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_FunctionName.gameObject.SetActive(true);
|
| | | m_FunctionName.text = functionForecastConfig.FuncName;
|
| | | m_FeaturesTypeIcon.SetSprite(functionForecastConfig.FuncIconKey);
|
| | | m_Content.text = functionForecastConfig.Content;
|
| | | if (featureNoticeModel.DicAwardItem.ContainsKey(funcId))
|
| | | {
|
| | | m_Award.SetActive(true);
|
| | | m_Content.gameObject.SetActive(false);
|
| | |
|
| | | SetRankAwardItem(funcId);
|
| | | //-------------------
|
| | | }
|
| | | else
|
| | | {
|
| | | m_Award.SetActive(false);
|
| | | m_Content.gameObject.SetActive(true);
|
| | | m_Content.text = functionForecastConfig.Content;
|
| | | }
|
| | |
|
| | | }
|
| | | if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.DisplayLevel)
|
| | | {
|
| | |
| | | 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<AwardItem> List = rankAward.GetAwardItem(PlayerDatas.Instance.baseData.Job);
|
| | |
|
| | | if (List.Count <= 1)
|
| | | {
|
| | | m_ItemBG1.gameObject.SetActive(true);
|
| | | m_ItemBG2.gameObject.SetActive(false);
|
| | | SetItem1(List, funcID);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_ItemBG1.gameObject.SetActive(true);
|
| | | m_ItemBG2.gameObject.SetActive(true);
|
| | | SetItem1(List, funcID);
|
| | | SetItem2(List, funcID);
|
| | |
|
| | | }
|
| | |
|
| | | } |
| | | private void SetItem1(List<AwardItem> List,int funcID)
|
| | | {
|
| | | var itemConfig = ItemConfig.Get(List[0].item.id);
|
| | | UIHelper.SetItemBackGround(m_ItemBG1, itemConfig.ItemColor);
|
| | | 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
|
| | | {
|
| | | ItemAttrData attrData = new ItemAttrData(List[0].item.id, false, (ulong)List[0].item.count, -1, List[0].isBind);
|
| | | itemTipsModel.SetItemTipsModel(attrData);
|
| | | // DebugEx.LogError("弹框");
|
| | | }
|
| | |
|
| | | });
|
| | | if (List[0].item.count > 1)
|
| | | {
|
| | | m_Number1.gameObject.SetActive(true);
|
| | | m_Number1.text = List[0].item.count.ToString();
|
| | | }
|
| | | else
|
| | | {
|
| | | m_Number1.gameObject.SetActive(false);
|
| | | }
|
| | | if (List[0].isBind==1)
|
| | | {
|
| | | m_Lock1.gameObject.SetActive(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_Lock1.gameObject.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<AwardItem> List, int funcID)
|
| | | {
|
| | | var itemConfig = ItemConfig.Get(List[1].item.id);
|
| | | UIHelper.SetItemBackGround(m_ItemBG2, itemConfig.ItemColor);
|
| | | 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
|
| | | {
|
| | | ItemAttrData attrData = new ItemAttrData(List[1].item.id, false, (ulong)List[1].item.count, -1, List[1].isBind);
|
| | | itemTipsModel.SetItemTipsModel(attrData);
|
| | | //DebugEx.LogError("弹框");
|
| | | }
|
| | | });
|
| | | if (List[1].item.count > 1)
|
| | | {
|
| | | m_Number2.gameObject.SetActive(true);
|
| | | m_Number2.text = List[1].item.count.ToString();
|
| | | }
|
| | | else
|
| | | {
|
| | | m_Number2.gameObject.SetActive(false);
|
| | | }
|
| | | if (List[1].isBind==1)
|
| | | {
|
| | | m_Lock2.gameObject.SetActive(true);
|
| | | }
|
| | | else
|
| | | {
|
| | | m_Lock2.gameObject.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);
|
| | | }
|
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |