| Main/System/Main/HomeWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/NewBieGuidance/NewBieCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/OfficialRank/OfficialRankManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/OfficialRank/OfficialUpCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/OfficialRank/OfficialUpWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/System/Main/HomeWin.cs
@@ -14,6 +14,7 @@ [SerializeField] Text playerLevelText; [SerializeField] SmoothSlider expSlider; [SerializeField] Button officialUpBtn; [SerializeField] Transform officialTip; //任务区 [SerializeField] Button taskButton; //引导或者领取任务奖励 @@ -132,6 +133,7 @@ DisplayRestState(); funcColBtn.SetActive(FuncOpen.Instance.IsFuncOpen(GeneralDefine.mainRightFuncOpenFuncID)); officialTip.SetActive(OfficialRankManager.Instance.CanOfficialLVUP()); } protected override void OnPreOpen() @@ -147,6 +149,7 @@ FirstChargeManager.Instance.OnUpdateFirstChargeInfo += OnUpdateFirstChargeInfo; GlobalTimeEvent.Instance.secondEvent += OnSecondEvent; HeroUIManager.Instance.OnUnLockHeroCountEvent += OnUnLockHeroCountEvent; OfficialRankManager.Instance.OnOfficialCanLVUpEvent += OnOfficialCanLVUpEvent; Display(); DisplayFirstChargeBtn(); @@ -169,9 +172,15 @@ FirstChargeManager.Instance.OnUpdateFirstChargeInfo -= OnUpdateFirstChargeInfo; GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent; HeroUIManager.Instance.OnUnLockHeroCountEvent -= OnUnLockHeroCountEvent; OfficialRankManager.Instance.OnOfficialCanLVUpEvent -= OnOfficialCanLVUpEvent; // 关闭的时候把战斗界面也给关了 虽然是在外面开的 UIManager.Instance.CloseWindow<BattleWin>(); } void OnOfficialCanLVUpEvent() { officialTip.SetActive(OfficialRankManager.Instance.CanOfficialLVUP()); } private void OnClickEnterBoss() @@ -208,6 +217,10 @@ case PlayerDataType.ExAttr1: case PlayerDataType.ExAttr2: DisplayLevel(); break; case PlayerDataType.RealmLevel: OnOfficialCanLVUpEvent(); break; } @@ -270,6 +283,11 @@ { taskButton.SetActive(true); var taskConfig = TaskConfig.Get(task.TaskID); if (taskConfig == null) { Debug.LogError("找不到任务 " + task.TaskID); return; } taskText.text = taskConfig.TaskDescribe; taskNumText.text = string.Format("({0}/{1})", task.CurValue, taskConfig.NeedValue); taskNumText.color = task.CurValue >= taskConfig.NeedValue ? UIHelper.GetUIColor(TextColType.NavyYellow) : UIHelper.GetUIColor(TextColType.Red); Main/System/NewBieGuidance/NewBieCenter.cs
@@ -49,6 +49,7 @@ PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh; UIManager.Instance.OnOpenWindow += OnOpenWindow; UIManager.Instance.OnCloseWindow += OnCloseWindow; OfficialRankManager.Instance.OnOfficialCanLVUpEvent += OnOfficialCanLVUpEvent; } public override void Release() @@ -59,6 +60,16 @@ PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh; UIManager.Instance.OnOpenWindow -= OnOpenWindow; UIManager.Instance.OnCloseWindow -= OnCloseWindow; OfficialRankManager.Instance.OnOfficialCanLVUpEvent -= OnOfficialCanLVUpEvent; } void OnOfficialCanLVUpEvent() { var guides = GuideConfig.GetGuideListByType((int)GuideTriggerType.Realm); if (guides != null) { TryStartNewBieGuides(guides, true); } } void OnOpenWindow(UIBase _ui) @@ -131,14 +142,6 @@ TryStartNewBieGuides(guides); } } else if (type == PlayerDataType.RealmLevel) { var guides = GuideConfig.GetGuideListByType((int)GuideTriggerType.Realm); if (guides != null) { TryStartNewBieGuides(guides); } } } @@ -191,8 +194,9 @@ return false; } if (currentGuide != 0) if (currentGuide != 0 && GuideConfig.Get(currentGuide).NoRecord == 0) { // 可重复触发的引导属于低优先级 会被新引导替换 return false; } @@ -448,7 +452,7 @@ case GuideTriggerType.Level: return PlayerDatas.Instance.baseData.LV >= config.Condition; case GuideTriggerType.Realm: return PlayerDatas.Instance.baseData.realmLevel >= config.Condition; return PlayerDatas.Instance.baseData.realmLevel >= config.Condition && OfficialRankManager.Instance.CanOfficialLVUP(); case GuideTriggerType.OpenWindow: return UIManager.Instance.IsOpened(config.WinName); case GuideTriggerType.MainLineQuestCanDo: @@ -545,6 +549,6 @@ MissionClick = 4, //点击任务按任务类型引导 OpenWindow = 5, //打开界面的时机 如装备替换界面 Level = 6, //等级满足条件 Realm = 7, //官职等级 Realm = 7, //官职所有任务完成时触发引导,如6升7,6的任务全部完成,配置6 } Main/System/OfficialRank/OfficialRankManager.cs
@@ -13,8 +13,12 @@ int taskAwardState; Dictionary<int, int> taskValues = new Dictionary<int, int>(); public event Action RealmMissionRefreshEvent; public event Action OnOfficialCanLVUpEvent; //检测到可以升官职 public Dictionary<int, int> mainLevelDict = new Dictionary<int, int>(); //id:索引 用于判断还需多少关 public Dictionary<int, int> guideDict = new Dictionary<int, int>(); public override void Init() { PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh; @@ -29,6 +33,8 @@ { mainLevelDict[levelList[i]] = i; } ParseConfig(); } public override void Release() @@ -43,6 +49,13 @@ { taskValues.Clear(); taskAwardState = 0; } void ParseConfig() { var config = FuncConfigConfig.Get("Official"); guideDict = ConfigParse.ParseIntDict(config.Numerical1); } @@ -97,10 +110,8 @@ return PlayerDatas.Instance.baseData.ExAttr1 / 100 > config.NeedValueList[0] ? 1 : 0; case 3: return taskValues.ContainsKey(missionID) && taskValues[missionID] >= config.NeedValueList[0] ? 1 : 0; case 4: return BlessLVManager.Instance.m_TreeLV >= config.NeedValueList[0] ? 1 : 0; default: return 0; } @@ -194,9 +205,25 @@ if (finish) redpoint.state = RedPointState.Simple; CanOfficialLVUP(true); } public bool CanOfficialLVUP(bool notifyEvent = false) { //只要任务完成即可 var ids = RealmLVUPTaskConfig.GetMissionIDs(PlayerDatas.Instance.baseData.realmLevel); foreach (var id in ids) { if (GetMissionState(PlayerDatas.Instance.baseData.realmLevel, id) == 0) return false; } if (notifyEvent) OnOfficialCanLVUpEvent?.Invoke(); return true; } public Color GetOfficialRankColor(int quality) Main/System/OfficialRank/OfficialUpCell.cs
@@ -32,12 +32,13 @@ getAwardImg.SetActive(state == 1); getAwardEffect.SetActive(state == 1); bgImg.SetSprite(state == 0 ? "OfficialMissionBG0" : "OfficialMissionBG1"); switch (config.TaskType) var type = config.TaskType; switch (type) { case 1: case 3: case 4: taskName.text = Language.Get("OfficialMission" + config.TaskType, config.NeedValueList[0]); taskName.text = Language.Get("OfficialMission" + type, config.NeedValueList[0]); break; case 2: var mainLVConfig = MainLevelConfig.Get(config.NeedValueList[0]); @@ -51,15 +52,19 @@ taskProcessText.text = process + "/" + total; int itemID = config.AwardItemList[0][0]; taskReward.Init(new ItemCellModel(itemID, false, config.AwardItemList[0][1])); taskReward.button.AddListener(() => { ItemTipUtility.Show(itemID); }); // taskReward.button.AddListener(() => // { // ItemTipUtility.Show(itemID); // }); getBtn.AddListener(() => { if (state != 1) { UIManager.Instance.CloseWindow<OfficialUpWin>(); NewBieCenter.Instance.StartNewBieGuide(OfficialRankManager.Instance.guideDict[type]); return; } OfficialRankManager.Instance.RequestAllAwards(id); }); Main/System/OfficialRank/OfficialUpWin.cs
@@ -15,6 +15,7 @@ [SerializeField] Image officialIcon; [SerializeField] Image officialNextIcon; [SerializeField] Button closeBtn; [SerializeField] Text addLVText; [SerializeField] PositionTween[] paopaoArr; [SerializeField] Text[] paopaoTextArrName; [SerializeField] Text[] paopaoTextArrValue; @@ -61,9 +62,14 @@ for (int i = 0; i < paopaoArr.Length; i++) { paopaoArr[i].Play(); if (i < nextConfig.AddAttrType.Length) { paopaoTextArrName[i].text = PlayerPropertyConfig.Get(nextConfig.AddAttrType[i]).Name; paopaoTextArrValue[i].text = "+" + PlayerPropertyConfig.GetValueDescription(nextConfig.AddAttrType[i], nextConfig.AddAttrNum[i]); } } addLVText.text = "+" + (nextConfig.LVMax - config.LVMax); RefreshBtn(); } @@ -81,20 +87,31 @@ } } //所有泡泡飞向按钮 for (int i = 0; i < paopaoArr.Length; i++) { paopaoArr[i].Stop(); paopaoArr[i].transform.DOLocalMove(lvUpBtn.transform.localPosition, 0.4f); } effectPlayer.Play(); upEffect.onComplete = () => { CA523_tagCMRealmLVUp pak = new CA523_tagCMRealmLVUp(); GameNetSystem.Instance.SendInfo(pak); }; effectPlayer.onComplete = () => { upEffect.Play(); }; //所有泡泡飞向按钮 for (int i = 0; i < paopaoArr.Length; i++) { int index = i; paopaoArr[i].Stop(); paopaoArr[i].transform.DOLocalMove(lvUpBtn.transform.localPosition, 0.3f).onComplete = () => { if (index == 0) { effectPlayer.Play(); } }; } }