static void UpdateChecksTask(ItemLocationMap itemLocationMap) { var locations = itemLocationMap .Where(l => l.IsPickedUp && !(l is ExternalItemLocation)) .Select(l => LocationMap.GetLocationId(l.Key)) .ToArray(); ReconnectIfNeeded(); session.Locations.CompleteLocationChecks(locations); }
void MarkCheckedLocations(ReadOnlyCollection <long> locationsChecked) { foreach (var locationId in locationsChecked) { if (TryGetValue(LocationMap.GetItemkey(locationId), out var location)) { if (location.ItemInfo is ArchipelagoRemoteItem) { location.IsPickedUp = true; } } } }
bool TryGetLocation(NetworkItem networkItem, out ItemLocation location) { try { location = this[LocationMap.GetItemkey(networkItem.Location)]; return(true); } catch { location = null; return(false); } }