예제 #1
0
        /// <summary>
        ///     返回卡编是否具有添加到点燃区域的权限
        /// </summary>
        /// <param name="number">卡编</param>
        /// <returns>true|false</returns>
        private bool CheckAreaIg(string number)
        {
            var name = CardUtils.GetName(number);
            // 根据卡编获取卡片在点燃区的枚举类型
            var igType = CardUtils.GetIgType(number);
            // 判断卡片是否超出自身添加数量以及点燃区总数量
            var canAdd = (_deckVm.IgModels.AsParallel().Count(deckEntity => name.Equals(deckEntity.CName)) <
                          CardUtils.GetMaxCount(number)) && (_deckVm.IgModels.Count < 20);

            switch (igType)
            {
            case Enums.IgType.Life:
                canAdd = canAdd &&
                         (_deckVm.IgModels.AsParallel().Count(deckEntity => CardUtils.IsLife(deckEntity.NumberEx)) <
                          4);
                break;

            case Enums.IgType.Void:
                canAdd = canAdd &&
                         (_deckVm.IgModels.AsParallel().Count(deckEntity => CardUtils.IsVoid(deckEntity.NumberEx)) <
                          4);
                break;

            case Enums.IgType.Normal:
                break;
            }
            return(canAdd);
        }
예제 #2
0
        /// <summary>
        ///     返回卡编是否具有添加到非点燃区域的权限
        /// </summary>
        /// <param name="number">卡编</param>
        /// <returns>true|false</returns>
        private bool CheckAreaUg(string number)
        {
            var name = CardUtils.GetName(number);

            return((_deckVm.UgModels.AsParallel().Count(deckEntity => name.Equals(deckEntity.CName)) <
                    CardUtils.GetMaxCount(number)) && (_deckVm.UgModels.Count < 30));
        }