public Backpack(Guid id, string description, DateTimeOffset introduceAt, string name, string photoUrl, decimal price, ProductType productType, int rating, int stock, Option option, BackpackType backpackType) : base(id, description, introduceAt, name, photoUrl, price, productType, rating, stock, option) { BackpackType = backpackType; Validate(); }
/// <summary> /// 获取某种类型背包格子数 /// </summary> /// <param name="abilityId"></param> /// <param name="userId"></param> public static int GetPackTypePositionNum(BackpackType backpackType, string userId) { var userPack = _cacheSetUserPack.FindKey(userId); var packType = userPack != null && userPack.PackTypeList != null ? userPack.PackTypeList.Find(s => s.BackpackType == backpackType) : null; int position = 0; if (packType != null) { position = packType.Position; } return position; }
/// <summary> /// 判断背包是否已满 /// </summary> /// <param name="backpackType"></param> /// <returns></returns> public static bool PackIsFull(string userId, BackpackType backpackType, int buyNum) { var _cacheSetUserPack = new GameDataCacheSet <UserPack>(); bool isFull = false; var userPack = _cacheSetUserPack.FindKey(userId); var pack = userPack != null && userPack.PackTypeList != null ? userPack.PackTypeList.Find(s => s.BackpackType == backpackType) : null; int position = pack != null ? pack.Position : 0; int num = 0; return(isFull); }
/// <summary> /// 获取某种类型背包格子数 /// </summary> /// <param name="abilityId"></param> /// <param name="userId"></param> public static int GetPackTypePositionNum(BackpackType backpackType, string userId) { var userPack = _cacheSetUserPack.FindKey(userId); var packType = userPack != null && userPack.PackTypeList != null ? userPack.PackTypeList.Find(s => s.BackpackType == backpackType) : null; int position = 0; if (packType != null) { position = packType.Position; } return(position); }
/// <summary> /// 判断背包是否已满 /// </summary> /// <param name="backpackType"></param> /// <returns></returns> public static bool PackIsFull(GameUser user, BackpackType backpackType, int buyNum, out string prizeContent) { prizeContent = ""; bool isFull = false; var userPack = _cacheSetUserPack.FindKey(user.UserID); var pack = userPack != null && userPack.PackTypeList != null ? userPack.PackTypeList.Find(s => s.BackpackType == backpackType) : null; int position = pack != null ? pack.Position : 0; int num = 0; switch (backpackType) { case BackpackType.BeiBao: var userItem = _cacheSetUserItem.FindKey(user.UserID); var bdList = userItem != null && userItem.ItemPackage != null ? userItem.ItemPackage.FindAll(s => s.ItemType != ItemType.BengDai) : null; if (bdList != null && bdList.Count > 0) { foreach (var userItemInfo in bdList) { num = MathUtils.Addition(num, userItemInfo.Num); } } if ((num + buyNum) > position * 99) { prizeContent = LanguageManager.GetLang().PackFull; isFull = true; } break; case BackpackType.ZhuangBei: var userItem2 = _cacheSetUserItem.FindKey(user.UserID); num = userItem2 != null && userItem2.ItemPackage != null ? userItem2.ItemPackage.FindAll(s => s.ItemType == ItemType.ZhuangBei).Count : 0; //if (zbList != null && zbList.Count > 0) //{ // foreach (var userItemInfo in zbList) // { // num = MathUtils.Addition(num, userItemInfo.Num); // } //} if ((num + buyNum) >= position ) { prizeContent = LanguageManager.GetLang().EquipFull; isFull = true; } break; case BackpackType.YongBing: var userGeneralList = _cacheSetUserGeneral.FindAll(user.UserID); num = userGeneralList != null ? userGeneralList.Count : 0; if ((num + buyNum) >= position) { prizeContent = LanguageManager.GetLang().GeneralFull; isFull = true; } break; case BackpackType.HunJi: var userAbility = _cacheSetUserAbility.FindKey(user.UserID); num = userAbility != null && userAbility.AbilityList != null ? userAbility.AbilityList.Count : 0; if ((num + buyNum) >= position) { prizeContent = LanguageManager.GetLang().AbilityFull; isFull = true; } break; } return isFull; }
public BackpackConfigInfo(BackpackType BackpackType) : this() { this.BackpackType = BackpackType; }
protected override object this[string index] { get { #region switch (index) { case "BackpackType": return BackpackType; case "DefaultNum": return DefaultNum; case "MaxOpenNum": return MaxOpenNum; case "EveryAddNum": return EveryAddNum; case "MaxCellNum": return MaxCellNum; case "RequiredGoldNum": return RequiredGoldNum; case "Describe": return Describe; default: throw new ArgumentException(string.Format("BackpackConfigInfo index[{0}] isn't exist.", index)); } #endregion } set { #region switch (index) { case "BackpackType": _BackpackType = value.ToEnum<BackpackType>(); break; case "DefaultNum": _DefaultNum = value.ToInt(); break; case "MaxOpenNum": _MaxOpenNum = value.ToInt(); break; case "EveryAddNum": _EveryAddNum = value.ToInt(); break; case "MaxCellNum": _MaxCellNum = value.ToInt(); break; case "RequiredGoldNum": _RequiredGoldNum = value.ToInt(); break; case "Describe": _Describe = value.ToNotNullString(); break; default: throw new ArgumentException(string.Format("BackpackConfigInfo index[{0}] isn't exist.", index)); } #endregion } }
/// <summary> /// 判断背包是否已满 /// </summary> /// <param name="backpackType"></param> /// <returns></returns> public static bool PackIsFull(string userId, BackpackType backpackType, int buyNum) { var _cacheSetUserPack = new GameDataCacheSet<UserPack>(); bool isFull = false; var userPack = _cacheSetUserPack.FindKey(userId); var pack = userPack != null && userPack.PackTypeList != null ? userPack.PackTypeList.Find(s => s.BackpackType == backpackType) : null; int position = pack != null ? pack.Position : 0; int num = 0; return isFull; }
public IBackpackBuilder WithType(BackpackType type) { _type = type; return(this); }
public BackpackConfigInfo(BackpackType BackpackType) : this() { this.BackpackType = BackpackType; }
protected override object this[string index] { get { #region switch (index) { case "BackpackType": return(BackpackType); case "DefaultNum": return(DefaultNum); case "MaxOpenNum": return(MaxOpenNum); case "EveryAddNum": return(EveryAddNum); case "MaxCellNum": return(MaxCellNum); case "RequiredGoldNum": return(RequiredGoldNum); case "Describe": return(Describe); default: throw new ArgumentException(string.Format("BackpackConfigInfo index[{0}] isn't exist.", index)); } #endregion } set { #region switch (index) { case "BackpackType": _BackpackType = value.ToEnum <BackpackType>(); break; case "DefaultNum": _DefaultNum = value.ToInt(); break; case "MaxOpenNum": _MaxOpenNum = value.ToInt(); break; case "EveryAddNum": _EveryAddNum = value.ToInt(); break; case "MaxCellNum": _MaxCellNum = value.ToInt(); break; case "RequiredGoldNum": _RequiredGoldNum = value.ToInt(); break; case "Describe": _Describe = value.ToNotNullString(); break; default: throw new ArgumentException(string.Format("BackpackConfigInfo index[{0}] isn't exist.", index)); } #endregion } }
/// <summary> /// 判断背包是否已满 /// </summary> /// <param name="backpackType"></param> /// <returns></returns> public static bool PackIsFull(GameUser user, BackpackType backpackType, int buyNum, out string prizeContent) { prizeContent = ""; bool isFull = false; var userPack = _cacheSetUserPack.FindKey(user.UserID); var pack = userPack != null && userPack.PackTypeList != null ? userPack.PackTypeList.Find(s => s.BackpackType == backpackType) : null; int position = pack != null ? pack.Position : 0; int num = 0; switch (backpackType) { case BackpackType.BeiBao: var userItem = _cacheSetUserItem.FindKey(user.UserID); var bdList = userItem != null && userItem.ItemPackage != null ? userItem.ItemPackage.FindAll(s => s.ItemType != ItemType.BengDai) : null; if (bdList != null && bdList.Count > 0) { foreach (var userItemInfo in bdList) { num = MathUtils.Addition(num, userItemInfo.Num); } } if ((num + buyNum) > position * 99) { prizeContent = LanguageManager.GetLang().PackFull; isFull = true; } break; case BackpackType.ZhuangBei: var userItem2 = _cacheSetUserItem.FindKey(user.UserID); num = userItem2 != null && userItem2.ItemPackage != null ? userItem2.ItemPackage.FindAll(s => s.ItemType == ItemType.ZhuangBei).Count : 0; //if (zbList != null && zbList.Count > 0) //{ // foreach (var userItemInfo in zbList) // { // num = MathUtils.Addition(num, userItemInfo.Num); // } //} if ((num + buyNum) >= position) { prizeContent = LanguageManager.GetLang().EquipFull; isFull = true; } break; case BackpackType.YongBing: var userGeneralList = _cacheSetUserGeneral.FindAll(user.UserID); num = userGeneralList != null ? userGeneralList.Count : 0; if ((num + buyNum) >= position) { prizeContent = LanguageManager.GetLang().GeneralFull; isFull = true; } break; case BackpackType.HunJi: var userAbility = _cacheSetUserAbility.FindKey(user.UserID); num = userAbility != null && userAbility.AbilityList != null ? userAbility.AbilityList.Count : 0; if ((num + buyNum) >= position) { prizeContent = LanguageManager.GetLang().AbilityFull; isFull = true; } break; } return(isFull); }