yyl
4 天以前 9e89e605d5429babb4b33df2e47ea86dff9d2ba7
Main/System/Dungeon/DungeonManager.cs
@@ -9,7 +9,6 @@
{
    private Dictionary<int, FBInfo> fbInfoDict = new Dictionary<int, FBInfo>();
    public event Action<int> UpdateFBInfoListEvent;//int mapID
    public event Action<int, bool, bool, bool> UpdateFBInfoChangeEvent;
    Dictionary<int, DungeonRecord> dungeonRecords = new Dictionary<int, DungeonRecord>();
    public event Action updateDungeonBuyCnt;
@@ -31,6 +30,33 @@
    public bool TryGetFBInfoByMapID(int mapID, out FBInfo info)
    {
        return fbInfoDict.TryGetValue(mapID, out info);
    }
    //获得副本的最大次数和剩余可用次数
    //maxCount 最大次数:可能会因各个副本展示规则不同而不同
    //            默认为从功能操作归属出发购买次数属于每日上限次数 每日次数 + 可最大购买次数 + 特权次数
    //useCount 剩余可用次数:今日总的可用次数 - 今日已进入次数
    //          今日总的可用次数:每日次数 + 可购总买次数 + 广告次数 + 道具次数 + 特权次数
    //          默认为从功能操作归属出发购买次数属于可用次数内
    public bool TryGetDungeonCount(int dataMapID, out int maxCount, out int useCount)
    {
        maxCount = 0;
        useCount = 0;
        if (!TryGetFBInfoByMapID(dataMapID, out FBInfo fbInfo))
            return false;
        DungeonOpenTimeConfig dungeonOpenTimeConfig = DungeonOpenTimeConfig.Get(dataMapID);
        if (dungeonOpenTimeConfig == null)
        {
            return false;
        }
        //总的可用次数:每日次数 + 可购总买次数 + 广告次数 + 道具次数 + 特权次数
        int totalCount = dungeonOpenTimeConfig.DayTimes + dungeonOpenTimeConfig.PayCntMax + InvestModel.Instance.GetAddFBBuyCount(dataMapID) + fbInfo.ADAddCnt + fbInfo.ItemAddCnt;
        maxCount = dungeonOpenTimeConfig.DayTimes + dungeonOpenTimeConfig.PayCntMax + InvestModel.Instance.GetAddFBBuyCount(dataMapID);
        useCount = totalCount - fbInfo.EnterCnt;
        return true;
    }
    public void UpdateFBInfoList(HA320_tagSCFBInfoList vNetData)
@@ -63,7 +89,6 @@
            fbInfoDict[mapID].PassGrade = item.PassGrade;
            UpdateFBInfoListEvent?.Invoke(mapID);
            UpdateFBInfoChangeEvent?.Invoke(mapID, isADAddCntChange, isBuyAddCntChange, isItemAddCntChange);
        }
    }