/// <summary> /// 当前玩家所在的层、关的副本 /// </summary> /// <returns></returns> public static PlotInfo CheckUserPlotKalpa(GameUser user) { PlotInfo plotInfo = null; var userPlotArray = UserPlotHelper.UserPlotFindAll(user.UserID).FindAll(m => m.PlotType == PlotType.Kalpa); if (userPlotArray.Count == 0) { PlotHelper.EnablePlot(user.UserID, 8000); UserPlotHelper.UserPlotFindAll(user.UserID).FindAll(m => m.PlotType == PlotType.Kalpa); } if (userPlotArray.Count > 0) { userPlotArray.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 = new ConfigCacheSet <PlotInfo>().FindKey(y.PlotID).LayerNum.CompareTo( new ConfigCacheSet <PlotInfo>().FindKey(x.PlotID).LayerNum); if (result == 0) { result = new ConfigCacheSet <PlotInfo>().FindKey(y.PlotID).PlotSeqNo.CompareTo( new ConfigCacheSet <PlotInfo>().FindKey(x.PlotID).PlotSeqNo); } return(result); }); plotInfo = new ConfigCacheSet <PlotInfo>().FindKey(userPlotArray[0].PlotID); } return(plotInfo); }
/// <summary> /// 可创建多人副本列表 /// </summary> /// <returns></returns> public MorePlot[] GetMorePlotList() { List <MorePlot> morePlotsList = new List <MorePlot>(); var plotsArray = UserPlotHelper.UserPlotFindAll(_userId); // todo new PersonalCacheStruct<UserPlot>().FindAll(_userId);) foreach (UserPlotInfo plot in plotsArray) { var morePlotArray = new ShareCacheStruct <PlotInfo>().FindAll(u => u.PlotType == PlotType.MorePlot && u.PrePlotID == plot.PlotID); if (morePlotArray.Count > 0) { var morePlot = morePlotArray[0]; if (IsCombat(morePlot.PlotID)) { morePlotsList.Add(GetItem(morePlot.PlotID)); } } } return(morePlotsList.ToArray()); }