예제 #1
0
        /// <summary>
        /// 传承人或被传承人、传承类型选择
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="generalHeritagesList"></param>
        /// <param name="type"></param>
        public static void HeritageGeneral(GameUser user, int type)
        {
            if (user.HeritageList.Count == 0)
            {
                return;
            }
            GeneralHeritage heritage = user.HeritageList.Find(m => m.Type == HeritageType.Heritage);
            GeneralHeritage hGernal  = user.HeritageList.Find(m => m.Type == HeritageType.IsHeritage);

            if (heritage == null || hGernal == null)
            {
                return;
            }
            var         cacheSet = new GameDataCacheSet <UserGeneral>();
            UserGeneral ugeneral = cacheSet.FindKey(user.UserID, heritage.GeneralID);
            UserGeneral general  = cacheSet.FindKey(user.UserID, hGernal.GeneralID);

            if (ugeneral == null || general == null)
            {
                return;
            }
            heritage.GeneralLv = ugeneral.GeneralLv;
            OpsInfo info = HeritageOpsInfo(type);

            if (info != null)
            {
                int generLv = (heritage.GeneralLv * info.Num).ToFloorInt(); //().ToShort();
                if (generLv < general.GeneralLv)
                {
                    generLv = general.GeneralLv;
                }
                hGernal.GeneralLv = generLv.ToShort();
                hGernal.opsType   = type;
            }
        }
예제 #2
0
        public static bool IsNomalHeritage(string userID, int opsType)
        {
            int     itemid  = 0;
            int     itemnum = 0;
            OpsInfo opsInfo = GeneralHelper.HeritageOpsInfo(opsType);

            if (opsInfo != null)
            {
                itemid  = opsInfo.ItemID;
                itemnum = opsInfo.ItemNum;
            }
            if (itemid > 0 && itemnum > 0)
            {
                var package = UserItemPackage.Get(userID);
                if (package != null)
                {
                    int num      = 0;
                    var useritem = package.ItemPackage.FindAll(s => s.ItemID == itemid);
                    foreach (var itemInfo in useritem)
                    {
                        num += itemInfo.Num;
                    }
                    if (num >= itemnum)
                    {
                        UserItemHelper.UseUserItem(userID, itemid, itemnum);
                        return(true);
                    }
                }
            }
            else
            {
                return(true);
            }
            return(false);
        }
예제 #3
0
        public MailHelper(OpsInfo opsInfo)
        {
            this.opsInfo = opsInfo;

            this.service = new ExchangeService();
            this.service.UseDefaultCredentials = true;
            this.service.Credentials           = new WebCredentials(opsInfo.SenderAddress, opsInfo.SenderPassword);
            this.service.AutodiscoverUrl(opsInfo.SenderAddress, this.RedirectionUrlValidationCallback);
        }
예제 #4
0
        public static int HeritageUseGold(int opsType, out int vipLv)
        {
            vipLv = 0;
            int useGold = 0;

            if (!string.IsNullOrEmpty(GameConfigSet.HeritageList))
            {
                var     opsInfosList = JsonUtils.Deserialize <List <OpsInfo> >(GameConfigSet.HeritageList);
                OpsInfo opsInfo      = opsInfosList.Find(m => m.Type == opsType);
                if (opsInfo != null)
                {
                    useGold = opsInfo.UseGold;
                    vipLv   = opsInfo.VipLv;
                }
            }
            return(useGold);
        }
예제 #5
0
        /// <summary>
        /// 传承类型信息
        /// </summary>
        /// <returns></returns>
        public static OpsInfo HeritageOpsInfo(int opsID)
        {
            OpsInfo opsInfos = null;

            if (!string.IsNullOrEmpty(GameConfigSet.HeritageList))
            {
                var opsInfosList = JsonUtils.Deserialize <List <OpsInfo> >(GameConfigSet.HeritageList);
                if (opsInfosList.Count > 0 && opsID <= 0)
                {
                    opsInfos = opsInfosList[0];
                }
                else
                {
                    opsInfos = opsInfosList.Find(m => m.Type == opsID);
                }
            }
            return(opsInfos);
        }
예제 #6
0
        public override bool TakeAction()
        {
            CacheList <GeneralHeritage> heritageList = new CacheList <GeneralHeritage>();
            GeneralHeritage             heritage     = new GeneralHeritage();
            UserGeneral general = new PersonalCacheStruct <UserGeneral>().FindKey(ContextUser.UserID, generalID);

            if (general == null)
            {
                return(false);
            }
            if (ContextUser.HeritageList.Count > 0)
            {
                heritageList = ContextUser.HeritageList;
                if (heritageList.Find(m => m.Type == heritageType) != null)
                {
                    heritage = heritageList.Find(m => m.Type == heritageType);
                }
            }
            if (heritageType == HeritageType.Heritage)
            {
                int             opsid     = 0;
                OpsInfo         opsInfo   = GeneralHelper.HeritageOpsInfo(opsid);
                GeneralHeritage gHeritage = heritageList.Find(m => m.Type == HeritageType.IsHeritage);
                if (opsInfo != null)
                {
                    short genlv = MathUtils.Addition(gHeritage == null ? 0.ToShort() : gHeritage.GeneralLv, 3.ToShort());
                    if (gHeritage != null && general.GeneralLv < genlv)
                    {
                        ErrorCode = LanguageManager.GetLang().ErrorCode;
                        ErrorInfo = LanguageManager.GetLang().St1418_HeritageLvLow;
                        return(false);
                    }
                    ContextUser.HeritageList.Remove(heritage);
                    heritage.GeneralID = generalID;
                    heritage.Type      = heritageType;
                    heritage.GeneralLv = MathUtils.RoundCustom(heritage.GeneralLv * opsInfo.Num).ToShort();
                    heritage.GeneralLv = general.GeneralLv;
                    heritage.PowerNum  = MathUtils.RoundCustom(heritage.PowerNum * opsInfo.Num).ToShort();
                    if (heritage.PowerNum < general.TrainingPower)
                    {
                        heritage.PowerNum = general.TrainingPower;
                    }
                    heritage.SoulNum = MathUtils.RoundCustom(heritage.SoulNum * opsInfo.Num).ToShort();
                    if (heritage.SoulNum < general.SoulNum)
                    {
                        heritage.SoulNum = general.TrainingSoul;
                    }
                    heritage.IntellectNum = MathUtils.RoundCustom(heritage.IntellectNum * opsInfo.Num).ToShort();
                    if (heritage.IntellectNum < general.IntellectNum)
                    {
                        heritage.IntellectNum = general.TrainingIntellect;
                    }
                    heritage.opsType = 1;
                    ContextUser.HeritageList.Add(heritage);
                }
            }
            else if (heritageType == HeritageType.IsHeritage)
            {
                ContextUser.HeritageList = new CacheList <GeneralHeritage>();
                heritage.GeneralID       = generalID;
                heritage.GeneralLv       = general.GeneralLv;
                heritage.Type            = heritageType;
                heritage.PowerNum        = general.TrainingPower;
                heritage.SoulNum         = general.TrainingSoul;
                heritage.IntellectNum    = general.TrainingIntellect;
                ContextUser.HeritageList.Add(heritage);
            }
            return(true);
        }