示例#1
0
 internal static Friends Create(SteamCommunityClient client, Model model)
 {
     return(new Friends()
     {
         Id = model.SteamId64,
         Name = model.SteamId,
         List = model.Friends,
         Client = client
     });
 }
示例#2
0
 internal static Game Create(SteamCommunityClient client, Model model)
 {
     return(new Game()
     {
         AppId = model.AppId,
         Name = model.Name,
         Logo = model.Logo,
         StoreLink = model.StoreLink,
         HoursOnRecord = (model.HoursOnRecord != null) ? float.Parse(model.HoursOnRecord) : 0f,
         StatsLink = model.StatsLink,
         GlobalStatsLink = model.GlobalStatsLink,
         Client = client
     });
 }
示例#3
0
 internal static Group Create(SteamCommunityClient client, Model model)
 {
     return(new Group()
     {
         Id = model.GroupId64,
         Details = GroupDetails.Create(client, model.GroupId64, model.GroupDetails),
         MemberCount = model.MemberCount,
         TotalPages = model.TotalPages,
         CurrentPage = model.CurrentPage,
         StartingMember = model.StartingMember,
         NextPageLink = model.NextPageLink,
         Members = model.Members,
         Client = client
     });
 }
示例#4
0
        internal static GameList Create(SteamCommunityClient client, Model model)
        {
            var games = new List <IGame>();

            foreach (var item in model.Games)
            {
                games.Add(Game.Create(client, item));
            }

            return(new GameList()
            {
                Id = model.SteamId64,
                Name = model.SteamId,
                Games = games,
                Client = client
            });
        }
示例#5
0
        internal static StatsLeaderboard Create(SteamCommunityClient client, Model model)
        {
            var entries = new List <IStatsLeaderboardEntry>();

            foreach (var item in model.Leaderboard)
            {
                entries.Add(StatsLeaderboardEntry.Create(item));
            }

            return(new StatsLeaderboard()
            {
                AppId = model.AppId,
                AppFriendlyName = model.AppFriendlyName,
                LeaderboardCount = model.LeaderboardCount,
                Entries = entries,
                Client = client
            });
        }
示例#6
0
 internal static GroupDetails Create(SteamCommunityClient client, ulong groupId64, Model2 model)
 {
     return(new GroupDetails()
     {
         Name = model.GroupName,
         Url = model.GroupUrl,
         Headline = model.Headline,
         Summary = model.Summary,
         AvatarIcon = model.AvatarIcon,
         AvatarMedium = model.AvatarMedium,
         AvatarFull = model.AvatarFull,
         MemberCount = model.MemberCount,
         MembersInChat = model.MembersInChat,
         MembersInGame = model.MembersInGame,
         MembersOnline = model.MembersOnline,
         Id = groupId64,
         Client = client
     });
 }
示例#7
0
        internal static Profile Create(SteamCommunityClient client, Model model)
        {
            var games  = new List <IMostPlayedGame>();
            var groups = new List <IGroupDetails>();

            foreach (var item in model.MostPlayedGames)
            {
                games.Add(MostPlayedGame.Create(item));
            }
            foreach (var item in model.Groups)
            {
                groups.Add(GroupDetails.Create(client, item));
            }

            return(new Profile()
            {
                Id = model.SteamId64,
                Name = model.SteamId,
                State = (OnlineState)Enum.Parse(typeof(OnlineState), model.OnlineState.Replace("-", string.Empty), true),
                StateMessage = model.StateMessage,
                Privacy = (PrivacyState)Enum.Parse(typeof(PrivacyState), model.PrivacyState, true),
                VisibilityState = model.VisibilityState,
                AvatarIcon = model.AvatarIcon,
                AvatarMedium = model.AvatarMedium,
                AvatarFull = model.AvatarFull,
                IsVacBanned = model.VacBanned != 0,
                TradeBan = (TradeBanState)Enum.Parse(typeof(TradeBanState), model.TradeBanState, true),
                IsLimitedAccount = model.IsLimitedAccount != 0,
                CustomUrl = model.CustomUrl,
                MemberSince = model.MemberSince,
                HoursPlayedPastWeeks = (!string.IsNullOrEmpty(model.HoursPlayed2Wk))
                                        ? float.Parse(model.HoursPlayed2Wk)
                                        : 0f,
                Headline = model.Headline,
                Location = model.Location,
                Realname = model.Realname,
                Summary = model.Summary,
                MostPlayedGames = games,
                Groups = groups,
                Client = client
            });
        }
示例#8
0
        internal static Stats Create(SteamCommunityClient client, Model model)
        {
            var achievements = new List <IAchievement>();

            foreach (var item in model.Achievements)
            {
                achievements.Add(Achievement.Create(item));
            }

            return(new Stats()
            {
                PrivacyState = (PrivacyState)Enum.Parse(typeof(PrivacyState), model.PrivacyState, true),
                VisibilityState = model.VisibilityState,
                Game = StatsGame.Create(model.Game),
                Id = model.Player.SteamId64,
                CustomUrl = model.Player.CustomUrl,
                Info = StatsBase.Create(model.Stats),
                Achievements = achievements,
                Client = client
            });
        }
示例#9
0
        internal static StatsFeed Create(SteamCommunityClient client, Model model)
        {
            var stats        = new List <IStatsFeedEntry>();
            var achievements = new List <IStatsFeedEntry>();

            foreach (var item in model.Stats)
            {
                stats.Add(StatsFeedEntry.Create(item));
            }
            foreach (var item in model.Achievements)
            {
                achievements.Add(StatsFeedEntry.Create(item));
            }

            return(new StatsFeed()
            {
                Id = model.SteamId64,
                Stats = stats,
                Achievements = achievements,
                Client = client
            });
        }