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); }
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); }
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); }