Example #1
0
 public static void Load(PlayerOfflineGearDataBlock block)
 {
     if (TryParse(block, out var gear) &&
         TryStash(gear))
     {
         Log.Verbose($"Loaded offline gear [{block.persistentID}] {block.name}");
     }
 }
Example #2
0
        private static bool TryParse(PlayerOfflineGearDataBlock block, out OfflineGear result)
        {
            switch (block.Type)
            {
            case eOfflineGearType.StandardInventory:
            case eOfflineGearType.RundownSpecificInventory:
                result = new OfflineGear(block);
                return(true);

            default:
                result = null;
                Log.Warn($"Unimplemented Offline Gear Type [{block.persistentID}] {block.Type}");
                return(false);
            }
        }
Example #3
0
        private OfflineGear(PlayerOfflineGearDataBlock block)
        {
            if (TryParseGearJson(block.GearJSON, out gearIDRange))
            {
                gearIDRange.PlayfabItemId         = block.name;
                gearIDRange.PlayfabItemInstanceId = $"OfflineGear_ID_{block.persistentID}";
                gearIDRange.OfflineGearType       = block.Type;
            }

            if (TryParseGearID(gearIDRange, out itemData, out inventorySlot))
            {
                persistentID = block.persistentID;
            }
            else
            {
                Log.Warn($"Unable to construct Offline Gear [{block.persistentID}] {block.name}");
            }
        }