public async Task <DestinyPlayerData> GetPlayerDataAsync(DestinyPlayer player) { var bungie = new BungieService(Shared.SharedData.BungieApiKey); int platform = player.MembershipType; var accountId = player.MembershipId; var destinyProfile = await bungie.GetDestinyProfile(platform, accountId); int mode = 5; await bungie.DownloadDestinyManifest(); var nameplates = new List <CharacterNameplateViewModel>(); var activityHistoryLists = new List <List <PgcrCardViewModel> >(); var characterIds = destinyProfile.Data.CharacterIds; for (int i = 0; i < characterIds.Count; i++) { var characterId = destinyProfile.Data.CharacterIds[i]; var history = await bungie.GetActivityHistory(platform, accountId, characterId, mode); var character = await bungie.GetDestinyCharacter(platform, accountId, characterId); var nameplate = new CharacterNameplateViewModel { ElementVisibility = Visibility.Visible, ClassName = (await bungie.GetDestinyClassDefinitionAsync(character.Data.ClassHash)).DisplayProperties.Name, Race = (await bungie.GetDestinyRaceDefinitionAsync(character.Data.RaceHash)).DisplayProperties.Name, Gender = (await bungie.GetDestinyGenderDefinitionAsync(character.Data.GenderHash)).DisplayProperties.Name, Level = character.Data.BaseCharacterLevel, Power = character.Data.Light }; var emblemBrush = new ImageBrush(); emblemBrush.ImageSource = await bungie.GetDestinyImage(character.Data.EmblemBackgroundPath); nameplate.Emblem = emblemBrush; var historyList = new List <PgcrCardViewModel>(); foreach (var pgcr in history) { historyList.Add(new PgcrCardViewModel { Pgcr = pgcr, CharacterId = characterId }); } nameplates.Add(nameplate); activityHistoryLists.Add(historyList); } return(new DestinyPlayerData { CharacterNameplates = nameplates, ActivityHistoryLists = activityHistoryLists, CharacterIDs = characterIds, MembershipID = player.MembershipId, MembershipType = player.MembershipType }); }
public PlayerSearchResultViewModel(DestinyPlayer player) { Player = player; Username = player.DisplayName; switch (player.MembershipType) { case 1: PlatformColor = Color.FromArgb(255, 16, 124, 16); PlatformIcon = new BitmapImage(new Uri("ms-appx:///Resources/Xbox.png")); break; case 2: PlatformColor = Color.FromArgb(255, 0, 55, 145); PlatformIcon = new BitmapImage(new Uri("ms-appx:///Resources/PS4.png")); break; case 4: PlatformColor = Color.FromArgb(255, 3, 135, 209); PlatformIcon = new BitmapImage(new Uri("ms-appx:///Resources/PC.png")); break; default: PlatformColor = Color.FromArgb(255, 128, 128, 128); PlatformIcon = new BitmapImage(new Uri("ms-appx:///Resources/Unknown.png")); break; } }
private async void OnPlayerSelected(object sender, DestinyPlayer player) { var data = await GetPlayerDataAsync(player); ActivityHistoryPane.PopulateActivityHistory(data); CharacterSwitcher.PopulateNameplates(data); SettingsDialog.PlayerData = data; SearchPane.IsNarrowVisible = false; }
public void OnPlayerSelected(DestinyPlayer player) { PlayerSelected?.Invoke(this, player); }
private async Task <DestinyPlayerData> GetPlayerDataAsync(DestinyPlayer player) { var appService = new AppService(); return(await appService.GetPlayerDataAsync(player)); }