Пример #1
0
        /// <summary>
        /// Finalizes the instance.
        /// </summary>
        public void Flush()
        {
            // Set references to this object
            Compound.Instance = this;
            foreach (var instanceElement in
                     Bots.AsEnumerable <InstanceElement>()
                     .Concat(Pods.AsEnumerable <InstanceElement>())
                     .Concat(Elevators.AsEnumerable <InstanceElement>())
                     .Concat(InputStations.AsEnumerable <InstanceElement>())
                     .Concat(OutputStations.AsEnumerable <InstanceElement>())
                     .Concat(Waypoints.AsEnumerable <InstanceElement>())
                     .Concat(ItemDescriptions.AsEnumerable <InstanceElement>())
                     .Concat(ItemBundles.AsEnumerable <InstanceElement>()))
            {
                instanceElement.Instance = this;
            }

            //TODO:why is the code below commented out??

            //// Generate Waypointgraph
            //WaypointGraph = new WaypointGraph();
            //foreach (var waypoint in Waypoints)
            //{
            //    WaypointGraph.Add(waypoint);
            //}
        }
Пример #2
0
        /// <summary>
        /// Creates a bundle of items.
        /// </summary>
        /// <param name="itemDescription">An element describing the characteristics of the item.</param>
        /// <param name="count">The number of items in the bundle.</param>
        /// <returns>A bundle of items.</returns>
        public ItemBundle CreateItemBundle(ItemDescription itemDescription, int count)
        {
            // Create bundle
            ItemBundle bundle = null;

            switch (itemDescription.Type)
            {
            case ItemType.Letter: { bundle = new ColoredLetterBundle(this); } break;

            case ItemType.SimpleItem: { bundle = new SimpleItemBundle(this); } break;

            default: throw new ArgumentException("Unknown item type: " + itemDescription.Type);
            }
            bundle.ID              = _itemBundleID++;
            bundle.Instance        = this;
            bundle.ItemDescription = itemDescription;
            bundle.ItemCount       = count;
            ItemBundles.Add(bundle);
            // Return the filled bundle
            return(bundle);
        }