/// <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); }
/// <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); }
/// <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); }
/// <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); }