Example #1
0
 public SocialTabInfo(Action loadAction, EventId eventId, string eventActionId, PlayerListType listType)
 {
     this.LoadAction    = loadAction;
     this.TabEventId    = eventId;
     this.EventActionId = eventActionId;
     this.ListType      = listType;
 }
Example #2
0
        public async Task <List <PlayerModel> > GetHighscore(string lang, PlayerListType listType)
        {
            //highscore_f783c35d932f4d9fde4dc965d077477e/
            string ltype = "";

            switch (listType)
            {
            case PlayerListType.InGame:
                ltype = "1";
                break;

            case PlayerListType.InChallenge:
                ltype = "2";
                break;

            case PlayerListType.FriendsForChallenges:
                ltype = "3";
                break;
            }
            List <string> prms = new List <string>
            {
                "?Lang=" + lang,
                "&Ltype=" + ltype
            };
            HttpHelper helper   = new HttpHelper();
            string     response = await helper.Get("highscore_f783c35d932f4d9fde4dc965d077477e/", prms);

            List <PlayerModel> result = JsonConvert.DeserializeObject <List <PlayerModel> >(response);

            return(result);
        }
        public void SendRelationList(PlayerListType listType)
        {
            currentListType = listType;
            RelationListC2S message = new RelationListC2S();

            message.listType = (int)listType;
            byte[] stream = ProtobufUtils.Serialize(message);
            NetworkManager.SendRequest(ServerType.SocialServer, MsgCode.RelationListMessage, stream);
        }
Example #4
0
 private void GetPlayerLists(PlayerListType listType, string planetId, out LeaderboardList <PlayerLBEntity> leaderboardList, out LeaderboardList <PlayerLBEntity> nearbyLeaderboardList)
 {
     leaderboardList       = null;
     nearbyLeaderboardList = null;
     if (listType != PlayerListType.Friends)
     {
         if (listType != PlayerListType.Leaders)
         {
             if (listType == PlayerListType.TournamentLeaders)
             {
                 if (!string.IsNullOrEmpty(planetId))
                 {
                     if (!this.TournamentLeadersByPlanet.ContainsKey(planetId))
                     {
                         this.InitTournamentListForPlanet(planetId);
                     }
                     leaderboardList       = this.TournamentLeadersByPlanet[planetId];
                     nearbyLeaderboardList = this.TournamentLeadersNearMeByPlanet[planetId];
                 }
                 else
                 {
                     Service.Logger.Error("planetId value is null or empty in tournament leaderboard response handling");
                 }
             }
         }
         else if (planetId == null)
         {
             leaderboardList       = this.GlobalLeaders;
             nearbyLeaderboardList = this.GlobalNearMeLeaders;
         }
         else
         {
             leaderboardList       = this.LeadersByPlanet[planetId];
             nearbyLeaderboardList = this.LeadersNearMeByPlanet[planetId];
         }
     }
     else
     {
         leaderboardList       = this.Friends;
         nearbyLeaderboardList = this.Friends;
     }
 }
Example #5
0
        private void GetPlayerLists(PlayerListType listType, string planetId, out LeaderboardList <PlayerLBEntity> leaderboardList, out LeaderboardList <PlayerLBEntity> nearbyLeaderboardList)
        {
            leaderboardList       = null;
            nearbyLeaderboardList = null;
            switch (listType)
            {
            case PlayerListType.Friends:
                leaderboardList       = this.Friends;
                nearbyLeaderboardList = this.Friends;
                return;

            case PlayerListType.Leaders:
                if (planetId == null)
                {
                    leaderboardList       = this.GlobalLeaders;
                    nearbyLeaderboardList = this.GlobalNearMeLeaders;
                    return;
                }
                leaderboardList       = this.LeadersByPlanet[planetId];
                nearbyLeaderboardList = this.LeadersNearMeByPlanet[planetId];
                return;

            case PlayerListType.TournamentLeaders:
                if (!string.IsNullOrEmpty(planetId))
                {
                    if (!this.TournamentLeadersByPlanet.ContainsKey(planetId))
                    {
                        this.InitTournamentListForPlanet(planetId);
                    }
                    leaderboardList       = this.TournamentLeadersByPlanet[planetId];
                    nearbyLeaderboardList = this.TournamentLeadersNearMeByPlanet[planetId];
                    return;
                }
                Service.Get <StaRTSLogger>().Error("planetId value is null or empty in tournament leaderboard response handling");
                return;

            default:
                return;
            }
        }
Example #6
0
        public bool ShouldRefreshData(PlayerListType listType, string planetId)
        {
            bool flag       = false;
            bool flag2      = false;
            uint serverTime = Service.ServerAPI.ServerTime;
            uint timeB      = 0u;

            switch (listType)
            {
            case PlayerListType.FeaturedSquads:
                if (this.FeaturedSquads.List.Count == 0)
                {
                    flag = true;
                }
                else
                {
                    flag2 = true;
                }
                break;

            case PlayerListType.SearchedSquads:
                flag  = false;
                flag2 = true;
                break;

            case PlayerListType.Squads:
                flag  = this.TopSquads.AlwaysRefresh;
                timeB = this.TopSquads.LastRefreshTime;
                break;

            case PlayerListType.Friends:
                flag  = this.Friends.AlwaysRefresh;
                timeB = this.Friends.LastRefreshTime;
                break;

            case PlayerListType.Leaders:
                if (string.IsNullOrEmpty(planetId))
                {
                    flag  = this.GlobalLeaders.AlwaysRefresh;
                    timeB = this.GlobalLeaders.LastRefreshTime;
                }
                else
                {
                    flag  = this.LeadersByPlanet[planetId].AlwaysRefresh;
                    timeB = this.LeadersByPlanet[planetId].LastRefreshTime;
                }
                break;

            case PlayerListType.TournamentLeaders:
                if (this.TournamentLeadersByPlanet.ContainsKey(planetId))
                {
                    flag  = this.TournamentLeadersByPlanet[planetId].AlwaysRefresh;
                    timeB = this.TournamentLeadersByPlanet[planetId].LastRefreshTime;
                }
                break;
            }
            if (!flag && !flag2)
            {
                int timeDifferenceSafe = GameUtils.GetTimeDifferenceSafe(serverTime, timeB);
                flag = (timeDifferenceSafe >= 30);
            }
            return(flag);
        }
Example #7
0
        public static async Task <List <PlayerModel> > GetPlayersList(string lid, string uid, PlayerListType type)
        {
            try
            {
                //salt - dc3000b3719bae69a676536f6a25eac1
                //playerlist_4ff48620c7048686919e4ca2837200d5/
                string hash  = LogicHelper.CreateMD5(uid, "dc3000b3719bae69a676536f6a25eac1");
                string ltype = "";
                switch (type)
                {
                case PlayerListType.InGame:
                    ltype = "1";
                    break;

                case PlayerListType.InChallenge:
                    ltype = "2";
                    break;

                case PlayerListType.FriendsForChallenges:
                    ltype = "3";
                    break;
                }
                List <string> prms = new List <string>
                {
                    "?hash=" + hash,
                    "&uid=" + uid,
                    "&lid=" + lid,
                    "&ltype=" + ltype
                };
                HttpHelper helper   = new HttpHelper();
                string     response = await helper.Get("playerlist_4ff48620c7048686919e4ca2837200d5/", prms);

                List <PlayerModel> result = JsonConvert.DeserializeObject <List <PlayerModel> >(response);

                return(result);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Example #8
0
 public ServerPlayerList(PlayerListType type, Player[] players)
 {
     this.Type    = type;
     this.Players = players;
 }