Пример #1
0
 public GeneralInfo()
     : base(AccessLevel.ReadOnly)
 {
     ShowFilter = new CacheList<ShowFilterInfo>(0, true);
     RecruitFilter = new CacheList<RecruitFilter>(0, true);
     Mature = new CacheList<GeneralProperty>(0, true);
 }
Пример #2
0
 public UserGuild()
     : base(AccessLevel.ReadWrite)
 {
     GuildBossInfo = new GuildBossInfo();
     AbilityInfo = new CacheList<GuildAbility>();
     GuildExercise = new GuildExercise();
 }
Пример #3
0
 public UserDailyRestrain()
     : base(AccessLevel.ReadWrite)
 {
     UserExtend = new DailyUserExtend();
     FunPlot = new CacheList<FunPlot>();
     PlainPlotList = new CacheList<FunPlot>();
 }
Пример #4
0
 /// <summary>
 /// 每日限制次数
 /// </summary>
 /// <returns></returns>
 public static int GetVipUseNum(int vipLv, RestrainType restrainType)
 {
     int rType = (int)restrainType;
     int baseNum = 0;
     int MaxNum = 0;
     int vipNum = 0;
     DailyRestrainSet restrainSet = new ShareCacheStruct<DailyRestrainSet>().FindKey(restrainType);
     if (restrainSet != null)
     {
         baseNum = restrainSet.MaxNum;
     }
     VipLvInfo lvInfo = new ConfigCacheSet<VipLvInfo>().FindKey(vipLv);
     var restrainArray = new CacheList<DailyRestrain>();
     if (lvInfo != null)
     {
         restrainArray = lvInfo.DailyRestrain;
     }
     foreach (DailyRestrain daily in restrainArray)
     {
         if (daily.ID == rType)
         {
             vipNum = daily.Num;
         }
     }
     MaxNum = MathUtils.Addition(baseNum, vipNum, int.MaxValue);
     return MaxNum;
 }
Пример #5
0
 public CombatProcessContainer()
 {
     AttackList = new CacheList<CombatEmbattle>();
     DefenseList = new CacheList<CombatEmbattle>();
     ProcessList = new CacheList<CombatProcess>();
     SelfAbilityEffectList = new CacheList<SelfAbilityEffect>();
 }
Пример #6
0
 public FestivalInfo()
     : base(AccessLevel.ReadWrite)
 {
     Reward = new CacheList<PrizeInfo>();
     TimePriod = new TimePriod();
     TaskConfig = new CacheList<TaskConfigInfo>();
     FestivalExtend = new FestivalExtend();
 }
Пример #7
0
 public static string GetGeneralQuality(CacheList<RecruitInfo> _generalQuality)
 {
     string genquality = string.Empty;
     foreach (var quality in _generalQuality)
     {
         genquality += quality.Quality.ToInt() + ",";
     }
     return genquality.TrimEnd(',');
 }
Пример #8
0
 public StoryTaskInfo()
     : base(AccessLevel.ReadOnly)
 {
     ReleaseDialogue = new CacheList<DialogueInfo>(0, true);
     TakedDialogue = new CacheList<DialogueInfo>(0, true);
     DeliveryDialogue = new CacheList<DialogueInfo>(0, true);
     PreTaskID = new int[0];
     Reward = new CacheList<PrizeInfo>(0, true);
 }
Пример #9
0
 public DailyUserExtend():base(false)
 {
     KalpaPlot = new CacheList<FunPlot>();
     LastKalpaPlot = new CacheList<FunPlot>();
     MorePlot = new CacheList<FunPlot>();
     HeroPlot = new List<HeroPlot>();
     WaterNum = new List<DailyRestrain>();
     //待确认,事件绑定
 }
Пример #10
0
 /// <summary>
 /// </summary>
 public UserPlotPackage(String UserID)
     : this()
 {
     this._UserID = UserID;
     PlotPackage = new CacheList<UserPlotInfo>
                       {
                           new UserPlotInfo(){PlotID = 1222, BossChallengeCount = 5},
                           new UserPlotInfo(){PlotID = 1223, BossChallengeCount = 5},
                           new UserPlotInfo(){PlotID = 1224, BossChallengeCount = 5}
                       };
 }
Пример #11
0
        public static int festId = 1012; //��ֵ����ID

        public GameUser()
            : base(AccessLevel.ReadWrite)
        {
            UserExtend = new GameUserExtend();
            GrayCrystalList = new CacheList<GrayCrystal>();
            SportsCombatQueue = new CacheQueue<SportsCombat>();
            PropertyInfo = new CacheList<GuildAbility>();
            HeritageList = new CacheList<GeneralHeritage>();
            SweepPool = new SweepPoolInfo();
            OpenFun = new List<UserFunction>();
        }
Пример #12
0
 public MapReduceQuery(Node n, CacheList cl): base(n) {
   _cl = cl;
   _mut = new Mutable<MRQState>(new MRQState());
   //Add the default query handlers:
   AddQueryMatcher("regex", delegate(object pattern) {
                              return new RegexMatcher((string)pattern);
                            });
   AddQueryMatcher("exact", delegate(object pattern) { return new ExactMatcher(pattern); });
   AddHitCombiner("concat", delegate(object arg) { return ConcatCombiner.Instance; });
   AddHitCombiner("maxcount", delegate(object arg) { return new MaxCountCombiner((int)arg); });
 }
