Core/GameEngine/Model/Config/FunctionForecastConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: Fish // [ Date ]: 2024年5月17日 // [ Date ]: Thursday, March 6, 2025 //-------------------------------------------------------- using System.Collections.Generic; @@ -15,19 +15,7 @@ public readonly int FuncId; public readonly string Award; public readonly string FuncName; public readonly int OpenLevel; public readonly string Describe; public readonly string FuncIconKey; public readonly string DetailDescribe; public readonly string OpenDescribe; public readonly string Icon; public readonly string Content; public readonly int DisplayLevel; public readonly int Display; public readonly int RedPointLV; public readonly int RedPointPercentage; public readonly int FrameLevel; public readonly int OpenNumber; public FunctionForecastConfig() @@ -44,33 +32,9 @@ Award = tables[1]; FuncName = tables[2]; DetailDescribe = tables[2]; int.TryParse(tables[3],out OpenLevel); Describe = tables[4]; FuncIconKey = tables[5]; DetailDescribe = tables[6]; OpenDescribe = tables[7]; Icon = tables[8]; Content = tables[9]; int.TryParse(tables[10],out DisplayLevel); int.TryParse(tables[11],out Display); int.TryParse(tables[12],out RedPointLV); int.TryParse(tables[13],out RedPointPercentage); int.TryParse(tables[14],out FrameLevel); int.TryParse(tables[15],out OpenNumber); int.TryParse(tables[3],out OpenNumber); } catch (Exception ex) { System/MainInterfacePanel/FeatureNotice2Win.cs
@@ -28,7 +28,7 @@ { if (this is SecondWindowInterface) { var frame = this.GetComponentInChildren<SecondFrameLoader>(); var frame = this.GetComponentInChildren<SecondFrameLoader2>(); frame.Create(); close = frame.GetComponentInChildren<Button>(); } @@ -52,7 +52,7 @@ { if (!IsJump)//是否经历跳转打开 { m_ScaleTween.Play(false, IsOpen); m_ScaleTween.Play(); } else { @@ -104,55 +104,27 @@ private void OnRefreshGridCell(ScrollerDataType type, CellView cell) { int funcId = cell.index; Transform Tran = cell.transform; GameObject Tran1 = Tran.Find("FeaturesTypeOne").gameObject; GameObject Tran2 = Tran.Find("FeaturesTypeTwo").gameObject; var configs = FunctionForecastConfig.Get(funcId); if (configs.OpenNumber == featureNoticeModel.FunctionForecastIndex) { Tran1.SetActive(false); Tran2.SetActive(true); FeaturesType3 featuresType3 = Tran2.GetComponent<FeaturesType3>(); featuresType3.GetTheFeatureID(funcId); return; } else { Tran1.SetActive(true); Tran2.SetActive(false); FeaturesType3 featuresType3 = Tran1.GetComponent<FeaturesType3>(); featuresType3.GetTheFeatureID(funcId); return; } FeaturesType3 featuresType3 = cell.GetComponent<FeaturesType3>(); featuresType3.GetTheFeatureID(funcId); } private void IsOpen() { } private void IsClose() { Close(); WindowCenter.Instance.Open<MainInterfaceWin>(); } List<FunctionForecastConfig> con_fig = new List<FunctionForecastConfig>(); private void UnopenedFirst() ///找到第一个不是打开状态的细胞的的openNumber { if (con_fig.Count <= 0) { con_fig = FunctionForecastConfig.GetValues(); } // var configs = FunctionForecastConfig.GetValues(); foreach (var config in con_fig) int index = 0; foreach (var config in featureNoticeModel.FunctionList) { int openTag = config.FuncId; if (!FuncOpen.Instance.IsFuncOpen(openTag)) { featureNoticeModel.FunctionForecastIndex = config.OpenNumber; featureNoticeModel.FunctionForecastIndex = index; return; } index++; } } @@ -168,10 +140,7 @@ return Index; } } Index = featureNoticeModel.FunctionList.FindIndex((x) => { return x.OpenNumber == featureNoticeModel.FunctionForecastIndex; }); Index = featureNoticeModel.FunctionForecastIndex; if (Index == -1) { Index = 0; System/MainInterfacePanel/FeatureNoticeModel.cs
@@ -21,67 +21,32 @@ public event Action UpdateAwarfItem; private const int Redpoint_key1 = 38; public Redpoint redPointStre1 = new Redpoint(Redpoint_key1); private int OpenFuncId = 0; private bool RedPointChange = false; private bool IsRedPoint = false; public int FunctionForecastIndex = 0; private bool Isbool=true; public int ShowLV = 20;//入口显示等级 public override void Init() { AddList(); AddAwardItem(); AddRedPoint(); } public void OnBeforePlayerDataInitialize() { Isbool = true; FunctionForecastIndex = 0; DicOpenFuncState.Clear(); StageLoad.Instance.onStageLoadFinish -= OnStageLoadFinish; PlayerDatas.Instance.playerDataRefreshEvent -= Updatefighting; } public void OnPlayerLoginOk() { Isbool = true; StageLoad.Instance.onStageLoadFinish += OnStageLoadFinish; PlayerDatas.Instance.playerDataRefreshEvent += Updatefighting; GlobalTimeEvent.Instance.secondEvent -= secondEvent; GlobalTimeEvent.Instance.secondEvent += secondEvent; RedPoint_State(); } private void secondEvent() { if (Isbool) { RedPoint_State(); Isbool = false; } } private void Updatefighting(PlayerDataType _tCDBPlayerRefresh) { if (_tCDBPlayerRefresh == PlayerDataType.LV &&PlayerDatas.Instance.baseData.LV>=100) { Isbool = true; } } public override void UnInit() { } private void OnStageLoadFinish() { if (!(StageLoad.Instance.currentStage is DungeonStage)) { OpenFuncId = 0; RedPointChange = false; IsRedPoint = false; } } private void AddList()//添加列表信息 { if (FunctionList.Count <= 0) @@ -90,72 +55,54 @@ foreach (var key in configs) { var functionForecastConfig = FunctionForecastConfig.Get(key); if (functionForecastConfig != null && functionForecastConfig.Display == 1) { FunctionList.Add(functionForecastConfig); } FunctionList.Add(functionForecastConfig); AddAwardItem(functionForecastConfig); AddRedPoint(functionForecastConfig); } } } private void AddAwardItem() private void AddAwardItem(FunctionForecastConfig functionForecastConfig) { if (DicAwardItem.Count <= 0) if (!DicAwardItem.ContainsKey(functionForecastConfig.FuncId)) { var configs = FunctionForecastConfig.GetKeys(); foreach (var key in configs) ImpactRankModel.RankAwardItem _award = new ImpactRankModel.RankAwardItem(); if (functionForecastConfig.Award == string.Empty) { var functionForecastConfig = FunctionForecastConfig.Get(key); if (!DicAwardItem.ContainsKey(functionForecastConfig.FuncId) && functionForecastConfig.Display == 1) return; } var _jsonData = LitJson.JsonMapper.ToObject(functionForecastConfig.Award); foreach (string _key in _jsonData.Keys) { var _job = int.Parse(_key); var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[_key].ToJson()); for (int j = 0; j < _itemArray.Length; j++) { ImpactRankModel.RankAwardItem _award = new ImpactRankModel.RankAwardItem(); if (functionForecastConfig.Award == string.Empty) { continue; } var _jsonData = LitJson.JsonMapper.ToObject(functionForecastConfig.Award); foreach (string _key in _jsonData.Keys) { var _job = int.Parse(_key); var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[_key].ToJson()); for (int j = 0; j < _itemArray.Length; j++) { _award.Add(_job, new Item(_itemArray[j][0], _itemArray[j][1])); } } DicAwardItem.Add(functionForecastConfig.FuncId, _award); _award.Add(_job, new Item(_itemArray[j][0], _itemArray[j][1])); } } DicAwardItem.Add(functionForecastConfig.FuncId, _award); } } private void AddRedPoint() private void AddRedPoint(FunctionForecastConfig functionForecastConfig) { if (DicRedPoint.Count <= 0) if (!DicRedPoint.ContainsKey(functionForecastConfig.FuncId)) { var configs = FunctionForecastConfig.GetKeys(); foreach (var key in configs) { var functionForecastConfig = FunctionForecastConfig.Get(key); if (!DicRedPoint.ContainsKey(functionForecastConfig.FuncId) && functionForecastConfig.Display == 1) { int RedPointkey = Redpoint_key1 * 10000 + functionForecastConfig.FuncId; Redpoint redPointMountStare = new Redpoint(Redpoint_key1, RedPointkey); DicRedPoint.Add(functionForecastConfig.FuncId, redPointMountStare); } } int RedPointkey = Redpoint_key1 * 10000 + functionForecastConfig.FuncId; Redpoint redPointMountStare = new Redpoint(Redpoint_key1, RedPointkey); DicRedPoint.Add(functionForecastConfig.FuncId, redPointMountStare); } } private void RedPoint_State() { var configs = FunctionForecastConfig.GetKeys(); foreach (var key in DicRedPoint.Keys) { DicRedPoint[key].state=RedPointState.None; } if (PlayerDatas.Instance.baseData.LV <= 19)//功能预告红点110级前不显示 if (PlayerDatas.Instance.baseData.LV <= ShowLV)//功能预告红点x级前不显示 { return; } @@ -168,93 +115,93 @@ } } } TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } public IEnumerator WhetherToPlayTheBox() { yield return new WaitForSeconds(0.7f); var inDungeon = IsDungeon(); var IsOpenMaininterface = WindowCenter.Instance.IsOpen<MainInterfaceWin>(); var IsOpenOffLineOnHook = WindowCenter.Instance.IsOpen<OffLineOnHookWin>(); var treasureModel = ModelCenter.Instance.GetModel<TreasureModel>(); var IsLoading = StageLoad.Instance.isLoading; if (NewBieCenter.Instance.inGuiding || treasureModel.newGotShowing || inDungeon || !IsOpenMaininterface || treasureModel.treasureStageUpShow || WindowCenter.Instance.ExistAnyFullScreenOrMaskWin() || IsOpenOffLineOnHook || IsLoading) { yield break; } for (int i = 0; i < FunctionList.Count; i++) { if (!FuncOpen.Instance.IsFuncOpen(FunctionList[i].FuncId)) { var functionForecastConfig = FunctionForecastConfig.Get(FunctionList[i].FuncId); if (functionForecastConfig.FrameLevel <= 0) { yield break; } string strKey = "FeatureNotice" + functionForecastConfig.FrameLevel + PlayerDatas.Instance.baseData.PlayerID; int type = LocalSave.GetInt(strKey); bool IsOpenMain = WindowCenter.Instance.IsOpen<MainInterfaceWin>(); if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.FrameLevel && type == 0) { LocalSave.SetInt(strKey, functionForecastConfig.FrameLevel); var IsOpenFeatureNotice = WindowCenter.Instance.IsOpen<FeatureNotice2Win>(); if (!IsOpenFeatureNotice) { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<FeatureNotice2Win>(); } } } } } public bool IsShowFeatureN() { bool IsBool = false; for (int i = 0; i < FunctionList.Count; i++) { if (!FuncOpen.Instance.IsFuncOpen(FunctionList[i].FuncId)) { var functionForecastConfig = FunctionForecastConfig.Get(FunctionList[i].FuncId); if (functionForecastConfig.FrameLevel <= 0) { return false; } string strKey = "FeatureNotice" + functionForecastConfig.FrameLevel + PlayerDatas.Instance.baseData.PlayerID; int type = LocalSave.GetInt(strKey); bool IsOpenMain = WindowCenter.Instance.IsOpen<MainInterfaceWin>(); if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.FrameLevel && type == 0) { IsBool = true; } } } return IsBool; } private bool IsDungeon() { var mapId = PlayerDatas.Instance.baseData.MapID; var mapConfig = MapConfig.Get(mapId); return mapConfig != null && mapConfig.MapFBType != 0; } List<FunctionForecastConfig> functionForecastValue = new List<FunctionForecastConfig>(); public int GetOpenLv(int Inedx) { int lv = 0; if (functionForecastValue.Count <= 0) { functionForecastValue= FunctionForecastConfig.GetValues(); } foreach (var value in functionForecastValue) { if (value.OpenNumber == Inedx) { lv = value.DisplayLevel; return lv; } } return lv; } //TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } //public IEnumerator WhetherToPlayTheBox() //{ // yield return new WaitForSeconds(0.7f); // var inDungeon = IsDungeon(); // var IsOpenMaininterface = WindowCenter.Instance.IsOpen<MainInterfaceWin>(); // var IsOpenOffLineOnHook = WindowCenter.Instance.IsOpen<OffLineOnHookWin>(); // var treasureModel = ModelCenter.Instance.GetModel<TreasureModel>(); // var IsLoading = StageLoad.Instance.isLoading; // if (NewBieCenter.Instance.inGuiding || treasureModel.newGotShowing || inDungeon || !IsOpenMaininterface // || treasureModel.treasureStageUpShow || WindowCenter.Instance.ExistAnyFullScreenOrMaskWin() || // IsOpenOffLineOnHook || IsLoading) // { // yield break; // } // for (int i = 0; i < FunctionList.Count; i++) // { // if (!FuncOpen.Instance.IsFuncOpen(FunctionList[i].FuncId)) // { // var functionForecastConfig = FunctionForecastConfig.Get(FunctionList[i].FuncId); // if (functionForecastConfig.FrameLevel <= 0) // { // yield break; // } // string strKey = "FeatureNotice" + functionForecastConfig.FrameLevel + PlayerDatas.Instance.baseData.PlayerID; // int type = LocalSave.GetInt(strKey); // bool IsOpenMain = WindowCenter.Instance.IsOpen<MainInterfaceWin>(); // if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.FrameLevel && type == 0) // { // LocalSave.SetInt(strKey, functionForecastConfig.FrameLevel); // var IsOpenFeatureNotice = WindowCenter.Instance.IsOpen<FeatureNotice2Win>(); // if (!IsOpenFeatureNotice) // { // WindowCenter.Instance.Close<MainInterfaceWin>(); // WindowCenter.Instance.Open<FeatureNotice2Win>(); // } // } // } // } //} //public bool IsShowFeatureN() //{ // bool IsBool = false; // for (int i = 0; i < FunctionList.Count; i++) // { // if (!FuncOpen.Instance.IsFuncOpen(FunctionList[i].FuncId)) // { // var functionForecastConfig = FunctionForecastConfig.Get(FunctionList[i].FuncId); // if (functionForecastConfig.FrameLevel <= 0) // { // return false; // } // string strKey = "FeatureNotice" + functionForecastConfig.FrameLevel + PlayerDatas.Instance.baseData.PlayerID; // int type = LocalSave.GetInt(strKey); // bool IsOpenMain = WindowCenter.Instance.IsOpen<MainInterfaceWin>(); // if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.FrameLevel && type == 0) // { // IsBool = true; // } // } // } // return IsBool; //} //private bool IsDungeon() //{ // var mapId = PlayerDatas.Instance.baseData.MapID; // var mapConfig = MapConfig.Get(mapId); // return mapConfig != null && mapConfig.MapFBType != 0; //} //List<FunctionForecastConfig> functionForecastValue = new List<FunctionForecastConfig>(); //public int GetOpenLv(int Inedx) //{ // int lv = 0; // if (functionForecastValue.Count <= 0) // { // functionForecastValue= FunctionForecastConfig.GetValues(); // } // foreach (var value in functionForecastValue) // { // if (value.OpenNumber == Inedx) // { // lv = value.DisplayLevel; // return lv; // } // } // return lv; //} public class OpenFuncState { public int State; System/MainInterfacePanel/FeatureNoticeTip.cs
File was deleted System/MainInterfacePanel/FeatureNoticeTip.cs.meta
File was deleted System/MainInterfacePanel/FeaturesType1.cs
File was deleted System/MainInterfacePanel/FeaturesType1.cs.meta
File was deleted System/MainInterfacePanel/FeaturesType2.cs
File was deleted System/MainInterfacePanel/FeaturesType2.cs.meta
File was deleted System/MainInterfacePanel/FeaturesType3.cs
@@ -10,37 +10,20 @@ namespace vnxbqy.UI { //功能预告第三部 public class FeaturesType3 : MonoBehaviour public class FeaturesType3 : CellView { [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_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] ItemCell m_Award; [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>(); } } TaskModel taskModel { get { return ModelCenter.Instance.GetModel<TaskModel>(); } } public void GetTheFeatureID(int funcId) { var functionForecastConfig = FunctionForecastConfig.Get(funcId); @@ -48,63 +31,47 @@ { 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); var funcOpenConfig = FuncOpenLVConfig.Get(funcId); SetRankAwardItem(funcId); //------------------- m_FunctionName.text = funcOpenConfig.Remark; if (FuncOpen.Instance.IsFuncOpen(funcId)) { m_FunctionalLevel.text = ""; } else if (funcOpenConfig.LimitMissionID != 0) { int tagValue = TaskListConfig.GetMissionIndex(funcOpenConfig.LimitMissionID); int curValue = TaskListConfig.GetMissionIndex(taskModel.GetLatestMainTaskId()); if (funcId == 3) { //翅膀支线开启 FuncNoOpen2 funcid=3 支线等级客户端没有记录,后续优化是否配置在功能配置表 m_FunctionalLevel.text = Language.Get("FuncNoOpen2", 200); } else { m_Award.SetActive(false); m_Content.SetActive(true); m_Content.text = functionForecastConfig.Content; m_FunctionalLevel.text = Language.Get("FuncNoOpen1", tagValue - curValue); } } 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); //后续完善境界解锁等 m_FunctionalLevel.text = Language.Get("FuncLevelOpen", funcOpenConfig.LimitLV); } m_FeaturesTypeIcon.SetSprite(funcOpenConfig.Icon); m_Content.text = functionForecastConfig.DetailDescribe; SetRankAwardItem(funcId); 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; } @@ -118,73 +85,18 @@ { 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); } SetItem1(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("弹框"); } int itemID = List[0].id; int count = List[0].count; m_Award.Init(new ItemCellModel(itemID, false, (ulong)count)); m_Award.button.AddListener(() => { featureNoticeModel.SendGetAward(funcID); }); 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); @@ -192,65 +104,6 @@ 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); } } } System/MainInterfacePanel/FunctionForecastTip.cs
@@ -15,20 +15,17 @@ public class FunctionForecastTip : MonoBehaviour { public static int OpenTag = 0; [SerializeField] Transform _FunctionForecastPanel;//切换面板 [SerializeField] Image _FunctionIcon;//图标Icon [SerializeField] Button _FunctionIconBtn;//面板开关按钮 [SerializeField] Text _NameText;//标题名 [SerializeField] Text _Information;//信息内容 [SerializeField] Text m_Information_reward;//有奖励可领取 //[SerializeField] Text _Information;//信息内容 //[SerializeField] Text m_Information_reward;//有奖励可领取 public static Action<int> FunctionOpenTagEvent; FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } } RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } } public void Init()//初始化 { PlayerDatas.Instance.playerDataRefreshEvent += OnPlayersUpLV; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; DataAssignment(); } @@ -38,13 +35,13 @@ public void Unit() { FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayersUpLV; } private void Start() { _FunctionIconBtn.AddListener(FunctionIconBtn); _NameText.text = Language.Get("SecondWindowTitle_27"); } private void OnFuncStateChangeEvent(int obj) @@ -56,77 +53,42 @@ } } private void OnPlayersUpLV(PlayerDataType _type) { if (_type == PlayerDataType.LV) { DataAssignment(); } } List<FunctionForecastConfig> configs = new List<FunctionForecastConfig>(); void DataAssignment() { if (FuncOpen.Instance.IsFuncOpen(OpenTag)) if (PlayerDatas.Instance.baseData.LV <= featureNoticeModel.ShowLV) { _FunctionForecastPanel.SetActive(false); return; } if (configs.Count <= 0) foreach (var config in featureNoticeModel.FunctionList) { configs= FunctionForecastConfig.GetValues(); } // var configs = FunctionForecastConfig.GetValues(); foreach (var config in configs) { if (!FuncOpen.Instance.IsFuncOpen(config.FuncId) && PlayerDatas.Instance.baseData.LV >= config.OpenLevel && config.Display == 1) if (!FuncOpen.Instance.IsFuncOpen(config.FuncId)) { OpenTag = config.FuncId; if (FunctionOpenTagEvent != null) { FunctionOpenTagEvent(OpenTag); } OpenPanel(OpenTag); return; OpenPanel(config.FuncId); break; } } bool IsOpen = false; foreach (var _key in featureNoticeModel.DicOpenFuncState.Keys) foreach (var config in featureNoticeModel.FunctionList) { if (featureNoticeModel.DicRedPoint.ContainsKey(_key) && featureNoticeModel.DicOpenFuncState[_key].State == 1 && featureNoticeModel.DicOpenFuncState[_key].AwardState == 0 && featureNoticeModel.DicAwardItem.ContainsKey(_key)) if (!featureNoticeModel.DicOpenFuncState.ContainsKey(config.FuncId) || featureNoticeModel.DicOpenFuncState[config.FuncId].State == 0 || featureNoticeModel.DicOpenFuncState[config.FuncId].AwardState == 0) { IsOpen = true; break; } } if (IsOpen)//预告完毕还有奖励能领取 { _FunctionForecastPanel.SetActive(true); _FunctionIcon.SetSprite("PersonBossIcon"); m_Information_reward.SetActive(false); _NameText.SetActive(true); //_NameText.text = Language.Get("Z1043"); _NameText.text = Language.Get("SecondWindowTitle_27"); _Information.SetActive(false); } else { _FunctionForecastPanel.SetActive(false); } _FunctionForecastPanel.SetActive(IsOpen); return; } void OpenPanel(int ID) { _FunctionForecastPanel.SetActive(true); m_Information_reward.SetActive(false); _NameText.SetActive(true); _Information.SetActive(false); _FunctionIcon.SetSprite(FunctionForecastConfig.Get(ID).FuncIconKey); //_NameText.text = FunctionForecastConfig.Get(ID).Describe; _NameText.text = Language.Get("SecondWindowTitle_27"); _Information.text= FunctionForecastConfig.Get(ID).OpenDescribe; _FunctionIcon.SetSprite(FuncOpenLVConfig.Get(ID).Icon); //_NameText.text = Language.Get("SecondWindowTitle_27"); } System/MainInterfacePanel/FunctionForecastWin.cs
@@ -21,7 +21,6 @@ [SerializeField] Text ContentText; [SerializeField] Text ContentText1; #region Built-in private int OpenID = 0; protected override void BindController() { } @@ -37,7 +36,6 @@ { WindowCenter.Instance.Close<CombatModeWin>(); } OpenID = FunctionForecastTip.OpenTag; FunctionForecastTip.FunctionOpenTagEvent += OnFunctionOpenTag; } @@ -48,17 +46,17 @@ void Assignment() { var functionForcecastConfig = FunctionForecastConfig.Get(OpenID); if (functionForcecastConfig == null) { Close(); } var openLvConfig = FuncOpenLVConfig.Get(OpenID); //var functionForcecastConfig = FunctionForecastConfig.Get(OpenID); //if (functionForcecastConfig == null) //{ // Close(); //} //var openLvConfig = FuncOpenLVConfig.Get(OpenID); FunctionImage.SetSprite(functionForcecastConfig.FuncIconKey); IconText.text = functionForcecastConfig.FuncName; ContentText.text = functionForcecastConfig.DetailDescribe; ContentText1.text = functionForcecastConfig.OpenDescribe; //FunctionImage.SetSprite(functionForcecastConfig.FuncIconKey); //IconText.text = functionForcecastConfig.FuncName; //ContentText.text = functionForcecastConfig.DetailDescribe; //ContentText1.text = functionForcecastConfig.OpenDescribe; } protected override void OnPreClose() @@ -68,7 +66,6 @@ private void OnFunctionOpenTag(int obj) { OpenID = obj; Assignment(); } System/MainInterfacePanel/MainInterfaceWin.cs
@@ -126,7 +126,6 @@ WindowCenter.Instance.windowAfterOpenEvent += WindowAfterEvent; WindowCenter.Instance.windowAfterCloseEvent += WindowAfterEvent; NewBieCenter.Instance.guideBeginEvent += GuideBeginEvent; GlobalTimeEvent.Instance.secondEvent += secondEvent; PlayerMainDate.DemonJarDamageRankWinChange += IsShowTaskPanel; ProcessCrossServerOneVsOne(); @@ -232,7 +231,6 @@ WindowCenter.Instance.windowAfterOpenEvent -= WindowAfterEvent; WindowCenter.Instance.windowAfterCloseEvent -= WindowAfterEvent; NewBieCenter.Instance.guideBeginEvent -= GuideBeginEvent; GlobalTimeEvent.Instance.secondEvent -= secondEvent; PlayerMainDate.DemonJarDamageRankWinChange -= IsShowTaskPanel; } @@ -268,15 +266,6 @@ } #endregion private void secondEvent() { if (IsUpdateBool && gameObject.activeInHierarchy) { StartCoroutine(featureNoticeModel.WhetherToPlayTheBox());//功能预告 IsUpdateBool = false; } } private void GuideBeginEvent() { System/MainInterfacePanel/TipPanel.cs
@@ -95,14 +95,14 @@ PopupWindowsProcessor.Instance.Add("OffLineOnHookWin"); onHookModel.openWinState = 0; } if (firstTimeRechargeModel.IsTryOut == 1 && !inDungeon)//装备试用 { firstTimeRechargeModel.OpenFirstChargeTrialWin(); } else if (featureNoticeModel.IsShowFeatureN())//功能预告面板 { SysNotifyMgr.Instance.StartCoroutine(featureNoticeModel.WhetherToPlayTheBox()); } //if (firstTimeRechargeModel.IsTryOut == 1 && !inDungeon)//装备试用 //{ // firstTimeRechargeModel.OpenFirstChargeTrialWin(); //} //else if (featureNoticeModel.IsShowFeatureN())//功能预告面板 //{ // SysNotifyMgr.Instance.StartCoroutine(featureNoticeModel.WhetherToPlayTheBox()); //} //else if (!WindowCenter.Instance.IsOpen<PetAndMountPushWin>() // && !WindowCenter.Instance.IsOpen<OffLineOnHookWin>()) //灵宠坐骑推送 //{