Esempio n. 1
0
        public override bool TakeAction()
        {
            List <UserFriends> userFriendsesArray = new ShareCacheStruct <UserFriends>().FindAll(m => m.UserID == ContextUser.UserID && m.FriendType == _friendType);

            userFriendsesArray.QuickSort((x, y) =>
            {
                if (x == null && y == null)
                {
                    return(0);
                }
                if (x != null && y == null)
                {
                    return(1);
                }
                if (x == null)
                {
                    return(-1);
                }
                //普通的玩家根据等级来排序 如果是仇敌的话需要用最后战斗时间来排序
                int result = 0;
                if (_friendType != FriendType.ChouDi)
                {
                    GameUser userx      = new GameDataCacheSet <GameUser>().FindKey(x.UserID);
                    GameUser usery      = new GameDataCacheSet <GameUser>().FindKey(y.UserID);
                    int userLvx         = userx == null ? 0 : userx.UserLv;
                    int userLvy         = usery == null ? 0 : usery.UserLv;
                    int currExperiencex = (UserGeneral.GetMainGeneral(x.UserID) ?? new UserGeneral()).CurrExperience;
                    int currExperiencey = (UserGeneral.GetMainGeneral(y.UserID) ?? new UserGeneral()).CurrExperience;
                    result = userLvy.CompareTo(userLvx);
                    if (result == 0)
                    {
                        result = currExperiencey.CompareTo(currExperiencex);
                    }
                }
                else
                {
                    result = x.FightTime.CompareTo(y.FightTime);
                    if (result == 0)
                    {
                        result = x.UserID.CompareTo(y.UserID);
                    }
                }
                return(result);
            });
            _userFriendList = userFriendsesArray.GetPaging(_pageIndex, _pageSize, out _pageCount);
            return(true);
        }
Esempio n. 2
0
        public override bool TakeAction()
        {
            FightCombat combat          = new FightCombat();
            var         serverFightList = new ShareCacheStruct <ServerFight>().FindAll(s => s.FastID == combat.FastID && !s.IsRemove);

            serverFightList.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 = x.CityID.CompareTo(y.CityID);
                if (result == 0)
                {
                    var userGuildA = new ShareCacheStruct <UserGuild>().FindKey(x.GuildID);
                    var userGuildB = new ShareCacheStruct <UserGuild>().FindKey(y.GuildID);
                    if (userGuildA != null && userGuildB != null)
                    {
                        result = userGuildB.GuildLv.CompareTo(userGuildA.GuildLv);
                        if (result == 0)
                        {
                            result = userGuildB.CurrExperience.CompareTo(userGuildA.CurrExperience);
                        }
                    }
                }
                return(result);
            });
            fightList = serverFightList.GetPaging(pageIndex, pageSize, out pageCount);
            rankID    = (short)(MathUtils.Subtraction(pageIndex, 1) * 5);
            return(true);
        }
Esempio n. 3
0
        public override bool TakeAction()
        {
            ServerFightGroup fightGroup = new ShareCacheStruct <ServerFightGroup>().FindKey(combatID);

            if (fightGroup != null)
            {
                guildName1 = GuildFightCombat.GuildName(fightGroup.GuildIDA);
                guildName2 = GuildFightCombat.GuildName(fightGroup.GuildIDB);
                guildName3 = GuildFightCombat.GuildName(fightGroup.WinGuildID);
                var groupList =
                    new ShareCacheStruct <MemberGroup>().FindAll(s => !s.IsRemove && s.FastID == fightGroup.FastID && s.GuildIDA == fightGroup.GuildIDA && s.GuildIDB == fightGroup.GuildIDB);

                foreach (MemberGroup member in groupList)
                {
                    if (member.GuildIDA == fightGroup.WinGuildID)
                    {
                        member.IsEnemy = true;
                    }
                    else
                    {
                        member.IsEnemy = false;
                    }
                    if (member.Win)
                    {
                        member.ConquerMember = member.UserIDA;
                        member.DefeatMember  = member.UserIDB;
                    }
                    else
                    {
                        member.ConquerMember = member.UserIDB;
                        member.DefeatMember  = member.UserIDA;
                    }
                }
                memberGroupList = groupList.GetPaging(pageIndex, pageSize, out pageCount);
            }
            return(true);
        }
Esempio n. 4
0
 public GameNotice[] GetNotices(int pageIndex, int pageSize, out int recordCount)
 {
     recordCount = 0;
     try
     {
         List <GameNotice> list = new ShareCacheStruct <GameNotice>().FindAll();
         list.QuickSort((x, y) =>
         {
             int result = y.IsTop.CompareTo(x.IsTop);
             if (result == 0)
             {
                 return(y.CreateDate.CompareTo(x.CreateDate));
             }
             return(result);
         });
         var tempList = list.GetPaging(pageIndex, pageSize, out recordCount);
         return(tempList.ToArray());
     }
     catch (Exception ex)
     {
         new BaseLog().SaveLog("取公告出错:", ex);
         throw;
     }
 }
