hch
1 天以前 c6ea64fb4e4755c4290bf5228d8cd463bc81c21f
Main/System/Achievement/AchievementManager.cs
@@ -15,15 +15,26 @@
    public override void Init()
    {
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
        FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
    }
    public override void Release()
    {
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
        FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
    }
    void OnBeforePlayerDataInitialize()
    {
        achivementDict.Clear();
    }
    void OnFuncStateChangeEvent(int funcID)
    {
        if (funcID == (int)FuncOpenEnum.DayMission)
        {
            UpdateRedpoint(new List<int>() { 1 });
        }
    }
    public void UpdateAchievement(HA340_tagSCSuccessInfoList netPack)
@@ -135,6 +146,10 @@
        foreach (var type in _types)
        {
            if (!isOpened(type))
            {
                continue;
            }
            var redpoint = RedpointCenter.Instance.GetRedpoint(redpointDict[type]);
            redpoint.state = RedPointState.None;
            //根据ID判断是否有可领取的
@@ -156,6 +171,19 @@
        }
    }
    bool isOpened(int type)
    {
        if (type == 1)
        {
            if (FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.DayMission))
            {
                return true;
            }
        }
        return false;
    }
    //根据类型获取所有成就ID, 且是排序后的 未领取>未达成>已领取
    public List<int> GetAchievementIDs(int type)
    {