Example #1
0
        public void TestAddStackItem()
        {
            ItemContainer.Add(StackedItem0);
            Assert.AreEqual(ItemContainer.Count, 1);
            Assert.AreEqual(ItemContainer.TotalCount, 1);

            ItemContainer.Add(StackedItem1);
            Assert.AreEqual(ItemContainer.Count, 1);
            Assert.AreEqual(ItemContainer.TotalCount, 2);
            Assert.AreEqual(ItemContainer.GetItem(e => e.Get <ReferenceId>() == StackedItem0.Get <ReferenceId>()).Get <Item>().Amount, 2);
        }
Example #2
0
        public void TestDropStackedItem()
        {
            StackedItem0.Get <Item>().Amount = 5;

            PickUp(StackedItem0, 5);

            Assert.AreEqual(1, Entity.Get <ItemContainerComponent>().Count);
            Assert.AreEqual(5, Entity.Get <ItemContainerComponent>().TotalCount);

            Drop(StackedItem0, 2);

            Assert.AreEqual(1, Entity.Get <ItemContainerComponent>().Count);
            Assert.AreEqual(3, Entity.Get <ItemContainerComponent>().TotalCount);

            var dropped = Level.GetEntitiesAt(Entity.Get <GameObject>().Location).Where(e => e.Has <Item>() && !Entity.Get <ItemContainerComponent>().Contains(e)).First();

            Assert.AreEqual(2, dropped.Get <Item>().Amount);
            Assert.AreNotSame(dropped, StackedItem0);
        }
Example #3
0
        public void TestPickUpStacked()
        {
            StackedItem0.Get <Item>().Amount = 3;
            StackedItem1.Get <Item>().Amount = 3;

            PickUp(StackedItem0, 3);

            Assert.AreEqual(1, Entity.Get <ItemContainerComponent>().Count);
            Assert.AreEqual(3, Entity.Get <ItemContainerComponent>().TotalCount);

            PickUp(StackedItem1);

            Assert.AreEqual(1, Entity.Get <ItemContainerComponent>().Count);
            Assert.AreEqual(4, Entity.Get <ItemContainerComponent>().TotalCount);
            Assert.AreEqual(4, StackedItem0.Get <Item>().Amount);
            Assert.AreEqual(2, StackedItem1.Get <Item>().Amount);

            PickUp(StackedItem1, 2);

            Assert.AreEqual(6, StackedItem0.Get <Item>().Amount);
        }