public override bool TakeAction() { //var usergeneral = UserGeneral.GetMainGeneral(ContextUser.UserID); //int generalID = usergeneral == null ? 0 : usergeneral.GeneralID; userGeneralArray = new GameDataCacheSet <UserGeneral>().FindAll(ContextUser.UserID, u => u.GeneralStatus == GeneralStatus.DuiWuZhong && u.GeneralType != GeneralType.Soul); // 佣兵排序 GeneralSortHelper.GeneralSort(ContextUser.UserID, userGeneralArray); return(true); }
public override bool TakeAction() { GeneralHelper.StotyTaskFunction(ContextUser); //已完成替换佣兵功能开启 _userMagicArray = new GameDataCacheSet <UserMagic>().FindAll(ContextUser.UserID, u => u.MagicID != 1 && u.MagicType == MagicType.MoFaZhen); _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)); }); var userFunction = new GameDataCacheSet <UserFunction>().FindKey(ContextUser.UserID, FunctionEnum.ReplaceGeneral); foreach (UserMagic magic in _userMagicArray) { if (magic == null) { continue; } MagicLvInfo magicLv = new ConfigCacheSet <MagicLvInfo>().FindKey(magic.MagicID, magic.MagicLv); if (magicLv != null) { string gridPostion = magicLv.GridRange; if (magicLv.ReplacePostion > 0 && userFunction != null) { gridPostion = gridPostion.TrimEnd(',') + "," + magicLv.ReplacePostion; } string[] gridRangeArray = gridPostion.Split(','); foreach (string gridRange in gridRangeArray) { UserEmbattle userEmbattle = new GameDataCacheSet <UserEmbattle>().FindKey(ContextUser.UserID, magic.MagicID, gridRange.ToShort()); if (userEmbattle == null) { UserEmbattle embattle = new UserEmbattle() { UserID = ContextUser.UserID, MagicID = magic.MagicID, Position = gridRange.ToShort(), GeneralID = 0 }; var cacheSet = new GameDataCacheSet <UserEmbattle>(); cacheSet.Add(embattle); } } } } _userGeneralArray = new GameDataCacheSet <UserGeneral>().FindAll(ContextUser.UserID, u => u.GeneralStatus == GeneralStatus.DuiWuZhong && u.GeneralType != GeneralType.Soul); // 佣兵排序 GeneralSortHelper.GeneralSort(ContextUser.UserID, _userGeneralArray); return(true); }
public override bool TakeAction() { string publicUserID = ContextUser.UserID; if (!string.IsNullOrEmpty(toUserID)) { publicUserID = toUserID; } UserMagic userMagic = new GameDataCacheSet <UserMagic>().Find(publicUserID, s => s.IsEnabled); var cacheSetUserEmbattle = new GameDataCacheSet <UserEmbattle>(); var userGeneralList = new List <UserGeneral>(); switch (generalType) { case GeneralType.YongBing: userGeneralList = new GameDataCacheSet <UserGeneral>().FindAll(publicUserID, u => u.GeneralType != GeneralType.Soul && u.GeneralStatus == GeneralStatus.DuiWuZhong); break; case GeneralType.Soul: userGeneralList = new GameDataCacheSet <UserGeneral>().FindAll(publicUserID, u => u.GeneralType == generalType && u.AtmanNum > 0 && u.GeneralStatus == GeneralStatus.DuiWuZhong); break; case GeneralType.Battle: userGeneralList = new GameDataCacheSet <UserGeneral>().FindAll(publicUserID, u => u.GeneralType != GeneralType.Soul && u.GeneralStatus == GeneralStatus.DuiWuZhong); break; } foreach (var userGeneral in userGeneralList) { switch (generalType) { case GeneralType.YongBing: if ( cacheSetUserEmbattle.Find(publicUserID, s => s.MagicID == userMagic.MagicID && s.GeneralID == userGeneral.GeneralID) != null) { userGeneral.IsBattle = true; } else { userGeneral.IsBattle = false; } userGeneralArray.Add(userGeneral); break; case GeneralType.Soul: userGeneralArray.Add(userGeneral); break; case GeneralType.Battle: if ( cacheSetUserEmbattle.Find(publicUserID, s => s.MagicID == userMagic.MagicID && s.GeneralID == userGeneral.GeneralID) != null) { userGeneral.IsBattle = true; userGeneralArray.Add(userGeneral); } break; } } // 佣兵排序 GeneralSortHelper.GeneralSort(ContextUser.UserID, userGeneralArray); return(true); }
public override bool TakeAction() { string publicUserID = string.Empty; if (string.IsNullOrEmpty(toUserID)) { publicUserID = ContextUser.UserID; } else { publicUserID = toUserID; UserCacheGlobal.LoadOffline(publicUserID); } GameUser user = new PersonalCacheStruct <GameUser>().FindKey(publicUserID); if (new PersonalCacheStruct <UserFunction>().FindKey(publicUserID, FunctionEnum.Mingyunshuijing) == null) { ErrorCode = LanguageManager.GetLang().ErrorCode; ErrorInfo = LanguageManager.GetLang().St_NoFun; return(false); } UserHelper.GetUserLightOpen(publicUserID); var package = UserCrystalPackage.Get(publicUserID); crystalPackNum = user.CrystalNum; userGeneralArray = new PersonalCacheStruct <UserGeneral>().FindAll(publicUserID, u => u.GeneralStatus == GeneralStatus.DuiWuZhong && u.GeneralType != GeneralType.Soul); // 佣兵排序 GeneralSortHelper.GeneralSort(ContextUser.UserID, userGeneralArray); if (userGeneralArray.Count > 0) { genQuality = userGeneralArray[0].GeneralQuality.ToShort(); userCrystalArray1 = package.CrystalPackage.FindAll(m => m.GeneralID == userGeneralArray[0].GeneralID); if (string.IsNullOrEmpty(toUserID)) { userCrystalArray2 = package.CrystalPackage.FindAll(m => m.GeneralID == 0 && m.IsSale == 2); userCrystalArray2.QuickSort((x, y) => { int result; if (x == null && y == null) { return(0); } if (x != null && y == null) { return(1); } if (x == null) { return(-1); } result = y.CrystalQuality.CompareTo(x.CrystalQuality); if (result == 0) { result = y.CurrExprience.CompareTo(x.CurrExprience); } return(result); }); } } return(true); }