示例#1
0
        /// <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);
        }
示例#2
0
        /// <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());
        }