Esempio n. 5
0
 public GameNotice[] GetNotices(int pageIndex, int pageSize, out int recordCount)
 {
     recordCount = 0;
     try
     {
         List<GameNotice> list = new ShareCacheStruct<GameNotice>().FindAll();
         list.QuickSort((x, y) =>
         {
             int result = y.IsTop.CompareTo(x.IsTop);
             if (result == 0)
             {
                 return y.CreateDate.CompareTo(x.CreateDate);
             }
             return result;
         });
         var tempList = list.GetPaging(pageIndex, pageSize, out recordCount);
         return tempList.ToArray();
     }
     catch (Exception ex)
     {
         new BaseLog().SaveLog("取公告出错:", ex);
         throw;
     }
 }
Esempio n. 6
0
        public override bool TakeAction()
        {

            List<UserFriends> userFriendsesArray = new ShareCacheStruct<UserFriends>().FindAll(m => m.UserID == ContextUser.UserID && m.FriendType == _friendType);
            userFriendsesArray.QuickSort((x, y) =>
            {
                if (x == null && y == null) return 0;
                if (x != null && y == null) return 1;
                if (x == null) return -1;
                //普通的玩家根据等级来排序 如果是仇敌的话需要用最后战斗时间来排序
                int result = 0;
                if (_friendType != FriendType.ChouDi)
                {
                    GameUser userx = new PersonalCacheStruct<GameUser>().FindKey(x.UserID);
                    GameUser usery = new PersonalCacheStruct<GameUser>().FindKey(y.UserID);
                    int userLvx = userx == null ? 0 : userx.UserLv;
                    int userLvy = usery == null ? 0 : usery.UserLv;
                    int currExperiencex = (UserGeneral.GetMainGeneral(x.UserID) ?? new UserGeneral()).CurrExperience;
                    int currExperiencey = (UserGeneral.GetMainGeneral(y.UserID) ?? new UserGeneral()).CurrExperience;
                    result = userLvy.CompareTo(userLvx);
                    if (result == 0)
                    {
                        result = currExperiencey.CompareTo(currExperiencex);
                    }

                }
                else
                {
                    result = x.FightTime.CompareTo(y.FightTime);
                    if (result == 0)
                    {
                        result = x.UserID.CompareTo(y.UserID);
                    }
                }
                return result;
            });
            _userFriendList = userFriendsesArray.GetPaging(_pageIndex, _pageSize, out _pageCount);
            return true;
        }
Esempio n. 7
0
 public override bool TakeAction()
 {
     FightCombat combat = new FightCombat();
     var serverFightList = new ShareCacheStruct<ServerFight>().FindAll(s => s.FastID == combat.FastID && !s.IsRemove);
     serverFightList.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 = x.CityID.CompareTo(y.CityID);
         if (result == 0)
         {
             var userGuildA = new ShareCacheStruct<UserGuild>().FindKey(x.GuildID);
             var userGuildB = new ShareCacheStruct<UserGuild>().FindKey(y.GuildID);
             if (userGuildA != null && userGuildB != null)
             {
                 result = userGuildB.GuildLv.CompareTo(userGuildA.GuildLv);
                 if (result == 0)
                 {
                     result = userGuildB.CurrExperience.CompareTo(userGuildA.CurrExperience);
                 }
             }
         }
         return result;
     });
     fightList = serverFightList.GetPaging(pageIndex, pageSize, out pageCount);
     rankID = (short)(MathUtils.Subtraction(pageIndex, 1) * 5);
     return true;
 }
Esempio n. 8
0
        public override bool TakeAction()
        {
            ServerFightGroup fightGroup = new ShareCacheStruct<ServerFightGroup>().FindKey(combatID);
            if (fightGroup != null)
            {
                guildName1 = GuildFightCombat.GuildName(fightGroup.GuildIDA);
                guildName2 = GuildFightCombat.GuildName(fightGroup.GuildIDB);
                guildName3 = GuildFightCombat.GuildName(fightGroup.WinGuildID);
                var groupList =
                    new ShareCacheStruct<MemberGroup>().FindAll(s => !s.IsRemove && s.FastID == fightGroup.FastID && s.GuildIDA == fightGroup.GuildIDA && s.GuildIDB == fightGroup.GuildIDB);

                foreach (MemberGroup member in groupList)
                {
                    if (member.GuildIDA == fightGroup.WinGuildID)
                    {
                        member.IsEnemy = true;
                    }
                    else
                    {
                        member.IsEnemy = false;
                    }
                    if (member.Win)
                    {
                        member.ConquerMember = member.UserIDA;
                        member.DefeatMember = member.UserIDB;
                    }
                    else
                    {
                        member.ConquerMember = member.UserIDB;
                        member.DefeatMember = member.UserIDA;
                    }
                }
                memberGroupList = groupList.GetPaging(pageIndex, pageSize, out pageCount);
            }
            return true;
        }