public void CreateContainerContentItems(NodeAddedEvent e, ContainerItemWithGroupNode container, [JoinByContainer] ICollection <SingleNode <ContainerContentItemComponent> > containerContentItems) { if (containerContentItems.Count <= 0) { this.CreateContainerContentItems(container.itemsContainerItem.Items, container, false); if ((container.itemsContainerItem.RareItems != null) && (container.itemsContainerItem.RareItems.Count > 0)) { this.CreateContainerContentItems(container.itemsContainerItem.RareItems, container, true); } } }
private void CreateContainerContentItems(List <ContainerItem> containerItems, ContainerItemWithGroupNode container, bool isRare) { int num = 0; if (isRare) { num = 100; } foreach (ContainerItem item in containerItems) { Entity entity = base.CreateEntity("ContainerContentItem"); entity.AddComponent <ContainerContentItemComponent>(); OrderItemComponent component = new OrderItemComponent { Index = ++num }; entity.AddComponent(component); if (isRare) { entity.AddComponent <RareContainerContentItemComponent>(); } DescriptionBundleItemComponent component3 = new DescriptionBundleItemComponent { Names = container.descriptionBundleItem.Names }; entity.AddComponent(component3); if (item.ItemBundles.Count == 1) { SimpleContainerContentItemComponent component5 = new SimpleContainerContentItemComponent { MarketItemId = item.ItemBundles[0].MarketItem, NameLokalizationKey = item.NameLocalizationKey }; entity.AddComponent(component5); } else { BundleContainerContentItemComponent component7 = new BundleContainerContentItemComponent { MarketItems = item.ItemBundles, NameLokalizationKey = item.NameLocalizationKey }; entity.AddComponent(component7); } entity.CreateGroup <ContainerContentItemGroupComponent>(); container.containerGroup.Attach(entity); } }