示例#1
0
 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);
             }
         }
     }
 }
示例#2
0
 public void JoinContainerItem(JoinContainerItemEvent e, SimpleContainerContentItemNode containerContentItemNode, [JoinByContainer] ContainerMarketItemWithGroupNode container)
 {
     e.ContainerEntity = container.Entity;
 }