| | |
| | | using System.Collections;
|
| | | using System.Collections.Generic;
|
| | | using System.Linq;
|
| | | using System.Security.Cryptography;
|
| | | using UnityEngine;
|
| | | namespace Snxxz.UI
|
| | | {
|
| | |
| | | {
|
| | | const string TITLEKEY = "Title";
|
| | |
|
| | | public int selectTitleId; //点击升星的称号ID 和 presentSelectTitle 不一样用处
|
| | | public bool reikiPointRemindSymble { get; private set; }
|
| | |
|
| | | ReikiRootModel reikiRootModel { get { return ModelCenter.Instance.GetModel<ReikiRootModel>(); } }
|
| | | public Dictionary<int, int> titleStarDict = new Dictionary<int, int>(); //称号ID:星级
|
| | | public event Action OnTitleStarUpdate;
|
| | |
|
| | | public Dictionary<int, Redpoint> titleStarRedpoints = new Dictionary<int, Redpoint>();
|
| | |
|
| | | ReikiRootModel reikiRootModel { get { return ModelCenter.Instance.GetModel<ReikiRootModel>(); } }
|
| | | PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
| | | public override void Init()
|
| | | {
|
| | | GlobalTimeEvent.Instance.secondEvent += SecondEvent;
|
| | | //GlobalTimeEvent.Instance.secondEvent += SecondEvent;
|
| | | StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish;
|
| | | WindowCenter.Instance.windowAfterOpenEvent += WindowAfterOpenEvent;
|
| | |
|
| | | foreach (var _id in TitleStarUpConfig.titleIDToIDs.Keys)
|
| | | {
|
| | | titleStarRedpoints.Add(_id, new Redpoint(1010104, 1010104*1000 + _id));
|
| | | }
|
| | | }
|
| | |
|
| | | public override void UnInit()
|
| | | {
|
| | | GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
|
| | | //GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
|
| | | StageLoad.Instance.onStageLoadFinish -= OnStageLoadFinish;
|
| | | WindowCenter.Instance.windowAfterOpenEvent -= WindowAfterOpenEvent;
|
| | | }
|
| | |
| | | roletitles.Clear();
|
| | | }
|
| | |
|
| | | private void SecondEvent()
|
| | | {
|
| | | foreach (var _id in roletitles.Keys)
|
| | | {
|
| | | if (!IsTitleGain(_id) && !roletitles[_id].outTimeNotify)
|
| | | {
|
| | | roletitles[_id].outTimeNotify = true;
|
| | | if (roletitles[_id].isEquiped)
|
| | | {
|
| | | var hero = PlayerDatas.Instance.hero;
|
| | | if (hero != null)
|
| | | {
|
| | | hero.RequestName();
|
| | | }
|
| | | }
|
| | | if (OnRefreshGainTitle != null)
|
| | | {
|
| | | OnRefreshGainTitle();
|
| | | }
|
| | | UpdateRedpoint();
|
| | | }
|
| | | }
|
| | | }
|
| | | //private void SecondEvent()
|
| | | //{
|
| | | // foreach (var _id in roletitles.Keys)
|
| | | // {
|
| | | // if (!IsTitleGain(_id) && !roletitles[_id].outTimeNotify)
|
| | | // {
|
| | | // roletitles[_id].outTimeNotify = true;
|
| | | // if (roletitles[_id].isEquiped)
|
| | | // {
|
| | | // var hero = PlayerDatas.Instance.hero;
|
| | | // if (hero != null)
|
| | | // {
|
| | | // hero.RequestName();
|
| | | // }
|
| | | // }
|
| | | // if (OnRefreshGainTitle != null)
|
| | | // {
|
| | | // OnRefreshGainTitle();
|
| | | // }
|
| | | // }
|
| | | // }
|
| | | //}
|
| | |
|
| | | public event Action OnRefreshGainTitle;
|
| | | private Dictionary<int, TitleData> roletitles = new Dictionary<int, TitleData>();
|
| | |
| | | roletitles.Remove(id);
|
| | | title = null;
|
| | | }
|
| | |
|
| | |
|
| | | if (OnRefreshGainTitle != null)
|
| | | {
|
| | | OnRefreshGainTitle();
|
| | |
| | | {
|
| | | TryOpenReikiRootPointRemind();
|
| | | }
|
| | |
|
| | | if (window is KnapSackWin)
|
| | | {
|
| | | UpdateRedpoint();
|
| | | }
|
| | | }
|
| | |
|
| | | void TryOpenReikiRootPointRemind()
|
| | |
| | | }
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | public void UpdateTitleStarInfo(HA3CE_tagMCTitleStarInfo netPack)
|
| | | {
|
| | | for (int i = 0; i < netPack.TitleStarList.Length; i++)
|
| | | {
|
| | | titleStarDict[(int)netPack.TitleStarList[i].TitleID] = netPack.TitleStarList[i].Star;
|
| | | }
|
| | | OnTitleStarUpdate?.Invoke();
|
| | |
|
| | | UpdateRedpoint();
|
| | | }
|
| | |
|
| | | public int GetTitleStar(int titleId)
|
| | | {
|
| | | int star = 0;
|
| | | titleStarDict.TryGetValue(titleId, out star);
|
| | | return star;
|
| | | }
|
| | |
|
| | | public bool IsStarRedpoint(int titleID)
|
| | | {
|
| | | if (titleStarRedpoints.ContainsKey(titleID))
|
| | | {
|
| | | return titleStarRedpoints[titleID].state == RedPointState.Simple;
|
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | #region 红点
|
| | | private Redpoint m_TitleRedpoint=new Redpoint(10101, 1010104);
|
| | | public Redpoint titleRedpoint
|
| | |
| | | }
|
| | | foreach (var _key in roletitles.Keys)
|
| | | {
|
| | | if (IsNewGet(_key))
|
| | | //物品足够升星则显示红点
|
| | | if (TitleStarUpConfig.titleIDToIDs.ContainsKey(_key))
|
| | | {
|
| | | titleRedpoint.state = RedPointState.Simple;
|
| | | break;
|
| | | var star = GetTitleStar(_key);
|
| | | var maxStar = TitleStarUpConfig.titleIDToIDs[_key].Count;
|
| | | titleStarRedpoints[_key].state = RedPointState.None;
|
| | | if (star < maxStar)
|
| | | {
|
| | | var id = TitleStarUpConfig.titleIDToIDs[_key][star];
|
| | | var config = TitleStarUpConfig.Get(id);
|
| | | if (packModel.GetItemCountByID(PackType.Item, config.StarUpNeedItemList[0][0]) >= config.StarUpNeedItemList[0][1])
|
| | | {
|
| | | titleStarRedpoints[_key].state = RedPointState.Simple;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|