public static DroppedItemContainer Drop(
        string prefab,
        Vector3 pos,
        Quaternion rot,
        params ItemContainer[] containers)
    {
        int num = 0;

        for (int index = 0; index < containers.Length; ++index)
        {
            ItemContainer container = containers[index];
            num += container.itemList != null ? container.itemList.Count : 0;
        }
        if (num == 0)
        {
            return((DroppedItemContainer)null);
        }
        BaseEntity entity = GameManager.server.CreateEntity(prefab, pos, rot, true);

        if (Object.op_Equality((Object)entity, (Object)null))
        {
            return((DroppedItemContainer)null);
        }
        DroppedItemContainer droppedItemContainer = entity as DroppedItemContainer;

        if (Object.op_Inequality((Object)droppedItemContainer, (Object)null))
        {
            droppedItemContainer.TakeFrom(containers);
        }
        droppedItemContainer.Spawn();
        return(droppedItemContainer);
    }
    public static DroppedItemContainer Drop(string prefab, Vector3 pos, Quaternion rot, params ItemContainer[] containers)
    {
        int num = 0;

        for (int i = 0; i < (int)containers.Length; i++)
        {
            ItemContainer itemContainer = containers[i];
            num = num + (itemContainer.itemList != null ? itemContainer.itemList.Count : 0);
        }
        if (num == 0)
        {
            return(null);
        }
        BaseEntity baseEntity = GameManager.server.CreateEntity(prefab, pos, rot, true);

        if (baseEntity == null)
        {
            return(null);
        }
        DroppedItemContainer droppedItemContainer = baseEntity as DroppedItemContainer;

        if (droppedItemContainer != null)
        {
            droppedItemContainer.TakeFrom(containers);
        }
        droppedItemContainer.Spawn();
        return(droppedItemContainer);
    }
Example #3
0
    public static DroppedItemContainer Drop(string prefab, Vector3 pos, Quaternion rot, params ItemContainer[] containers)
    {
        int num = 0;

        foreach (ItemContainer itemContainer in containers)
        {
            num += ((itemContainer.itemList != null) ? itemContainer.itemList.Count : 0);
        }
        if (num == 0)
        {
            return(null);
        }
        BaseEntity baseEntity = GameManager.server.CreateEntity(prefab, pos, rot);

        if (baseEntity == null)
        {
            return(null);
        }
        DroppedItemContainer droppedItemContainer = baseEntity as DroppedItemContainer;

        if (droppedItemContainer != null)
        {
            droppedItemContainer.TakeFrom(containers);
        }
        droppedItemContainer.Spawn();
        return(droppedItemContainer);
    }
Example #4
0
        private void DropRecyclerContents(BaseEntity e)
        {
            if (e is Recycler && this.IsRecycleBox(e))
            {
                Recycler r = e as Recycler;
                if ((r?.inventory?.itemList?.Count ?? 0) == 0)
                {
                    return;
                }

                BasePlayer p = this.PlayerFromRecycler(r.net.ID);
                if (p == null)
                {
                    return;
                }
                this.PrintToChat(p, this.GetMessage("Recycle", "Dropped", p));

                List <Item> items = r.inventory.itemList.ToList();

                if (this.Data.Settings.InventoryBeforeBag)
                {
                    for (int i = 0; i < items.Count; i++)
                    {
                        Item item = items[i];

                        bool flag = false;
                        if (!p.inventory.containerMain.IsFull())
                        {
                            flag = item.MoveToContainer(p.inventory.containerMain);
                        }
                        if (!flag && !p.inventory.containerBelt.IsFull())
                        {
                            item.MoveToContainer(p.inventory.containerBelt);
                        }

                        if (flag)
                        {
                            items.RemoveAt(i);
                            i--;
                        }
                    }
                }

                if (items.Count == 0)
                {
                    return;
                }

                DroppedItemContainer bag = GameManager.server.CreateEntity(Recycle.BackpackPrefab, p.transform.position + Vector3.up, Quaternion.identity) as DroppedItemContainer;
                bag.enableSaving = false;
                bag.TakeFrom(r.inventory);
                bag.Spawn();
                bag.lootPanelName = "smallwoodbox";
                bag.playerSteamID = p.userID;
                this.DroppedBags.Add(bag.net.ID, new EntityAndPlayer {
                    Entity = bag, Player = p
                });
            }
        }
    public DroppedItemContainer Drop(string prefab, Vector3 pos, Quaternion rot)
    {
        if ((this.itemList != null ? !(bool)this.itemList.Count : true))
        {
            return(null);
        }
        BaseEntity baseEntity = GameManager.server.CreateEntity(prefab, pos, rot, true);

        if (baseEntity == null)
        {
            return(null);
        }
        DroppedItemContainer droppedItemContainer = baseEntity as DroppedItemContainer;

        if (droppedItemContainer != null)
        {
            droppedItemContainer.TakeFrom(new ItemContainer[] { this });
        }
        droppedItemContainer.Spawn();
        return(droppedItemContainer);
    }
    public DroppedItemContainer Drop(string prefab, Vector3 pos, Quaternion rot)
    {
        if ((this.itemList != null ? this.itemList.Count : 0) == 0)
        {
            return((DroppedItemContainer)null);
        }
        BaseEntity entity = GameManager.server.CreateEntity(prefab, pos, rot, true);

        if (Object.op_Equality((Object)entity, (Object)null))
        {
            return((DroppedItemContainer)null);
        }
        DroppedItemContainer droppedItemContainer = entity as DroppedItemContainer;

        if (Object.op_Inequality((Object)droppedItemContainer, (Object)null))
        {
            droppedItemContainer.TakeFrom(this);
        }
        droppedItemContainer.Spawn();
        return(droppedItemContainer);
    }
Example #7
0
    public DroppedItemContainer Drop(string prefab, Vector3 pos, Quaternion rot)
    {
        if (itemList == null || itemList.Count == 0)
        {
            return(null);
        }
        BaseEntity baseEntity = GameManager.server.CreateEntity(prefab, pos, rot);

        if (baseEntity == null)
        {
            return(null);
        }
        DroppedItemContainer droppedItemContainer = baseEntity as DroppedItemContainer;

        if (droppedItemContainer != null)
        {
            droppedItemContainer.TakeFrom(this);
        }
        droppedItemContainer.Spawn();
        return(droppedItemContainer);
    }