/// <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);
                }
            }
        }
Esempio n. 2
0
 /// <inheritdoc />
 public void ForceSnapshot()
 {
     SnapshotToken = SnapshotToken.Next();
 }