public override void BuildPacket() { var cacheSetItem = new ConfigCacheSet <ItemBaseInfo>(); PushIntoStack(_cityInfoList.Count); foreach (var city in _cityInfoList) { List <PlotInfo> plotList = _cacheSetPlot.FindAll(s => s.CityID == city.CityID && s.PlotType == plotType); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(plotList.Count); foreach (PlotInfo item in plotList) { UserPlotInfo userPlot = UserPlotHelper.GetUserPlotInfo(ContextUser.UserID, item.PlotID); int isKill = PlotHelper.IsKill(ContextUser.UserID, item.PlotID, cityID) ? 1 : 0; DataStruct dsItemPlot = new DataStruct(); dsItemPlot.PushIntoStack(item.PlotID); dsItemPlot.PushIntoStack(item.PlotSeqNo.ToShort()); dsItemPlot.PushIntoStack(item.PlotName.ToNotNullString()); dsItemPlot.PushIntoStack(item.BossHeadID.ToNotNullString()); dsItemPlot.PushIntoStack(GetPlotStatus(userPlot, plotType)); dsItemPlot.PushIntoStack(userPlot == null ? 1 : (int)userPlot.StarScore); dsItemPlot.PushIntoStack(isKill); dsItemPlot.PushIntoStack(item.HonourNum); dsItemPlot.PushIntoStack(item.GameCoin); dsItemPlot.PushIntoStack(item.PlotDesc); dsItemPlot.PushIntoStack(item.PlotLv); dsItemPlot.PushIntoStack(ConfigEnvSet.GetInt("Plot.BattleEnergyNum")); dsItemPlot.PushIntoStack(PlotHelper.GetPlotChallengeNum(UserId.ToString(), item.PlotID)); dsItemPlot.PushIntoStack(item.ChallengeNum); dsItemPlot.PushIntoStack(userPlot == null ? 0 : userPlot.PlotNum); dsItem.PushIntoStack(dsItemPlot); var itemArray = item.ItemRank.Split(','); dsItemPlot.PushIntoStack(itemArray.Length); foreach (var s in itemArray) { var sArray = s.Split('='); var itemInfo = cacheSetItem.FindKey(sArray.Length > 0 ? sArray[0].ToInt() : 0); DataStruct dsItemInfo = new DataStruct(); dsItemInfo.PushIntoStack(itemInfo != null ? itemInfo.ItemName : string.Empty); dsItemInfo.PushIntoStack(sArray.Length > 1 ? sArray[1].ToInt() : 0); dsItemPlot.PushIntoStack(dsItemInfo); } } dsItem.PushIntoStack(city.CityID); dsItem.PushIntoStack(city.CityName.ToNotNullString()); PushIntoStack(dsItem); } PushIntoStack(resetNum); PushIntoStack(_backpackType); }
public override void BuildPacket() { var cacheSetItemEqu = new ConfigCacheSet<ItemEquAttrInfo>(); PushIntoStack(_userItemArray.Count); foreach (UserItemInfo item in _userItemArray) { ItemBaseInfo itemInfo = new ConfigCacheSet<ItemBaseInfo>().FindKey(item.ItemID); var general = new GameDataCacheSet<UserGeneral>().FindKey(Uid, item.GeneralID); var itemEquList = cacheSetItemEqu.FindAll(e => e.ItemID.Equals(item.ItemID)); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(item.UserItemID.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.ItemName.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(item.ItemLv); dsItem.PushIntoStack(itemInfo == null ? LanguageManager.GetLang().shortInt : (short)itemInfo.QualityType); dsItem.PushIntoStack(general != null ? general.GeneralName : string.Empty); PushIntoStack(dsItem); dsItem.PushIntoStack(itemEquList.Count); foreach (var itemEquAttrInfo in itemEquList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(itemEquAttrInfo.AttributeID.ToInt()); int strengNum = 0; strengNum = MathUtils.Addition(itemEquAttrInfo.BaseNum, (itemEquAttrInfo.IncreaseNum * item.ItemLv), int.MaxValue); // dsItem1.PushIntoStack(itemEqu.BaseNum); dsItem1.PushIntoStack(strengNum); dsItem.PushIntoStack(dsItem1); } } }
public override void BuildPacket() { var cacheSetItemEqu = new ConfigCacheSet <ItemEquAttrInfo>(); PushIntoStack(_userItemArray.Count); foreach (UserItemInfo item in _userItemArray) { ItemBaseInfo itemInfo = new ConfigCacheSet <ItemBaseInfo>().FindKey(item.ItemID); var general = new GameDataCacheSet <UserGeneral>().FindKey(Uid, item.GeneralID); var itemEquList = cacheSetItemEqu.FindAll(e => e.ItemID.Equals(item.ItemID)); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack(item.UserItemID.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.ItemName.ToNotNullString()); dsItem.PushIntoStack(itemInfo == null ? string.Empty : itemInfo.HeadID.ToNotNullString()); dsItem.PushIntoStack(item.ItemLv); dsItem.PushIntoStack(itemInfo == null ? LanguageManager.GetLang().shortInt : (short)itemInfo.QualityType); dsItem.PushIntoStack(general != null ? general.GeneralName : string.Empty); PushIntoStack(dsItem); dsItem.PushIntoStack(itemEquList.Count); foreach (var itemEquAttrInfo in itemEquList) { DataStruct dsItem1 = new DataStruct(); dsItem1.PushIntoStack(itemEquAttrInfo.AttributeID.ToInt()); int strengNum = 0; strengNum = MathUtils.Addition(itemEquAttrInfo.BaseNum, (itemEquAttrInfo.IncreaseNum * item.ItemLv), int.MaxValue); // dsItem1.PushIntoStack(itemEqu.BaseNum); dsItem1.PushIntoStack(strengNum); dsItem.PushIntoStack(dsItem1); } } }
/// <summary> /// 选取题目 /// </summary> /// <param name="count">取的数量</param> /// <param name="ignore">忽略的</param> /// <returns></returns> public override List <T> Extract(int count, Predicate <T> ignore) { var list = CacheSet.FindAll(m => !ignore(m)); var tempList = RandomUtils.GetRandomArray(list.ToArray(), count); return(new List <T>(tempList)); }
/// <summary> /// 圣吉塔战役 /// </summary> /// <param name="plotNpcID"></param> /// <param name="difficultNum"></param> public MonsterQueue(int plotNpcID, double difficultNum) { var sjtEmbattleList = new ConfigCacheSet<SJTPlotEmbattleInfo>().FindAll(); sjtEmbattleList = sjtEmbattleList.FindAll(m => m.PlotNpcID == plotNpcID); foreach (SJTPlotEmbattleInfo embattle in sjtEmbattleList) { int index = embattle.GridSeqNo - 1; IGeneral general = Create(embattle, difficultNum); if (general != null) { SetQueue(index, general); } } this.PriorityNum = 0; }
/// <summary> /// 圣吉塔战役 /// </summary> /// <param name="plotNpcID"></param> /// <param name="difficultNum"></param> public MonsterQueue(int plotNpcID, double difficultNum) { var sjtEmbattleList = new ConfigCacheSet <SJTPlotEmbattleInfo>().FindAll(); sjtEmbattleList = sjtEmbattleList.FindAll(m => m.PlotNpcID == plotNpcID); foreach (SJTPlotEmbattleInfo embattle in sjtEmbattleList) { int index = embattle.GridSeqNo - 1; IGeneral general = Create(embattle, difficultNum); if (general != null) { SetQueue(index, general); } } this.PriorityNum = 0; }
/// <summary> /// 默认玩家注册获得背包格子数 /// </summary> /// <param name="userId"></param> public static void AddUserPack(string userId) { var userPack = _cacheSetUserPack.FindKey(userId); var backpackList = _cacheSetBackpack.FindAll(); backpackList.ForEach(backpack => { if (userPack == null) { userPack = new UserPack(userId.ToInt()); userPack.CreateDate = DateTime.Now; var packType = new PackType(); packType.BackpackType = backpack.BackpackType; packType.OpenNum = 0; packType.Position = backpack.DefaultNum; userPack.PackTypeList.Add(packType); _cacheSetUserPack.Add(userPack, userId.ToInt()); } else { var packType = userPack.PackTypeList != null ? userPack.PackTypeList.Find( s => s.BackpackType == backpack.BackpackType) : null; if (packType == null) { packType = new PackType(); packType.BackpackType = backpack.BackpackType; packType.OpenNum = 0; packType.Position = backpack.DefaultNum; userPack.PackTypeList.Add(packType); } else { packType.BackpackType = backpack.BackpackType; packType.OpenNum = 0; packType.Position = backpack.DefaultNum; } } }); }
/// <summary> /// 佣兵升级 /// </summary> /// <param name="userGeneral"></param> public static void GeneralUp(UserGeneral userGeneral) { var cacheSetGeneralEscalate = new ConfigCacheSet <GeneralEscalateInfo>(); var GeneralEscalateList = cacheSetGeneralEscalate.FindAll(s => s.GeneralType == GeneralType.YongBing && s.UpExperience <= userGeneral.CurrExperience); short generalLv = userGeneral.GeneralLv; GeneralEscalateInfo generalEscalateInfo = new GeneralEscalateInfo(); GeneralEscalateList.ForEach(item => { if (item.GeneralLv > generalLv) { generalLv = item.GeneralLv; generalEscalateInfo = item; } }); if (generalLv > userGeneral.GeneralLv) { userGeneral.GeneralLv = generalLv; userGeneral.CurrExperience = MathUtils.Subtraction(userGeneral.CurrExperience, generalEscalateInfo.UpExperience); } }
/// <summary> /// 屏蔽敏感词 /// </summary> /// <param name="keyWord"></param> /// <returns></returns> public static bool GetKeyWordSubstitution(string keyWord) { keyWord = keyWord.Trim(); bool IsWord = false; ConfigCacheSet<ChatKeyWord> cacheSet = new ConfigCacheSet<ChatKeyWord>(); List<ChatKeyWord> chatKeyWordArray = cacheSet.FindAll(); foreach (ChatKeyWord chatKeyWord in chatKeyWordArray) { if (keyWord.IndexOf(chatKeyWord.KeyWord) >= 0) { IsWord = true; break; } } return IsWord; }
public override bool TakeAction() { if (magicType == 0) { userMagicArray = new GameDataCacheSet <UserMagic>().FindAll(ContextUser.UserID).GetPaging(pageIndex, pageSize, out pageCount); } else { userMagicArray = new GameDataCacheSet <UserMagic>().FindAll(ContextUser.UserID, m => m.MagicType == magicType).GetPaging(pageIndex, pageSize, out pageCount); //List<UserMagic> tempList = new List<UserMagic>(userMagicArray); //userMagicArray = tempList.FindAll(m => m.MagicID != new GameUser().UserMagicID); } userMagicArray.ForEach(obj => { obj.IsOpen = true; }); if (magicType == MagicType.MoFaZhen) { var cacheSetMagic = new ConfigCacheSet <MagicInfo>(); var magicList = cacheSetMagic.FindAll(s => s.MagicType == MagicType.MoFaZhen && s.DemandLv > ContextUser.UserLv); magicList.ForEach(mgic => { if (userMagicArray.Find(s => s.MagicID == mgic.MagicID) == null) { UserMagic userMagic = new UserMagic(); userMagic.IsOpen = mgic.DemandLv <= ContextUser.UserLv ? true : false; userMagic.MagicID = mgic.MagicID; userMagic.UserID = string.Empty; userMagic.MagicLv = 0; userMagic.MagicType = MagicType.MoFaZhen; userMagic.IsLv = mgic.DemandLv; userMagicArray.Add(userMagic); } }); } pageCount = MathUtils.Subtraction(pageCount, 1, 0); //List<UserQueue> userQueueArray = new GameDataCacheSet<UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType == QueueType.MagicStrong); //if (userQueueArray.Count > 0 && userQueueArray[0].StrengNum >= 2) //{ // queueID = userQueueArray[0].QueueID; // coldTime = userQueueArray[0].DoRefresh(); //} userMagicArray.QuickSort((x, y) => { if (x == null && y == null) { return(0); } if (x != null && y == null) { return(1); } if (x == null) { return(-1); } return(x.MagicID.CompareTo(y.MagicID)); }); ////记录操作日志 //UserOperationLog userOperationLog = new UserOperationLog(); //userOperationLog.UserID = ContextUser.UserID; //userOperationLog.ActionID = ActionIDDefine.Cst_Action1501; //userOperationLog.FunctionID = "魔术列表"; //userOperationLog.CreateDate = DateTime.Now; //userOperationLog.Num = 1; //userOperationLog.Append(); return(true); }
public override bool TakeAction() { if (magicType == 0) { userMagicArray = new GameDataCacheSet<UserMagic>().FindAll(ContextUser.UserID).GetPaging(pageIndex, pageSize, out pageCount); } else { userMagicArray = new GameDataCacheSet<UserMagic>().FindAll(ContextUser.UserID, m => m.MagicType == magicType).GetPaging(pageIndex, pageSize, out pageCount); //List<UserMagic> tempList = new List<UserMagic>(userMagicArray); //userMagicArray = tempList.FindAll(m => m.MagicID != new GameUser().UserMagicID); } userMagicArray.ForEach(obj => { obj.IsOpen = true; }); if (magicType == MagicType.MoFaZhen) { var cacheSetMagic = new ConfigCacheSet<MagicInfo>(); var magicList = cacheSetMagic.FindAll(s => s.MagicType == MagicType.MoFaZhen && s.DemandLv > ContextUser.UserLv); magicList.ForEach(mgic => { if (userMagicArray.Find(s => s.MagicID == mgic.MagicID) == null) { UserMagic userMagic = new UserMagic(); userMagic.IsOpen = mgic.DemandLv <= ContextUser.UserLv ? true : false; userMagic.MagicID = mgic.MagicID; userMagic.UserID = string.Empty; userMagic.MagicLv = 0; userMagic.MagicType = MagicType.MoFaZhen; userMagic.IsLv = mgic.DemandLv; userMagicArray.Add(userMagic); } }); } pageCount = MathUtils.Subtraction(pageCount, 1, 0); //List<UserQueue> userQueueArray = new GameDataCacheSet<UserQueue>().FindAll(ContextUser.UserID, m => m.QueueType == QueueType.MagicStrong); //if (userQueueArray.Count > 0 && userQueueArray[0].StrengNum >= 2) //{ // queueID = userQueueArray[0].QueueID; // coldTime = userQueueArray[0].DoRefresh(); //} userMagicArray.QuickSort((x, y) => { if (x == null && y == null) return 0; if (x != null && y == null) return 1; if (x == null) return -1; return x.MagicID.CompareTo(y.MagicID); }); ////记录操作日志 //UserOperationLog userOperationLog = new UserOperationLog(); //userOperationLog.UserID = ContextUser.UserID; //userOperationLog.ActionID = ActionIDDefine.Cst_Action1501; //userOperationLog.FunctionID = "魔术列表"; //userOperationLog.CreateDate = DateTime.Now; //userOperationLog.Num = 1; //userOperationLog.Append(); return true; }
/// <summary> /// ��ȡ�¼����� /// </summary> /// <param name="parentTaskID"></param> /// <returns></returns> public static IList<StoryTaskInfo> GetNextTask(int parentTaskID) { var cacheSet = new ConfigCacheSet<StoryTaskInfo>(); return cacheSet.FindAll(m => m.PreTaskID.Any(taskId => taskId == parentTaskID)); }
/// <summary> /// ��ȡ�¼����� /// </summary> /// <param name="parentTaskID"></param> /// <returns></returns> public static IList <StoryTaskInfo> GetNextTask(int parentTaskID) { var cacheSet = new ConfigCacheSet <StoryTaskInfo>(); return(cacheSet.FindAll(m => m.PreTaskID.Any(taskId => taskId == parentTaskID))); }
/// <summary> /// 佣兵升级 /// </summary> /// <param name="userGeneral"></param> public static void GeneralUp(UserGeneral userGeneral) { var cacheSetGeneralEscalate = new ConfigCacheSet<GeneralEscalateInfo>(); var GeneralEscalateList = cacheSetGeneralEscalate.FindAll(s => s.GeneralType == GeneralType.YongBing && s.UpExperience <= userGeneral.CurrExperience); short generalLv = userGeneral.GeneralLv; GeneralEscalateInfo generalEscalateInfo = new GeneralEscalateInfo(); GeneralEscalateList.ForEach(item => { if (item.GeneralLv > generalLv) { generalLv = item.GeneralLv; generalEscalateInfo = item; } }); if (generalLv > userGeneral.GeneralLv) { userGeneral.GeneralLv = generalLv; userGeneral.CurrExperience = MathUtils.Subtraction(userGeneral.CurrExperience, generalEscalateInfo.UpExperience); } }