Main/System/Battle/BattleManager.cs
@@ -576,4 +576,24 @@
        return null;
    }
    /// <summary>
    /// 检查是否有非主线战斗(如竞技场、白骨等)正在进行
    /// </summary>
    /// <returns>如果有任何非主线战斗且未结束,则返回true</returns>
    public bool IsOtherBattleInProgress()
    {
        foreach (var kvp in battleFields)
        {
            BattleField battleField = kvp.Value;
            // 检查战场是否有效且尚未结束
            if (battleField == null || battleField.IsBattleFinish)
                continue;
            // MapID 1 (StoryBattleField) 和 2 (StoryBossBattleField) 都是主线
            if (battleField.MapID == 1 || battleField.MapID == 2)
                continue;
            return true;
        }
        return false;
    }
}