Example #1
0
        /// 获得灵魂
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="itemId"></param>
        /// <param name="num"></param>
        public static void AddGeneralSoul(string userId, int itemId, int num)
        {
            var cacheSetGeneral     = new GameDataCacheSet <UserGeneral>();
            var cacheSetGeneralInfo = new ConfigCacheSet <GeneralInfo>();
            var generalInfo         = cacheSetGeneralInfo.Find(s => s.SoulID == itemId);
            var userGeneral         = cacheSetGeneral.FindKey(userId, itemId);

            if (userGeneral != null && generalInfo != null)
            {
                userGeneral.AtmanNum = MathUtils.Addition(userGeneral.AtmanNum, num).ToShort();
            }
            else
            {
                if (generalInfo != null)
                {
                    userGeneral                   = new UserGeneral();
                    userGeneral.UserID            = userId;
                    userGeneral.GeneralID         = itemId;
                    userGeneral.AtmanNum          = num;
                    userGeneral.GeneralName       = generalInfo.GeneralName;
                    userGeneral.HeadID            = generalInfo.HeadID;
                    userGeneral.PicturesID        = generalInfo.PicturesID;
                    userGeneral.GeneralLv         = generalInfo.GeneralLv;
                    userGeneral.LifeNum           = generalInfo.LifeNum;
                    userGeneral.GeneralType       = generalInfo.GeneralType;
                    userGeneral.CareerID          = generalInfo.CareerID;
                    userGeneral.PowerNum          = generalInfo.PowerNum;
                    userGeneral.SoulNum           = generalInfo.SoulNum;
                    userGeneral.IntellectNum      = generalInfo.IntellectNum;
                    userGeneral.TrainingPower     = 0;
                    userGeneral.TrainingSoul      = 0;
                    userGeneral.TrainingIntellect = 0;
                    userGeneral.HitProbability    = ConfigEnvSet.GetDecimal("Combat.HitiNum");
                    userGeneral.AbilityID         = generalInfo.AbilityID;
                    userGeneral.Momentum          = 0;
                    userGeneral.Description       = generalInfo.Description;
                    userGeneral.AddGeneralStatus(2);
                    userGeneral.CurrExperience = 0;
                    userGeneral.Experience1    = 0;
                    userGeneral.Experience2    = 0;
                    userGeneral.AbilityNum     = 3;
                    cacheSetGeneral.Add(userGeneral, GameEnvironment.CacheUserPeriod);
                }
            }
        }