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();
 }
Exemple #2
0
 /// <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;
 }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
        /// <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);
        }
Exemple #5
0
        /// <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
			}
		}
Exemple #8
0
        /// <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;
        }
Exemple #9
0
 public IBackpackBuilder WithType(BackpackType type)
 {
     _type = type;
     return(this);
 }
Exemple #10
0
 public BackpackConfigInfo(BackpackType BackpackType)
     : this()
 {
     this.BackpackType = BackpackType;
 }
Exemple #11
0
        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
            }
        }
Exemple #12
0
        /// <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);
        }