Пример #13
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "UserID": return(UserID);

                case "ElfList": return(ElfList);

                case "SelectID": return(SelectID);

                case "SelectElfType": return(SelectElfType);

                case "SelectElfValue": return(SelectElfValue);

                default: throw new ArgumentException(string.Format("UserElfCache index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "UserID":
                    _UserID = value.ToInt();
                    break;

                case "ElfList":
                    _ElfList = ConvertCustomField <CacheList <ElfData> >(value, index);
                    break;

                case "SelectID":
                    _SelectID = value.ToInt();
                    break;

                case "SelectElfType":
                    _SelectElfType = value.ToEnum <ElfSkillType>();
                    break;

                case "SelectElfValue":
                    _SelectElfValue = value.ToInt();
                    break;

                default: throw new ArgumentException(string.Format("UserElfCache index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #14
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "ID": return(ID);

                case "ActivitiesType": return(ActivitiesType);

                case "DemandNum": return(DemandNum);

                case "Reward": return(Reward);

                case "Description": return(Description);

                default: throw new ArgumentException(string.Format("NoviceActivities index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "ID":
                    _ID = value.ToInt();
                    break;

                case "ActivitiesType":
                    _ActivitiesType = value.ToShort();
                    break;

                case "DemandNum":
                    _DemandNum = value.ToInt();
                    break;

                case "Reward":
                    _Reward = ConvertCustomField <CacheList <NoviceReward> >(value, index);
                    break;

                case "Description":
                    _Description = value.ToNotNullString();
                    break;

                default: throw new ArgumentException(string.Format("NoviceActivities index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #15
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "VipLv": return(VipLv);

                case "PayGold": return(PayGold);

                case "DailyRestrain": return(DailyRestrain);

                case "ExpandFun": return(ExpandFun);

                case "EquStreng": return(EquStreng);

                default: throw new ArgumentException(string.Format("VipLvInfo index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "VipLv":
                    _VipLv = value.ToShort();
                    break;

                case "PayGold":
                    _PayGold = value.ToInt();
                    break;

                case "DailyRestrain":
                    _DailyRestrain = ConvertCustomField <CacheList <DailyRestrain> >(value, index);
                    break;

                case "ExpandFun":
                    _ExpandFun = value.ToNotNullString();
                    break;

                case "EquStreng":
                    _EquStreng = ConvertCustomField <EquStreng>(value, index);
                    break;

                default: throw new ArgumentException(string.Format("VipLvInfo index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #16
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "UserId": return(UserId);

                case "IsClose": return(IsClose);

                case "CurrGuideId": return(CurrGuideId);

                case "CloseDate": return(CloseDate);

                case "GuideProgress": return(GuideProgress);

                default: throw new ArgumentException(string.Format("NoviceUser index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "UserId":
                    _UserId = value.ToInt();
                    break;

                case "IsClose":
                    _IsClose = value.ToBool();
                    break;

                case "CurrGuideId":
                    _CurrGuideId = value.ToInt();
                    break;

                case "CloseDate":
                    _CloseDate = value.ToDateTime();
                    break;

                case "GuideProgress":
                    _GuideProgress = ConvertCustomField <CacheList <GuideProgressItem> >(value, index);
                    break;

                default: throw new ArgumentException(string.Format("NoviceUser index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #17
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "RecruitType": return(RecruitType);

                case "GeneralQuality": return(GeneralQuality);

                case "CodeTime": return(CodeTime);

                case "GoldNum": return(GoldNum);

                case "FreeNum": return(FreeNum);

                default: throw new ArgumentException(string.Format("RecruitRule index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "RecruitType":
                    _RecruitType = value.ToInt();
                    break;

                case "GeneralQuality":
                    _GeneralQuality = ConvertCustomField <CacheList <RecruitInfo> >(value, index);
                    break;

                case "CodeTime":
                    _CodeTime = value.ToInt();
                    break;

                case "GoldNum":
                    _GoldNum = value.ToInt();
                    break;

                case "FreeNum":
                    _FreeNum = value.ToInt();
                    break;

                default: throw new ArgumentException(string.Format("RecruitRule index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #18
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "CombatType": return(CombatType);

                case "Stage": return(Stage);

                case "GameCoins": return(GameCoins);

                case "ObtainNum": return(ObtainNum);

                case "Reward": return(Reward);

                default: throw new ArgumentException(string.Format("ServerCombatPrize index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "CombatType":
                    this._CombatType = value.ToInt();
                    break;

                case "Stage":
                    this._Stage = value.ToInt();
                    break;

                case "GameCoins":
                    this._GameCoins = value.ToInt();
                    break;

                case "ObtainNum":
                    this._ObtainNum = value.ToInt();
                    break;

                case "Reward":
                    this._Reward = value as CacheList <PrizeInfo>;
                    break;

                default: throw new ArgumentException(string.Format("ServerCombatPrize index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "UserID": return(UserID);

                case "FriendsList": return(FriendsList);

                case "ApplyList": return(ApplyList);

                case "GiveAwayCount": return(GiveAwayCount);

                case "TodayRobList": return(TodayRobList);

                default: throw new ArgumentException(string.Format("UserFriendsCache index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "UserID":
                    _UserID = value.ToInt();
                    break;

                case "FriendsList":
                    _FriendsList = ConvertCustomField <CacheList <FriendData> >(value, index);
                    break;

                case "ApplyList":
                    _ApplyList = ConvertCustomField <CacheList <FriendApplyData> >(value, index);
                    break;

                case "GiveAwayCount":
                    _GiveAwayCount = value.ToInt();
                    break;

                case "TodayRobList":
                    _TodayRobList = ConvertCustomField <CacheList <int> >(value, index);
                    break;

                default: throw new ArgumentException(string.Format("UserFriendsCache index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #20
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "UserID": return(UserID);

                case "DailyQuestList": return(DailyQuestList);

                case "PlotId": return(PlotId);

                case "Liveness": return(Liveness);

                case "ReceiveBoxList": return(ReceiveBoxList);

                default: throw new ArgumentException(string.Format("UserTaskCache index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "UserID":
                    _UserID = value.ToInt();
                    break;

                case "DailyQuestList":
                    _DailyQuestList = ConvertCustomField <CacheList <UserDailyQuestData> >(value, index);
                    break;

                case "PlotId":
                    _PlotId = value.ToInt();
                    break;

                case "Liveness":
                    _Liveness = value.ToInt();
                    break;

                case "ReceiveBoxList":
                    _ReceiveBoxList = ConvertCustomField <CacheList <int> >(value, index);
                    break;

                default: throw new ArgumentException(string.Format("UserTaskCache index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #21
0
        public void ParseRow(string[] rowData)
        {
            int index = 0;

            index++;
            Id = int.Parse(rowData[index++]);
            index++;
            LevelUpCostCoin = new CacheList <int>();
            for (; index < rowData.Length; index++)
            {
                LevelUpCostCoin.Add(int.Parse(rowData[index]));
            }
            DTGearCache.AddOrUpdate(Id.ToString(), this);
        }
        /// <summary>
        ///     当缓存不存在时,上锁加入缓存
        /// </summary>
        protected override Type SetCacheLock()
        {
            lock (LockObject)
            {
                if (CacheList.ContainsKey(Key))
                {
                    return(CacheList[Key]);
                }

                //缓存中没有找到,新建一个构造函数的委托
                var val = _isListProperty ? Dynamics.CreateClassType(_lstAddPropertys, _constructors, _baseType) : Dynamics.CreateClassType(_dicAddPropertys, _baseType);
                return(CacheList[Key] = val);
            }
        }
Пример #23
0
 /// <summary>
 ///     删除缓存
 /// </summary>
 private void RemoveLock()
 {
     lock (Sync)
     {
         if (CacheList.ContainsKey(Key))
         {
             CacheList.Remove(Key);
         }
         else
         {
             throw new ArgumentException("尝移除不存在的配置失败。");
         }
     }
 }
Пример #24
0
        private void SetHeroTeamInfo()
        {
            HeroTeamLogic heroTeam = new HeroTeamLogic();

            heroTeam.SetUser(m_UserId);
            CacheList <int> team         = heroTeam.GetTeam();
            PBHeroTeamInfo  heroTeamInfo = new PBHeroTeamInfo();

            foreach (int heroType in team)
            {
                heroTeamInfo.HeroType.Add(heroType);
            }
            m_ResponsePacket.HeroTeamInfo = heroTeamInfo;
        }
Пример #25
0
        private void ResponseCashShopInfo(AckResponseCode responseCode, BaseAckMessage message)
        {
            var castedMessage = (ResponseCashShopInfoMessage)message;

            switch (responseCode)
            {
            case AckResponseCode.Error:
                UISceneGlobal.Singleton.ShowMessageDialog("Error", "Cannot retrieve cash shop info");
                break;

            case AckResponseCode.Timeout:
                UISceneGlobal.Singleton.ShowMessageDialog("Error", "Connection timeout");
                break;

            default:
                if (uiTextCash != null)
                {
                    uiTextCash.text = string.Format(cashFormat, castedMessage.cash.ToString("N0"));
                }
                var cashShopItems = new List <CashShopItem>();
                foreach (var cashShopItemId in castedMessage.cashShopItemIds)
                {
                    CashShopItem cashShopItem;
                    if (GameInstance.CashShopItems.TryGetValue(cashShopItemId, out cashShopItem))
                    {
                        cashShopItems.Add(cashShopItem);
                    }
                }

                var selectedIdx = SelectionManager.SelectedUI != null?SelectionManager.IndexOf(SelectionManager.SelectedUI) : -1;

                SelectionManager.DeselectSelectedUI();
                SelectionManager.Clear();

                CacheList.Generate(cashShopItems, (index, cashShopItem, ui) =>
                {
                    var uiCashShopItem        = ui.GetComponent <UICashShopItem>();
                    uiCashShopItem.uiCashShop = this;
                    uiCashShopItem.Data       = cashShopItem;
                    uiCashShopItem.Show();
                    SelectionManager.Add(uiCashShopItem);
                    if (selectedIdx == index)
                    {
                        uiCashShopItem.OnClickSelect();
                    }
                });
                break;
            }
        }
Пример #26
0
 public override void Show()
 {
     buttonCreate.onClick.RemoveListener(OnClickCreate);
     buttonCreate.onClick.AddListener(OnClickCreate);
     // Clear selection
     SelectionManager.eventOnSelect.RemoveListener(OnSelectCharacter);
     SelectionManager.eventOnSelect.AddListener(OnSelectCharacter);
     SelectionManager.Clear();
     CacheList.HideAll();
     // Remove all models
     characterModelContainer.RemoveChildren();
     CharacterModels.Clear();
     LoadCharacters();
     base.Show();
 }
        protected override string SetCacheLock()
        {
            lock (LockObject)
            {
                if (CacheList.ContainsKey(Key))
                {
                    return(CacheList[Key]);
                }

                DbInfo dbInfo = Key;
                CacheList.Add(Key, AbsDbProvider.CreateInstance(dbInfo.DataType, dbInfo.DataVer).CreateDbConnstring(dbInfo.UserID, dbInfo.PassWord, dbInfo.Server, dbInfo.Catalog, dbInfo.DataVer, dbInfo.ConnectTimeout, dbInfo.PoolMinSize, dbInfo.PoolMaxSize, dbInfo.Port));
            }

            return(CacheList[Key]);
        }
        public AccountsController(
            IAccountRepository accountRepository,
            IOptions <CacheSetting> cacheSetting,
            IMemoryCache memoryCache)
        {
            _accountRepository = accountRepository;
            _cacheSetting      = cacheSetting.Value;
            _memoryCache       = memoryCache;

            _accountCacheList = new CacheList <Account>(
                _memoryCache,
                _accountRepository.Accounts,
                CacheKeys.Accounts.AccountsItems,
                _cacheSetting.ExpireMinutes);
        }
        public UsersController(
            IUserRepository userRepository,
            IOptions <CacheSetting> сacheSetting,
            IMemoryCache memoryCache)
        {
            _userRepository = userRepository;
            _сacheSetting   = сacheSetting.Value;
            _memoryCache    = memoryCache;

            _userCacheList = new CacheList <User>(
                _memoryCache,
                _userRepository.UsersWithoutPasswords,
                CacheKeys.Users.UsersItems,
                _сacheSetting.ExpireMinutes);
        }
Пример #30
0
        public void UpdateData(ICharacterData character)
        {
            this.character = character;

            var selectedSummonObjectId = SelectionManager.SelectedUI != null ? SelectionManager.SelectedUI.CharacterSummon.objectId : 0;

            SelectionManager.DeselectSelectedUI();
            SelectionManager.Clear();

            if (character == null)
            {
                CacheList.HideAll();
                return;
            }

            var stackingSkillSummons = new Dictionary <int, UICharacterSummon>();
            var summons = character.Summons;

            CacheList.Generate(summons, (index, characterSummon, ui) =>
            {
                if (characterSummon.type == SummonType.Skill && stackingSkillSummons.ContainsKey(characterSummon.dataId))
                {
                    stackingSkillSummons[characterSummon.dataId].AddStackingEntry(characterSummon);
                    ui.gameObject.SetActive(false);
                }
                else
                {
                    var uiCharacterSummon = ui.GetComponent <UICharacterSummon>();
                    uiCharacterSummon.Setup(characterSummon, character, index);
                    uiCharacterSummon.Show();
                    switch (characterSummon.type)
                    {
                    case SummonType.Skill:
                        stackingSkillSummons.Add(characterSummon.dataId, uiCharacterSummon);
                        break;

                    case SummonType.Pet:
                        ui.transform.SetAsFirstSibling();
                        break;
                    }
                    SelectionManager.Add(uiCharacterSummon);
                    if (selectedSummonObjectId == characterSummon.objectId)
                    {
                        uiCharacterSummon.OnClickSelect();
                    }
                }
            });
        }
Пример #31
0
        /// <summary>
        /// 七夕、端午节奖励
        /// </summary>
        public static void DragonBoatFestival(string userID, int festivalID)
        {
            GameUser         userInfo = new GameDataCacheSet <GameUser>().FindKey(userID);
            FestivalRestrain restrain = new GameDataCacheSet <FestivalRestrain>().FindKey(userID, festivalID);
            FestivalInfo     festival = new ShareCacheStruct <FestivalInfo>().FindKey(festivalID);
            var chatService           = new TjxChatService();

            if (festival != null)
            {
                CacheList <PrizeInfo> rewardsArray = festival.Reward;
                if (NoviceHelper.IsFestivalOpen(festivalID))
                {
                    if (restrain != null && restrain.RestrainNum <= festival.RestrainNum)
                    {
                        restrain.RestrainNum  = MathUtils.Addition(restrain.RestrainNum, 1, int.MaxValue);
                        restrain.RefreashDate = DateTime.Now;
                        //restrain.Update();
                        foreach (PrizeInfo reward in rewardsArray)
                        {
                            GameUserReward(userID, reward.Type, reward.ItemID, reward.Num);
                        }
                        if (userInfo != null && festival.FestivalExtend != null)
                        {
                            chatService.SystemSendWhisper(userInfo, festival.FestivalExtend.Desc);
                        }
                    }
                    else if (restrain == null)
                    {
                        foreach (PrizeInfo reward in rewardsArray)
                        {
                            GameUserReward(userID, reward.Type, reward.ItemID, reward.Num);
                        }
                        if (userInfo != null && festival.FestivalExtend != null)
                        {
                            chatService.SystemSendWhisper(userInfo, festival.FestivalExtend.Desc);
                        }
                        restrain = new FestivalRestrain
                        {
                            UserID       = userID,
                            FestivalID   = festivalID,
                            RefreashDate = DateTime.Now,
                            RestrainNum  = 1,
                        };
                        new GameDataCacheSet <FestivalRestrain>().Add(restrain);
                    }
                }
            }
        }
Пример #32
0
 private void OnReceiveChat(ChatMessage chatMessage)
 {
     chatMessages.Add(chatMessage);
     if (chatMessages.Count > chatEntrySize)
     {
         chatMessages.RemoveAt(0);
     }
     CacheList.Generate(chatMessages, (index, message, ui) =>
     {
         var uiChatMessage           = ui.GetComponent <UIChatMessage>();
         uiChatMessage.uiChatHandler = this;
         uiChatMessage.Data          = message;
         uiChatMessage.Show();
     });
     StartCoroutine(VerticalScroll(0f));
 }
Пример #33
0
 /// <summary>
 ///     删除缓存
 /// </summary>
 private void RemoveLock()
 {
     lock (Sync)
     {
         if (!CacheList.ContainsKey(Key))
         {
             return;
         }
         if (Key.Item2.ImplementationInstance == null)
         {
             var disposable = CacheList[Key] as IDisposable;
             disposable?.Dispose();
         }
         CacheList.Remove(Key);
     }
 }
Пример #34
0
 public static Caches GetCaches()
 {
     Cache _cache = HttpRuntime.Cache;
     IDictionaryEnumerator cacheEnum = _cache.GetEnumerator();
     CacheList cl = new CacheList();
     cl = new CacheList();
     while (cacheEnum.MoveNext())
     {
         cl.Add(new CacheInfo(cacheEnum.Key.ToString(), cacheEnum.Value.GetType().ToString()));
     }
     Caches rs = new Caches();
     rs.CacheList = new CacheList();
     cl.SortBy(CacheInfo.Columns.Key, true);
     rs.CacheList.AddRange(cl);
     rs.Total = cl.Count;
     return rs;
 }
Пример #35
0
        private void SetupLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            if (CacheList.SelectedItem == null)
            {
                return;
            }

            CacheItem item = CacheList.SelectedItem as CacheItem;

            CacheSetup setup = new CacheSetup(Core, item.Cache);

            if (setup.ShowDialog() == DialogResult.OK)
            {
                CacheList.Update();
                SaveCache = true;
            }
        }
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		public void Awake() {
			var sett = new InputSettings();
			sett.InputTransform = gameObject.transform;
			sett.CameraTransform = HeadsetCameraTransform;
			sett.CursorSize = CursorSize;
			sett.UseMouseForTesting = UseMouseForTesting;
			sett.MousePositionMultiplier = MousePositionMultiplier;
			
			if ( HeadsetCameraTransform == null ) {
				IsFailure = true;
				throw new Exception("The "+typeof(HovercursorLookInput)+" component "+
					"requires the 'Headset Camera Transform' to be set.");
			}

			vCursor = new InputCursor(CursorType.Look, sett);
			vPlaneStates = new CacheList<PlaneState>();
		}
Пример #37
0
        protected override object this[string index]
		{
			get
			{
                #region
				switch (index)
				{
                    case "LairTreasureType": return _lairTreasureType;
                    case "LairTreasureNum": return _lairTreasureNum;
                    case "UseNum": return _useNum;
                    case "UseType": return _useType;
                    case "LairTreasureDesc": return _lairTreasureDesc;
                    case "LairTreasureList": return _lairTreasureList;
					default: throw new ArgumentException(string.Format("LairTreasure index[{0}] isn't exist.", index));
				}
                #endregion
			}
			set
			{
                #region
				switch (index)
				{
                    case "LairTreasureType": 
                        _lairTreasureType = value.ToInt();
                        break; 
                    case "LairTreasureNum": 
                        _lairTreasureNum = value.ToInt();
                        break; 
                    case "UseNum": 
                        _useNum = value.ToInt();
                        break; 
                    case "UseType": 
                        _useType = value.ToInt();
                        break; 
                    case "LairTreasureDesc": 
                        _lairTreasureDesc = value.ToNotNullString();
                        break; 
                    case "LairTreasureList":
                        _lairTreasureList = ConvertCustomField<CacheList<LairTreasure>>(value, index); 
                        break; 
					default: throw new ArgumentException(string.Format("LairTreasure index[{0}] isn't exist.", index));
				}
                #endregion
			}
		}
Пример #38
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "PrayType": return(PrayType);

                case "Describe": return(Describe);

                case "PrayReward": return(PrayReward);

                case "DayNum": return(DayNum);

                default: throw new ArgumentException(string.Format("PrayInfo index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "PrayType":
                    _PrayType = value.ToInt();
                    break;

                case "Describe":
                    _Describe = value.ToNotNullString();
                    break;

                case "PrayReward":
                    _PrayReward = ConvertCustomField <CacheList <PrizeInfo> >(value, index);;
                    break;

                case "DayNum":
                    _DayNum = value.ToInt();
                    break;

                default: throw new ArgumentException(string.Format("PrayInfo index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #39
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "ID": return(_iD);

                case "ContinuousType": return(_continuousType);

                case "ContinuousDesc": return(_continuousDesc);

                case "RewardList": return(_rewardList);

                default: throw new ArgumentException(string.Format("ContinuousLoginInfo index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "ID":
                    _iD = value.ToInt();
                    break;

                case "ContinuousType":
                    _continuousType = value.ToInt();
                    break;

                case "ContinuousDesc":
                    _continuousDesc = value.ToNotNullString();
                    break;

                case "RewardList":
                    _rewardList = ConvertCustomField <CacheList <PrizeInfo> >(value, index);
                    break;

                default: throw new ArgumentException(string.Format("ContinuousLoginInfo index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #40
0
        /// <summary>
        /// 对象索引器属性
        /// </summary>
        /// <returns></returns>
        /// <param name="index">Index.</param>
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "ID": return(ID);

                case "Topic": return(Topic);

                case "Options": return(Options);

                case "Answer": return(Answer);

                default: throw new ArgumentException(string.Format("QuestionData index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "ID":
                    _ID = value.ToInt();
                    break;

                case "Topic":
                    _Topic = value.ToNotNullString();
                    break;

                case "Options":
                    _Options = ConvertCustomField <CacheList <QuestionOption> >(value, index);
                    break;

                case "Answer":
                    _Answer = value.ToNotNullString();
                    break;

                default: throw new ArgumentException(string.Format("QuestionData index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #41
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "GuildLv": return(GuildLv);

                case "UpExperience": return(UpExperience);

                case "MaxPeople": return(MaxPeople);

                case "ActivityDesc": return(ActivityDesc);

                default: throw new ArgumentException(string.Format("GuildLvInfo index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "GuildLv":
                    _GuildLv = value.ToShort();
                    break;

                case "UpExperience":
                    _UpExperience = value.ToInt();
                    break;

                case "MaxPeople":
                    _MaxPeople = value.ToInt();
                    break;

                case "ActivityDesc":
                    _ActivityDesc = ConvertCustomField <CacheList <ActivityShow> >(value, index);
                    break;

                default: throw new ArgumentException(string.Format("GuildLvInfo index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #42
0
        protected override object this[string index]
        {
            get
            {
                #region
                switch (index)
                {
                case "UserID": return(UserID);

                case "EnemyList": return(EnemyList);

                case "LogList": return(LogList);

                case "IsHaveNewLog": return(IsHaveNewLog);

                default: throw new ArgumentException(string.Format("UserEnemysCache index[{0}] isn't exist.", index));
                }
                #endregion
            }
            set
            {
                #region
                switch (index)
                {
                case "UserID":
                    _UserID = value.ToInt();
                    break;

                case "EnemyList":
                    _EnemyList = ConvertCustomField <CacheList <EnemyData> >(value, index);
                    break;

                case "LogList":
                    _LogList = ConvertCustomField <CacheList <EnemyLogData> >(value, index);
                    break;

                case "IsHaveNewLog":
                    _IsHaveNewLog = value.ToBool();
                    break;

                default: throw new ArgumentException(string.Format("UserEnemysCache index[{0}] isn't exist.", index));
                }
                #endregion
            }
        }
Пример #43
0
        protected override SortDelete SetCacheLock()
        {
            lock (LockObject)
            {
                if (CacheList.ContainsKey(Key))
                {
                    return(CacheList[Key]);
                }

                //缓存中没有找到,新建一个实例
                var sortDelete = new SortDelete {
                    Name = _name, FieldType = _field, Value = _value
                };
                sortDelete.Init(_entityType);

                return(CacheList[Key] = sortDelete);
            }
        }
Пример #44
0
        protected virtual void OnEnable()
        {
            SelectionManager.DeselectSelectedUI();
            SelectionManager.Clear();

            MmoNetworkSetting[] networkSettings = MMOClientInstance.Singleton.NetworkSettings;
            CacheList.Generate(networkSettings, (index, networkSetting, ui) =>
            {
                UIMmoServerEntry uiServerEntry = ui.GetComponent <UIMmoServerEntry>();
                uiServerEntry.Data             = networkSetting;
                uiServerEntry.Show();
                SelectionManager.Add(uiServerEntry);
                if (index == 0)
                {
                    uiServerEntry.OnClickSelect();
                }
            });
        }
Пример #45
0
        /// <summary>
        /// 玩家命运水晶log
        /// </summary>
        /// <param name="userID"></param>
        /// <param name="opType"></param>
        /// <param name="sumNum"></param>
        /// <param name="opNum"></param>
        /// <param name="useGold"></param>
        /// <param name="surplusGold"></param>
        /// <param name="totalGold"></param>
        public static void AppenCtystalLog(string userID, short opType, int crystalID, int coinNum, int useGold, CacheList<SynthesisInfo> synthesisInfo, short crystalLv, int exp)
        {
            UserCrystalLog log = new UserCrystalLog()
            {
                ID = Guid.NewGuid().ToString(),
                UserID = userID,
                OpType = opType,
                CrystalID = crystalID,
                CoinNum = coinNum,
                UseGold = useGold,
                SynthesisCrystal = synthesisInfo,
                CrystalLv = crystalLv,
                Experience = exp,
                CreateDate = DateTime.Now
            };

            var sender = DataSyncManager.GetDataSender();
            sender.Send(log);
        }
Пример #46
0
 /// <summary>
 /// 新增装备合成log
 /// </summary>
 /// <param name="userID"></param>
 /// <param name="opType"></param>
 /// <param name="itemID"></param>
 /// <param name="num"></param>
 /// <param name="synthesisInfo1"></param>
 /// <param name="synthesisInfo2"></param>
 /// <param name="useGold"></param>
 /// <param name="beforeLv"></param>
 /// <param name="afterLv"></param>
 public static void AppenItemSynthesisLog(string userID, short opType, int itemID, int num, CacheList<SynthesisInfo> synthesisInfo1, SynthesisInfo synthesisInfo2, int useGold, short beforeLv, short afterLv)
 {
     UserItemSynthesisLog log = new UserItemSynthesisLog
       {
           ID = Guid.NewGuid().ToString(),
           UserID = userID,
           OpType = opType,
           ItemID = itemID,
           OpNum = num,
           DemandMaterial = synthesisInfo1,
           SurplusMaterial = synthesisInfo2,
           UseGold = useGold,
           BeforeLv = beforeLv,
           AfterLv = afterLv,
           CreateDate = DateTime.Now
       };
     var sender = DataSyncManager.GetDataSender();
     sender.Send(log);
 }
Пример #47
0
 public static void GuildFightCombatUserList()
 {
     _fightUserList = new CacheList<FightUser>();
     var fightList = new ShareCacheStruct<ServerFight>().FindAll(m => m.FastID == info.FastID);
     foreach (ServerFight fight in fightList)
     {
         if (string.IsNullOrEmpty(fight.CombatMember))
         {
             continue;
         }
         string[] strList = fight.CombatMember.Split(',');
         foreach (string s in strList)
         {
             if (string.IsNullOrEmpty(s))
             {
                 continue;
             }
             var FightStatusUser = _fightUserList.Find(m => !m.IsRemove && m.UserId == s);
             if (FightStatusUser != null)
             {
                 continue;
             }
             FightUser fightUser = new FightUser();
             fightUser.GuildID = fight.GuildID;
             fightUser.UserId = s;
             GameUser user = UserCacheGlobal.CheckLoadUser(s);
             if (user != null)
             {
                 fightUser.UserName = user.NickName;
                 user.UserStatus = UserStatus.FightCombat;
             }
             fightUser.WinCount = 0;
             fightUser.CityID = fight.CityID;
             fightUser.ObtainNum = 0;
             fightUser.InspirePercent = 0;
             fightUser.IsRemove = false;
             fightUser.IsNotEnough = false;
             _fightUserList.Add(fightUser);
         }
     }
 }
Пример #48
0
        static void Main(string[] args)
        {
            try
            {
                var dict = new CacheList<int>();
                dict.Add(1);
                string js = dict.ToJson();
                var temp = js.ParseJson<CacheList<int>>();
                if(temp == null)
                {

                }
                GameServerListManager.Initialize();
                var server = new GameProxy();
                Console.WriteLine("Press Enter to exit...");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                TraceLog.WriteError("Main error:{0}", ex);
            }
        }
Пример #49
0
 /// <summary>
 /// 获取奖励
 /// </summary>
 /// <param name="List"></param>
 /// <returns></returns>
 public static CacheList<PrizeInfo> GetPrizeInfo(CacheList<PrizeInfo> List)
 {
     if (List[0].Reward == 1)
     {
         return new CacheList<PrizeInfo> { List[RandomUtils.GetRandom(0, List.Count)] };
     }
     else if (List[0].Reward == 2)
     {
         CacheList<PrizeInfo> prizeInfosArray = List;
         double[] probability = new double[prizeInfosArray.Count];
         for (int i = 0; i < prizeInfosArray.Count; i++)
         {
             probability[i] = (double)prizeInfosArray[i].Probability;
         }
         int index2 = RandomUtils.GetHitIndex(probability);
         return new CacheList<PrizeInfo> { prizeInfosArray[index2] };
     }
     else if (List[0].Reward == 3)
     {
         return List;
     }
     return new CacheList<PrizeInfo>();
 }
Пример #50
0
 public InOutMemoryJack(int memorySize=2, int bufferSize=0, params BaseJack[] subEntities) : base(bufferSize, subEntities)
 {
     _hashMemorySize = memorySize;
     _inOutHashMemory = new CacheList<Hash>(_hashMemorySize);
 }
Пример #51
0
        public override bool TakeAction()
        {
            var package = UserCrystalPackage.Get(Uid);
            if (ops == 1)
            {
                UserCrystalInfo userCryStal1 = package.CrystalPackage.Find(m => m.UserCrystalID.Equals(userCrystalID1));
                UserCrystalInfo userCryStal2 = package.CrystalPackage.Find(m => m.UserCrystalID.Equals(userCrystalID2));
                // UserCrystal userCryStal1 = UserCrystal.FindKey(userCrystalID1);
                //UserCrystal userCryStal2 = UserCrystal.FindKey(userCrystalID2);
                if (userCryStal1 == null || userCryStal2 == null)
                {
                    ErrorCode = LanguageManager.GetLang().ErrorCode;
                    ErrorInfo = LanguageManager.GetLang().St1308_CrystalNotEnough;
                    return false;
                }
                if (userCryStal1.CrystalLv > 9)
                {
                    ErrorCode = LanguageManager.GetLang().ErrorCode;
                    ErrorInfo = LanguageManager.GetLang().St1308_CrystalLvFull;
                    return false;
                }

                CrystalInfo crystalInfo1 = new ShareCacheStruct<CrystalInfo>().FindKey(userCryStal1.CrystalID);
                CrystalInfo crystalInfo2 = new ShareCacheStruct<CrystalInfo>().FindKey(userCryStal2.CrystalID);
                int cryExprience1 = 0;
                int cryExprience2 = 0;
                if (crystalInfo1 != null && crystalInfo2 != null)
                {
                    cryExprience1 = crystalInfo1.Experience;
                    cryExprience2 = crystalInfo2.Experience;

                    if (crystalInfo1.CrystalQuality == crystalInfo2.CrystalQuality)
                    {
                        if (userCryStal1.CurrExprience >= userCryStal2.CurrExprience)
                        {
                            UpdateCrystal(userCrystalID1, userCrystalID2, cryExprience2);
                        }
                        else
                        {
                            UpdateCrystal(userCrystalID2, userCrystalID1, cryExprience1);
                        }
                    }
                    else if (crystalInfo1.CrystalQuality > crystalInfo2.CrystalQuality)
                    {
                        UpdateCrystal(userCrystalID1, userCrystalID2, cryExprience2);
                    }
                    else
                    {
                        UpdateCrystal(userCrystalID2, userCrystalID1, cryExprience1);
                    }

                }
            }
            else if (ops == 2)
            {
                CacheList<SynthesisInfo> SynList = new CacheList<SynthesisInfo>();
                int experience = 0;
                var userCrystalArray = package.CrystalPackage.FindAll(m => m.IsSale == 2 && m.GeneralID.Equals(0));
                if (userCrystalArray.Count == 0)
                {
                    ErrorCode = LanguageManager.GetLang().ErrorCode;
                    ErrorInfo = LanguageManager.GetLang().St1308_CrystalNotEnough;
                    return false;
                }
                userCrystalArray.QuickSort((x, y) =>
                {
                    int result = 0;
                    if (x == null && y == null) return 0;
                    if (x != null && y == null) return 1;
                    if (x == null) return -1;
                    result = (int)new ShareCacheStruct<CrystalInfo>().FindKey(y.CrystalID).CrystalQuality.CompareTo(
                        new ShareCacheStruct<CrystalInfo>().FindKey(x.CrystalID).CrystalQuality);
                    if (result == 0)
                    {
                        result = y.CurrExprience.CompareTo(x.CurrExprience);
                    }
                    return result;
                });

                UserCrystalInfo userCrystal1 =
                    package.CrystalPackage.Find(m => m.UserCrystalID == userCrystalArray[0].UserCrystalID);
                int maxExprience = 0;
                if (userCrystal1 == null)
                {
                    ErrorCode = LanguageManager.GetLang().ErrorCode;
                    ErrorInfo = LanguageManager.GetLang().St1308_CrystalNotEnough;
                    return false;
                }
                short upLv = 10;
                CrystalLvInfo crystalLvInfo = new ShareCacheStruct<CrystalLvInfo>().FindKey(userCrystal1.CrystalID, upLv);
                maxExprience = crystalLvInfo == null ? 0 : crystalLvInfo.UpExperience;


                foreach (UserCrystalInfo crystal in userCrystalArray)
                {
                    CrystalInfo crystalInfo = new ShareCacheStruct<CrystalInfo>().FindKey(crystal.CrystalID);
                    if (crystalInfo != null)
                    {
                        experience = crystalInfo.Experience;
                    }

                    if (userCrystal1.UserCrystalID != crystal.UserCrystalID)
                    {
                        SynList.Add(new SynthesisInfo() { DemandID = crystal.CrystalID, Num = crystal.CurrExprience });
                        if (userCrystal1.CurrExprience >= maxExprience)
                        {
                            ErrorCode = LanguageManager.GetLang().ErrorCode;
                            ErrorInfo = LanguageManager.GetLang().St1308_CrystalLvFull;
                            break;
                        }
                        experience = MathUtils.Addition(experience, userCrystal1.CurrExprience);
                        experience = MathUtils.Addition(experience, crystal.CurrExprience);
                        userCrystal1.CurrExprience = experience;
                        package.SaveCrystal(userCrystal1);
                        //package.DelayChange();
                        package.RemoveCrystal(crystal);
                    }
                }
                UserLogHelper.AppenCtystalLog(ContextUser.UserID, 3, userCrystal1.CrystalID, 0, 0, SynList, userCrystal1.CrystalLv, userCrystal1.CurrExprience);
                UserHelper.CheckCrystalEscalate(ContextUser.UserID, userCrystalArray[0].UserCrystalID);
            }
            return true;
        }
Пример #52
0
        /// <summary>
        /// 合成水晶
        /// </summary>
        /// <param name="userCryStal1"></param>
        /// <param name="userCryStal2"></param>
        /// <param name="cryExprience2"></param>
        private void UpdateCrystal(string _userCrystalID1, string _userCrystalID2, int cryExprience2)
        {
            var package = UserCrystalPackage.Get(Uid);
            UserCrystalInfo userCryStalInfo1 = package.CrystalPackage.Find(m => m.UserCrystalID.Equals(_userCrystalID1));
            UserCrystalInfo userCryStalInfo2 = package.CrystalPackage.Find(m => m.UserCrystalID.Equals(_userCrystalID2));
            CacheList<SynthesisInfo> SynList = new CacheList<SynthesisInfo>();
            SynList.Add(new SynthesisInfo() { DemandID = userCryStalInfo2.CrystalID, Num = userCryStalInfo2.CurrExprience });
            userCryStalInfo1.CurrExprience = MathUtils.Addition(userCryStalInfo1.CurrExprience, cryExprience2);
            userCryStalInfo1.CurrExprience = MathUtils.Addition(userCryStalInfo1.CurrExprience,userCryStalInfo2.CurrExprience);
            package.SaveCrystal(userCryStalInfo1);
            //package.DelayChange();
            UserHelper.CheckCrystalEscalate(ContextUser.UserID, userCryStalInfo1.UserCrystalID);
            UserLogHelper.AppenCtystalLog(ContextUser.UserID, 3, userCryStalInfo1.CrystalID, 0, 0, SynList, userCryStalInfo1.CrystalLv, userCryStalInfo1.CurrExprience);
            package.RemoveCrystal(userCryStalInfo2);

        }
Пример #53
0
 public UserPack()
     : base(AccessLevel.ReadWrite)
 {
     PackTypeList = new CacheList<PackType>();
 }
Пример #54
0
 protected override object this[string index]
 {
     get
     {
         #region
         switch (index)
         {
             case "UserID": return UserID;
             case "CreateDate": return CreateDate;
             case "PackTypeList": return PackTypeList;
             default: throw new ArgumentException(string.Format("UserPack index[{0}] isn't exist.", index));
         }
         #endregion
     }
     set
     {
         #region
         switch (index)
         {
             case "UserID":
                 _UserID = value.ToInt();
                 break;
             case "CreateDate":
                 _CreateDate = value.ToDateTime();
                 break;
             case "PackTypeList":
                 _PackTypeList = ConvertCustomField<CacheList<PackType>>(value, index);
                 break;
             default: throw new ArgumentException(string.Format("UserPack index[{0}] isn't exist.", index));
         }
         #endregion
     }
 }
Пример #55
0
 /// <summary>
 /// </summary>
 public SJTPlotInfo(int plotID)
     : this()
 {
     _plotID = plotID;
     DifficultyList = new CacheList<Difficulty>(0,true);
 }
Пример #56
0
        protected override object this[string index]
		{
			get
			{
                #region
				switch (index)
				{
                    case "PlotID": return _plotID;
                    case "PlotSeqNo": return _plotSeqNo;
                    case "PlotName": return _plotName;
                    case "BgScene": return _bgScene;
                    case "PrePlotID": return _prePlotID;
                    case "AftPlotID": return _aftPlotID;
                    case "IsRewar": return _isRewar;
                    case "IsOrigin": return _isOrigin;
                    case "NpcName": return _npcName;
                    case "HeadID": return _headID;
                    case "PartInNum": return _partInNum;
                    case "DifficultyList": return _difficultyList;
                    case "PlotDesc": return _plotDesc;
                    case "IsProperty": return _IsProperty;
					default: throw new ArgumentException(string.Format("SJTPlotInfo index[{0}] isn't exist.", index));
				}
                #endregion
			}
			set
			{
                #region
				switch (index)
				{
                    case "PlotID": 
                        _plotID = value.ToInt();
                        break; 
                    case "PlotSeqNo": 
                        _plotSeqNo = value.ToInt();
                        break; 
                    case "PlotName": 
                        _plotName = value.ToNotNullString();
                        break; 
                    case "BgScene": 
                        _bgScene = value.ToNotNullString();
                        break; 
                    case "PrePlotID": 
                        _prePlotID = value.ToInt();
                        break; 
                    case "AftPlotID": 
                        _aftPlotID = value.ToInt();
                        break; 
                    case "IsRewar": 
                        _isRewar = value.ToBool();
                        break; 
                    case "IsOrigin": 
                        _isOrigin = value.ToBool();
                        break; 
                    case "NpcName": 
                        _npcName = value.ToNotNullString();
                        break; 
                    case "HeadID": 
                        _headID = value.ToNotNullString();
                        break; 
                    case "PartInNum": 
                        _partInNum = value.ToInt();
                        break;
                    case "DifficultyList":
                        _difficultyList = ConvertCustomField<CacheList<Difficulty>>(value, index); 
                        break; 
                    case "PlotDesc": 
                        _plotDesc = value.ToNotNullString();
                        break;
                    case "IsProperty":
                        _IsProperty = value.ToBool();
                        break;
					default: throw new ArgumentException(string.Format("SJTPlotInfo index[{0}] isn't exist.", index));
				}
                #endregion
			}
		}
Пример #57
0
        public override bool TakeAction()
        {
            var syntheList = new CacheList<SynthesisInfo>();
            var package = UserEnchant.Get(ContextUser.UserID);
            if (ops == 1)
            {
                UserEnchantInfo userEnchantinfo1 = package.EnchantPackage.Find(m => m.UserEnchantID == userEnchantID1);
                UserEnchantInfo userEnchantinfo2 = package.EnchantPackage.Find(m => m.UserEnchantID == userEnchantID2);
                if (userEnchantinfo1 == null || userEnchantinfo2 == null)
                {
                    ErrorCode = LanguageManager.GetLang().ErrorCode;
                    ErrorInfo = LanguageManager.GetLang().St1256_EnchantNotEnough;
                    return false;
                }

                if (userEnchantinfo1.EnchantLv >= GameConfigSet.MaxEnchantLv)
                {
                    ErrorCode = LanguageManager.GetLang().ErrorCode;
                    ErrorInfo = LanguageManager.GetLang().St1256_OutMaxEnchantLv;
                    return false;
                }
                int entExprience1 = 0;
                int entExprience2 = 0;
                EnchantInfo enchant1 = new ConfigCacheSet<EnchantInfo>().FindKey(userEnchantinfo1.EnchantID);
                EnchantInfo enchant2 = new ConfigCacheSet<EnchantInfo>().FindKey(userEnchantinfo2.EnchantID);
                if (enchant1 != null && enchant2 != null)
                {
                    entExprience1 = enchant1.Experience;
                    entExprience2 = enchant2.Experience;
                    if (userEnchantinfo1.EnchantLv > userEnchantinfo2.EnchantLv ||
                        (userEnchantinfo1.EnchantLv == userEnchantinfo2.EnchantLv &&
                            userEnchantinfo1.CurrExprience >= userEnchantinfo2.CurrExprience))
                    {
                        UpdateEnchant(userEnchantID1, userEnchantID2, entExprience2);
                        syntheList.Add(new SynthesisInfo() { DemandID = userEnchantinfo2.EnchantID, Num = userEnchantinfo2.CurrExprience });
                        UserLogHelper.AppenEnchantLog(ContextUser.UserID, 4, userEnchantinfo1, syntheList);
                    }
                    else
                    {
                        UpdateEnchant(userEnchantID2, userEnchantID1, entExprience1);
                        syntheList.Add(new SynthesisInfo() { DemandID = userEnchantinfo1.EnchantID, Num = userEnchantinfo1.CurrExprience });
                        UserLogHelper.AppenEnchantLog(ContextUser.UserID, 4, userEnchantinfo2, syntheList);
                    }
                }
            }
            else if (ops == 2)
            {
                int experience = 0;
                var enchantArray = package.EnchantPackage.FindAll(m => string.IsNullOrEmpty(m.UserItemID));
                if (enchantArray.Count == 0)
                {
                    ErrorCode = LanguageManager.GetLang().ErrorCode;
                    ErrorInfo = LanguageManager.GetLang().St1256_EnchantNotEnough;
                    return false;
                }
                if (enchantArray.Count == 1)
                {
                    ErrorCode = LanguageManager.GetLang().ErrorCode;
                    ErrorInfo = LanguageManager.GetLang().St1256_EnchantNumNotEnough;
                    return false;
                }
                enchantArray.QuickSort((x, y) =>
                {
                    int result = 0;
                    if (x == null && y == null) return 0;
                    if (x != null && y == null) return 1;
                    if (x == null) return -1;
                    result = y.EnchantLv.CompareTo(x.EnchantLv);
                    if (result == 0)
                    {
                        result = y.CurrExprience.CompareTo(x.CurrExprience);
                    }
                    return result;
                });

                UserEnchantInfo uEnchantInfo =
                    package.EnchantPackage.Find(m => m.UserEnchantID == enchantArray[0].UserEnchantID);
                if (uEnchantInfo == null)
                {
                    ErrorCode = LanguageManager.GetLang().ErrorCode;
                    ErrorInfo = LanguageManager.GetLang().St1262_EnchantSynthesisNotEnough;
                    return false;
                }
                EnchantLvInfo enchantLvInfo = new ConfigCacheSet<EnchantLvInfo>().FindKey(uEnchantInfo.EnchantID,
                                                                                          GameConfigSet.MaxEnchantLv);
                int maxExprience = enchantLvInfo == null ? 0 : enchantLvInfo.Experience;

                foreach (var info in enchantArray)
                {
                    EnchantInfo enchantInfo = new ConfigCacheSet<EnchantInfo>().FindKey(info.EnchantID);
                    if (enchantInfo != null)
                    {
                        experience = enchantInfo.Experience;
                    }
                    if (uEnchantInfo.UserEnchantID != info.UserEnchantID)
                    {
                        if (uEnchantInfo.CurrExprience >= maxExprience)
                        {
                            ErrorCode = LanguageManager.GetLang().ErrorCode;
                            ErrorInfo = LanguageManager.GetLang().St1256_OutMaxEnchantLv;
                            return false;
                        }
                        syntheList.Add(new SynthesisInfo() { DemandID = info.EnchantID, Num = info.CurrExprience });
                        UpdateEnchant(uEnchantInfo.UserEnchantID, info.UserEnchantID, experience);
                    }
                }
                UserLogHelper.AppenEnchantLog(ContextUser.UserID, 4, uEnchantInfo, syntheList);
            }
            return true;
        }
Пример #58
0
 protected override object this[string index]
 {
     get
     {
         #region
         switch (index)
         {
             case "FestivalID": return FestivalID;
             case "FestivalName": return FestivalName;
             case "StartDate": return StartDate;
             case "ContinuedTime": return ContinuedTime;
             case "RestrainNum": return RestrainNum;
             case "Reward": return Reward;
             case "IsStop": return IsStop;
             case "FestivalDesc": return FestivalDesc;
             case "TimePriod": return TimePriod;
             case "TaskConfig": return TaskConfig;
             case "FestivalExtend": return FestivalExtend;
             case "EndDate": return EndDate;
             case "FestivalType": return FestivalType;
             case "HeadID": return HeadID;
             default: throw new ArgumentException(string.Format("FestivalInfo index[{0}] isn't exist.", index));
         }
         #endregion
     }
     set
     {
         #region
         switch (index)
         {
             case "FestivalID":
                 _FestivalID = value.ToInt();
                 break;
             case "FestivalName":
                 _FestivalName = value.ToNotNullString();
                 break;
             case "StartDate":
                 _StartDate = value.ToDateTime();
                 break;
             case "ContinuedTime":
                 _ContinuedTime = value.ToInt();
                 break;
             case "RestrainNum":
                 _RestrainNum = value.ToInt();
                 break;
             case "Reward":
                 _Reward = ConvertCustomField<CacheList<PrizeInfo>>(value, index);
                 break;
             case "IsStop":
                 _IsStop = value.ToBool();
                 break;
             case "FestivalDesc":
                 _FestivalDesc = value.ToNotNullString();
                 break;
             case "TimePriod":
                 _TimePriod = ConvertCustomField<TimePriod>(value, index);//  ?? new TimePriod();
                 break;
             case "TaskConfig":
                 _TaskConfig = ConvertCustomField<CacheList<TaskConfigInfo>>(value, index);
                 break;
             case "FestivalExtend":
                 _FestivalExtend = ConvertCustomField<FestivalExtend>(value, index);
                 break;
             case "EndDate":
                 _EndDate = value.ToDateTime();
                 break;
             case "FestivalType":
                 _FestivalType = value.ToEnum<FestivalType>();
                 break;
             case "HeadID":
                 _HeadID = value.ToNotNullString();
                 break;
             default: throw new ArgumentException(string.Format("FestivalInfo index[{0}] isn't exist.", index));
         }
         #endregion
     }
 }
Пример #59
0
 public override bool TakeAction()
 {
     CacheList<GeneralHeritage> heritageList = new CacheList<GeneralHeritage>();
     GeneralHeritage heritage = new GeneralHeritage();
     UserGeneral general = new GameDataCacheSet<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;
 }
Пример #60
0
 /// <summary>
 /// </summary>
 public LairTreasureInfo()
     : base(AccessLevel.ReadOnly)
 {
     LairTreasureList = new CacheList<LairTreasure>(0, true);
 }