/// <summary> Refreshes the cached values. </summary> /// <param name="force"> (Optional) true to force, false to only refresh if necessary. </param> public void Refresh(bool force = false) { if (!force && _lastRefresh == _container.SnapshotToken) { return; } _lastRefresh = _container.SnapshotToken; for (int i = 0; i < _container.Slots.Count; i++) { var slot = _container.Slots[i]; int count = _inventoryCounter.GetDisplayCount(slot); if (slot.Model != null) { _items[i] = new ItemSlotViewModel(slot.Model.Name, count.ToString(), slot.Model.Resource); } else { _items[i] = new ItemSlotViewModel("<>", "-", null); } } }
/// <inheritdoc /> public void ForceSnapshot() { SnapshotToken = SnapshotToken.Next(); }