public void JoinMarketItem(NodeAddedEvent e, [Combine] SingleNode <MarketItemComponent> marketItemNode, [Combine] SimpleContainerContentItemNode containerContentItemNode, [JoinByContainer] ContainerMarketItemWithGroupNode container) { if (containerContentItemNode.simpleContainerContentItem.MarketItemId.Equals(marketItemNode.Entity.Id)) { if (!marketItemNode.Entity.HasComponent <ContainerContentItemGroupComponent>()) { containerContentItemNode.containerContentItemGroup.Attach(marketItemNode.Entity); } else { Entity entity = Flow.Current.EntityRegistry.GetEntity(marketItemNode.Entity.GetComponent <ContainerContentItemGroupComponent>().Key); JoinContainerItemEvent eventInstance = new JoinContainerItemEvent(); base.ScheduleEvent(eventInstance, entity); if (container.itemsContainerItem.Items.Count < eventInstance.ContainerEntity.GetComponent <ItemsContainerItemComponent>().Items.Count) { entity.GetComponent <ContainerContentItemGroupComponent>().Detach(marketItemNode.Entity); containerContentItemNode.containerContentItemGroup.Attach(marketItemNode.Entity); } } } }
public void JoinContainerItem(JoinContainerItemEvent e, SimpleContainerContentItemNode containerContentItemNode, [JoinByContainer] ContainerMarketItemWithGroupNode container) { e.ContainerEntity = container.Entity; }