private void ApplySaveDataEquipments(EquipmentSaveSlotInfo saveSlotEquipments) { foreach (EquipmentGroupViewModel group in AllEquipments) { foreach (EquipmentViewModel equipment in group.Equipments) { equipment.IsPossessed = false; GameEquipment foundGameEquipmentFromMasterData = gameEquipments.FirstOrDefault(x => x.Name == Localization.Get(equipment.Name)); if (foundGameEquipmentFromMasterData == null) { Console.WriteLine($"Missing equipment from master data: {equipment.Name}"); } else { Equipment n = saveSlotEquipments.Equipment .FirstOrDefault(x => IsMatch(x, foundGameEquipmentFromMasterData)); if (n != null) { equipment.IsPossessed = true; } } } } ComputeVisibility(); }
private async Task ImportInternal() { if (gameEquipments == null) { gameEquipments = LoadGameEquipments(); if (gameEquipments == null) { return; } } EquipmentSaveSlotInfo selected = await SaveDataUtils.GetEquipmentSaveSlot(saveSlotInfoSelector); if (selected == null) { return; } ApplySaveDataEquipments(selected); }