public static void ServerSendItemsNotification(
            ICharacter character,
            Dictionary <IProtoItem, int> itemsChangedCount)
        {
            if (itemsChangedCount.Count == 0)
            {
                return;
            }

            var needToSend = false;

            foreach (var pair in itemsChangedCount)
            {
                if (pair.Value != 0)
                {
                    needToSend = true;
                    break;
                }
            }

            if (!needToSend)
            {
                // no actual changes done
                return;
            }

            var data = new UINotificationItemRemoteCallData(itemsChangedCount);

            Instance.CallClient(
                character,
                _ => _.ClientRemote_ShowItemsNotification(data));
        }
 private void ClientRemote_ShowItemsNotification(UINotificationItemRemoteCallData data)
 {
     ClientShowItemsNotification(data.ItemsChangedCount);
 }