yyl
7 天以前 aee07e17664b4e598f4bc54460cffce26b8b823f
Main/System/Battle/BaseBattleWin.cs
@@ -194,14 +194,15 @@
    {
        if (null == battleField)
            return;
        if (!FuncOpen.Instance.IsFuncOpen(BattleManager.Instance.passFuncId, true))
        // 检查是否为永久特权卡玩家
        bool hasForeverPrivilege = InvestModel.Instance.IsInvested(InvestModel.foreverCardType);
        if (!hasForeverPrivilege && !FuncOpen.Instance.IsFuncOpen(BattleManager.Instance.passFuncId, true))
            return;
        int passRound = BattleManager.Instance.defaultPassRound;
        var name = battleField.ToString();
        // 检查是否为永久特权卡玩家
        bool hasForeverPrivilege = InvestModel.Instance.IsInvested(InvestModel.foreverCardType);
        if (hasForeverPrivilege)
        {
@@ -240,12 +241,15 @@
            // 如果战场类型不在 FieldNameToIndex 中,使用默认配置
        }
        if (passRound != 0)
        {
        int nowRound = battleField.round;   
        int realPassRound = passRound + 1;  // 配置是超过x回合可以跳,意味着x+1回合可以跳
        if (nowRound < realPassRound)
        {
            SysNotifyMgr.Instance.ShowTip("BattlePass", realPassRound - nowRound);
            return;
            }
        }
        battleField.ForceFinish();
    }
@@ -260,16 +264,25 @@
    {
        if (null == battleField)
            return;
        // 计算下一个速度档位的索引
        int nextSpeedIndex = (BattleManager.Instance.speedIndex + 1) % BattleManager.Instance.speedGear.Length;
        bool isOpen = false;
        if (InvestModel.Instance.IsActiveFightSpeed(3))
        {
            isOpen = true;
        }
        else
        {
        // 检查下一档倍速功能是否开启
        int nextSpeedFuncId = BattleManager.Instance.speedIndexfuncIdArr[nextSpeedIndex];
        bool isOpen = FuncOpen.Instance.IsFuncOpen(nextSpeedFuncId);
            isOpen = FuncOpen.Instance.IsFuncOpen(nextSpeedFuncId);
        if (!isOpen && FuncOpenLVConfig.HasKey(nextSpeedFuncId))
        {
            var config = FuncOpenLVConfig.Get(nextSpeedFuncId);
            SysNotifyMgr.Instance.ShowTip("BattleSpeedTip", TaskManager.Instance.GetNeedFinishTaskCount(config.LimitMissionID), nextSpeedIndex + 1);
        }
        }
        BattleManager.Instance.speedIndex = !isOpen ? 0 : nextSpeedIndex;
        battleField.SetSpeedRatio(BattleManager.Instance.speedGear[BattleManager.Instance.speedIndex]);
        if (textSpeed != null)