void SyncInventory() { if (ShowAllItems) { InteractiveItemTable.Clear(); foreach (var item in Inventory.Instance.AllItems) { ARInteractiveCollectibleItem _tblItem = null; _tblItem = AddCollectibleItem(item.Collectible, () => { var callbacks = m_collectibleCallbacks .Where(kkv => kkv.Value.ContainsKey(item.Collectible.Id)) .Select(kkv => kkv.Value[item.Collectible.Id]); if (callbacks != null && callbacks.Count() > 0) { _tblItem.Success(); foreach (var c in callbacks.ToArray()) { c(); } if (OnSuccess != null) { OnSuccess.Invoke(); } } else { _tblItem.Fail(); if (OnFail != null) { OnFail.Invoke(); } } }); } } SetHasItems(); }