lcy
昨天 16dba0ff4d2eed7f5a4a7c37640f158ee9f73d8c
Main/System/HeroUI/HeroUIManager.Collect.cs
@@ -465,6 +465,44 @@
    #endregion
    #region 皮肤开服天数相关方法
    /// <summary>
    /// 检查皮肤是否满足开服天数展示条件
    /// </summary>
    /// <param name="skinID">皮肤ID</param>
    /// <returns>true: 可展示; false: 尚未满足开服天数</returns>
    public static bool IsSkinOpenDayMet(int skinID)
    {
        var skinConfig = HeroSkinConfig.Get(skinID);
        if (skinConfig == null || skinConfig.OpenDay <= 0)
            return true;  // OpenDay <= 0 表示无限制
        return TimeUtility.OpenDay + 1 >= skinConfig.OpenDay;
    }
    /// <summary>
    /// 判断武将在考虑 OpenDay 限制后,是否有至少一个可显示的非默认皮肤
    /// 默认皮肤(SkinIDList[0])不受 OpenDay 控制,始终可用
    /// </summary>
    /// <param name="heroID">武将ID</param>
    /// <returns>true: 有至少一个非默认皮肤可显示; false: 仅默认皮肤可显示</returns>
    public static bool HasHeroAnyAvailableSkin(int heroID)
    {
        var heroConfig = HeroConfig.Get(heroID);
        if (heroConfig == null || heroConfig.SkinIDList.Length <= 1)
            return false;  // 只有默认皮肤或没有皮肤
        // 从索引 1 开始检查非默认皮肤
        for (int i = 1; i < heroConfig.SkinIDList.Length; i++)
        {
            if (IsSkinOpenDayMet(heroConfig.SkinIDList[i]))
                return true;
        }
        return false;
    }
    #endregion
    #endregion
}