Example #1
0
        /// <summary>
        /// 获取某种卡片类型的控制器属性
        /// </summary>
        /// <param name="cardType"></param>
        /// <returns></returns>
        public EntranceCardTypeProperty GetCardTypeProperty(CardType cardType)
        {
            ushort[] propertyBytes = CardTypeProperty;

            if (CardType.GetBaseCardType(cardType) == CardType.VipCard)
            {
                return((EntranceCardTypeProperty)propertyBytes[0]);
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.OwnerCard)
            {
                return((EntranceCardTypeProperty)propertyBytes[1]);
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.MonthRentCard)
            {
                return((EntranceCardTypeProperty)propertyBytes[2]);
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.PrePayCard)
            {
                return((EntranceCardTypeProperty)propertyBytes[3]);
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.TempCard)
            {
                return((EntranceCardTypeProperty)propertyBytes[4]);
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.UserDefinedCard1)
            {
                return((EntranceCardTypeProperty)propertyBytes[5]);
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.UserDefinedCard2)
            {
                return((EntranceCardTypeProperty)propertyBytes[6]);
            }

            return(EntranceCardTypeProperty.Default);
        }
Example #2
0
        /// <summary>
        /// 通过原型卡类值获取所有自定义卡片类型值
        /// </summary>
        /// <param name="baseID"></param>
        /// <returns></returns>
        public List <CardType> GetCardTypeFromBase(byte baseID)
        {
            if (_CardTypes == null)
            {
                _CardTypes = new List <CardType>();
            }
            List <CardType> cardtypes = _CardTypes.FindAll(item => CardType.GetBaseCardType(item.ID).ID == baseID);

            return(cardtypes);
        }
Example #3
0
        /// <summary>
        /// 通过原型卡类值获取第一个自定义卡片类型值,如果没有找到,则返回原型卡类
        /// </summary>
        /// <param name="baseID"></param>
        /// <returns></returns>
        public CardType GetFirstCardTypeFromBase(byte baseID)
        {
            if (_CardTypes == null)
            {
                _CardTypes = new List <CardType>();
            }
            CardType cardtype = _CardTypes.FirstOrDefault(item => CardType.GetBaseCardType(item.ID).ID == baseID);

            if (cardtype == null)
            {
                cardtype = (CardType)baseID;
            }
            return(cardtype);
        }
Example #4
0
        /// <summary>
        /// 设置某种卡片类型的控制器属性
        /// </summary>
        /// <param name="cardType"></param>
        /// <param name="property"></param>
        public bool SetCardTypeProperty(CardType cardType, EntranceCardTypeProperty property)
        {
            ushort[] propertyBytes = CardTypeProperty;

            ushort p = 0;

            try
            {
                p = (ushort)property;
            }
            catch
            {
                return(false);
            }

            if (CardType.GetBaseCardType(cardType) == CardType.VipCard)
            {
                propertyBytes[0] = p;
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.OwnerCard)
            {
                propertyBytes[1] = p;
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.MonthRentCard)
            {
                propertyBytes[2] = p;
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.PrePayCard)
            {
                propertyBytes[3] = p;
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.TempCard)
            {
                propertyBytes[4] = p;
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.UserDefinedCard1)
            {
                propertyBytes[5] = p;
            }
            else if (CardType.GetBaseCardType(cardType) == CardType.UserDefinedCard2)
            {
                propertyBytes[6] = p;
            }

            CardTypeProperty = propertyBytes;

            return(true);
        }