yyl
5 天以前 725b7b2374f43582a2d78b2cae3f8303359651b8
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)
@@ -183,8 +194,9 @@
            return false;
        }
        if (currentGuide != 0)
        if (currentGuide != 0 && GuideConfig.Get(currentGuide).NoRecord == 0)
        {
            // 可重复触发的引导属于低优先级 会被新引导替换
            return false;
        }
@@ -238,6 +250,8 @@
            Debug.LogError("请检查引导id = 0 的情况");
            return false;
        }
        _id = ReplaceGuideID(_id);
        var config = GuideConfig.Get(_id);
        if (config == null)
@@ -437,6 +451,8 @@
                return FuncOpen.Instance.IsFuncOpen(config.Condition);
            case GuideTriggerType.Level:
                return PlayerDatas.Instance.baseData.LV >= config.Condition;
            case GuideTriggerType.Realm:
                return PlayerDatas.Instance.baseData.realmLevel >= config.Condition && OfficialRankManager.Instance.CanOfficialLVUP();
            case GuideTriggerType.OpenWindow:
                return UIManager.Instance.IsOpened(config.WinName);
            case GuideTriggerType.MainLineQuestCanDo:
@@ -511,7 +527,16 @@
        }
    }
    //动态变化引导
    public int ReplaceGuideID(int id)
    {
        if (id == BattleManager.Instance.challengeBossGuides[0] && MainLevelManager.Instance.CanChallengeBoss())
        {
            return BattleManager.Instance.challengeBossGuides[1];
        }
        return id;
    }
}
@@ -524,5 +549,6 @@
    MissionClick = 4,   //点击任务按任务类型引导
    OpenWindow = 5,     //打开界面的时机 如装备替换界面
    Level = 6,      //等级满足条件
    Realm = 7,  //官职所有任务完成时触发引导,如6升7,6的任务全部完成,配置6
}