public Character GetCharacter(DestinyCharacterResponse component) { var charComponent = component.Character.Data; var character = new Character() { MembershipId = charComponent.MembershipId, DateLastPlayed = charComponent.DateLastPlayed, TotalPlaytime = TimeSpan.FromMinutes(charComponent.MinutesPlayedTotal), Light = charComponent.Light, Mobility = charComponent.Stats[2996146975], Resilience = charComponent.Stats[392767087], Recovery = charComponent.Stats[1943323491], Gender = charComponent.GenderType, Class = charComponent.ClassType, Race = charComponent.RaceType, Equipment = new List <Item>() }; var itemFactory = new ItemFactory(); var items = new List <Item>(); foreach (var item in component.Equipment.Data.Items) { items.Add(itemFactory.GetItem(charComponent.MembershipType, charComponent.MembershipId, item.ItemHash, (long)item.ItemInstanceId)); } character.Equipment = items; return(character); }
public static async Task <Character> BuildCharacter(long id, DestinyCharacterResponse character) { var manifest = App.provider.GetService(typeof(IManifest)) as IManifest; var classTask = manifest.LoadClass(character.Character.Data.ClassHash); var inventoryTask = Inventory.BuildCharacterInventory(character); await Task.WhenAll(new Task[] { classTask, inventoryTask }); return(new Character(id, classTask.Result, character.Character.Data.Light, inventoryTask.Result)); }
public static async Task <Inventory> BuildVaultInventory(DestinyCharacterResponse character) { if (character.Inventory == null || character.Inventory.Data == null) { return(null); } var manifest = App.provider.GetService(typeof(IManifest)) as IManifest; //var classTask = manifest.LoadClass(character.Inventory.Data); var vaultItems = await ParseItems(character.Equipment.Data.Items, manifest); return(new Inventory(null, null, vaultItems)); }
public async Task UpdateInventory(DestinyCharacterResponse character) { Inventory = await Inventory.BuildCharacterInventory(character); }
public void Test04_GetCharacter(long destinyMembershipId, long characterId) { DestinyCharacterResponse character = _client.Destiny2.GetCharacter(BungieMembershipType.TigerPsn, destinyMembershipId, characterId, DestinyComponentTypes.Profile); }