public void TestGetAllInteractables()
    {
        WorldItemFactory factory = new WorldItemFactory();
        Dictionary <string, List <GameObject> > allLandItems  = factory.GetAllInteractableItemsByDistrict(false, false);
        Dictionary <string, List <GameObject> > allWaterItems = factory.GetAllInteractableItemsByDistrict(false, true);

        List <string> districts = new List <string> {
            "business", "residential", "shopping"
        };
        List <int> landItemCounts = new List <int> {
            13, 13, 15
        };
        List <int> waterItemCounts = new List <int> {
            10, 9, 10
        };

        int current = 0;

        foreach (string district in districts)
        {
            Assert.IsTrue(districts.Contains(district));
            Assert.AreEqual(allLandItems[district].Count, landItemCounts[current]);
            Assert.AreEqual(allWaterItems[district].Count, waterItemCounts[current]);
            ++current;
        }
    }
    public void CreatePickUpInteractableItemTest()
    {
        WorldItemFactory factory     = new WorldItemFactory();
        ItemFactory      itemFactory = new ItemFactory();

        GameObject item       = factory.CreatePickUpInteractableItem(itemFactory.GetBaseItem("River Reed"), 1);
        PickUpItem pickupItem = item.GetComponent <PickUpItem>();

        Assert.AreNotEqual(pickupItem, null);
        Assert.AreEqual(pickupItem.name, "River Reed");
        Assert.AreEqual(pickupItem.Amount, 1);
    }
        /// <inheritdoc />
        protected override Task HandleSubMessage(IPeerMessageContext <PSOBBGamePacketPayloadClient> context, Sub60DropInventoryItemCommand command)
        {
            if (this.Logger.IsDebugEnabled)
            {
                Logger.Debug($"Encountered ItemDrop ClientId: {command.Identifier} Unknown1: {command.Unknown1} Unknown2: {command.Unknown2} ZoneId: {command.ZoneId} Position: {command.Position} ItemId: {command.ItemId}");
            }

            //Create a network item in the world for others to see
            INetworkItem item = WorldItemFactory.CreateEntity(command.ItemId, UnitScaler.Scale(command.Position), Quaternion.identity);

            return(Task.CompletedTask);
        }