Ejemplo n.º 1
0
        private IEnumerator UpdateItemStatus(InventoryItem item, ItemAction action, ItemHandle handle)
        {
            WWWForm form = new WWWForm();

            form.AddField("id", item.ID);
            form.AddField("action", action.ToString());

            UnityWebRequest www = UnityWebRequest.Post("https://dev3r02.elysium.today/inventory/status", form);

            www.SetRequestHeader("Authorization", "BMeHG5xqJeB4qCjpuJCTQLsqNGaqkfB6");
            www.timeout = 2; //introduced after server crash on 21 Sep
            yield return(www.SendWebRequest());

            if (www.isNetworkError || www.isHttpError)
            {
                Debug.Log(www.error);
            }
            else
            {
                switch (action)
                {
                case ItemAction.put:
                    item.ConnectToHandle(handle.Item);
                    Items.Add(item);
                    handle.CurrentItem = item;
                    ItemPutEvent?.Invoke(item.ID);
                    break;

                case ItemAction.pull:
                    item.ReleaseHandle();
                    Items.Remove(item);
                    handle.CurrentItem = null;
                    ItemPullEvent?.Invoke(item.ID);
                    break;

                default:
                    break;
                }

                Debug.Log(www.downloadHandler.text);
            }
        }
Ejemplo n.º 2
0
 private ItemMeta CreateItemMeta <T>(ItemHandle itemHandle, string displayName, int defaultWeight = 1, ItemFlags flags = ItemFlags.None) where T : IItem
 {
     return(this.CreateItemMeta <T>(itemHandle.ToString(), displayName, defaultWeight, flags));
 }
 private void AddHandleInDictionary(CompressedKey key, ItemHandle handle)
 {
     lock (_itemsLock)
     {
         ItemHandle addingHandle = handle.Clone();
         ItemHandle existingHandle;
         if (_items.TryGetValue(key, out existingHandle))
         {
             existingHandle.Dispose();
         }
         _items[key] = addingHandle;
     }
 }
        public ICompressedItemHandle Commit(ICompressedItemBuilder builder)
        {
            var itemBuilder = (ItemBuilder)builder;
            CompressedKey key = itemBuilder.Key;
            var item = new Item
            {
                PhysicalPath = itemBuilder.PhysicalPath,
                CompressedLength = itemBuilder.Stream.Length
            };
            itemBuilder.Stream.Close();

            var handle = new ItemHandle(item);
            AddHandleInDictionary(key, handle);
            return handle;
        }
Ejemplo n.º 5
0
 public static IItem CreateItem(this IItemFactory itemFactory, ItemHandle itemHandle, int amount)
 {
     return(itemFactory.CreateItem(itemHandle.ToString(), amount));
 }
Ejemplo n.º 6
0
 public static ICollection <IItem> GetItems(this IInventory inventory, ItemHandle handle)
 {
     return(inventory.GetItems(handle.ToString()));
 }