public IGrabableItem CreateContainer(ContainerItemData container)
        {
            container.Processed = true;
            var initializator = new ContainerInitializer
            {
                content = container
                          .GetEnumerator(builder.Data)
                          .Select(x => CreateItem(x, CurrentTile))
                          .ToArray()
            };

            return(builder.ContainerFactories[descriptor.InCategoryIndex].Create(initializator));
        }
Exemple #2
0
        public IGrabableItem CreateContainer(ContainerItemData container)
        {
            container.Processed = true;
            var initializator = new ContainerInitializer
            {
                content = container
                          .GetEnumerator(builder.Data)
                          .Select(x =>
                {
                    var savedDescriptor = currentDescriptor;
                    var res             = CreateItem(x);//overrides currentDescriptor variable
                    currentDescriptor   = savedDescriptor;
                    return(res);
                })
                          .ToArray()
            };

            return(builder.Factories.ContainerFactories[currentDescriptor.InCategoryIndex].Create(initializator));
        }