Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
 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);
 }