Exemple #1
0
 private async Task OnGetPrimaryItems(IReadOnlyList <IStorageItem> items)
 {
     foreach (StorageFile item in items)
     {
         PrimaryItems.Add(await CustomItemFactory.Create(item));
     }
 }
Exemple #2
0
 private async void OnGetSecondaryItems(IReadOnlyList <IStorageItem> items)
 {
     foreach (StorageFile item in items)
     {
         SecondaryItems.Add(await CustomItemFactory.Create(item));
     }
 }
 public async Task OnGetStorageItem(IReadOnlyList <IStorageItem> items)
 {
     foreach (StorageFile item in items)
     {
         Items.Add(await CustomItemFactory.Create(item));
     }
 }
 private async Task OnGetStorageItems(IReadOnlyList <IStorageItem> items)
 {
     foreach (StorageFile item in items)
     {
         Items.Add(await CustomItemFactory.Create(item));
     }
     listview.AllowDrop = !Items.Any();
 }
Exemple #5
0
        private async Task OnGetStorageItems(IReadOnlyList <IStorageItem> items)
        {
            foreach (StorageFile item in items)
            {
                Items.Add(await CustomItemFactory.Create(item));
            }

            DragMask.Visibility = Visibility.Collapsed;
        }
        private async void OnGetStorageItem(IReadOnlyList <IStorageItem> items)
        {
            foreach (StorageFile item in items)
            {
                Items.Add(await CustomItemFactory.Create(item));
            }

            ShowDragMask = false;
        }
        private async Task InsertItems(DataPackageView dataview, ObservableCollection <CustomItem> target)
        {
            if (dataview.Contains(StandardDataFormats.StorageItems))
            {
                var items = await dataview.GetStorageItemsAsync();

                foreach (StorageFile item in items)
                {
                    target.Add(await CustomItemFactory.Create(item));
                }
            }
        }
        private async void ListView_Drop(object sender, Windows.UI.Xaml.DragEventArgs e)
        {
            var dataview = e.DataView;

            if (dataview.Contains(StandardDataFormats.StorageItems))
            {
                var storageItems = await dataview.GetStorageItemsAsync();

                foreach (StorageFile item in storageItems)
                {
                    Items.Add(await CustomItemFactory.Create(item));
                }
            }
        }
        /// <summary>
        /// Load custom animations from animation pane separated by click
        /// </summary>
        /// <returns>Queue of CustomClickItem</returns>
        private Queue <CustomItem> LoadCustomClickItems()
        {
            int clickNo = FirstClickNumber;
            Queue <CustomItem> customItems = new Queue <CustomItem>();
            List <Effect>      effects     = slide.TimeLine.MainSequence.Cast <Effect>().ToList();
            int  startIdx = 0;
            bool hasReachedEndOfSequence = effects.Count == 0;

            do
            {
                List <CustomEffect> customEffects = new List <CustomEffect>();
                for (int i = startIdx; i < effects.Count; i++)
                {
                    Effect effect = effects.ElementAt(i);
                    if (i > startIdx && effect.Timing.TriggerType == MsoAnimTriggerType.msoAnimTriggerOnPageClick)
                    {
                        startIdx = i;
                        break;
                    }
                    if (i == effects.Count - 1)
                    {
                        hasReachedEndOfSequence = true;
                    }
                    bool isCustomEffect = SelfExplanationTagService.ExtractTagNo(effect.Shape.Name) == -1;
                    if (isCustomEffect)
                    {
                        if (customEffects.Count == 0 && clickNo > 0)
                        {
                            effect.Timing.TriggerType = MsoAnimTriggerType.msoAnimTriggerOnPageClick;
                        }
                        customEffects.Add(new CustomEffect(effect.Shape.Name, effect.Shape.Id.ToString(),
                                                           EffectToAnimationTypeConverter.GetAnimationTypeOfEffect(effect)));
                    }
                }
                CustomItem customClickBlock =
                    new CustomItemFactory(customEffects).GetBlock() as CustomItem;
                if (customClickBlock != null)
                {
                    customClickBlock.ClickNo = clickNo;
                    customItems.Enqueue(customClickBlock);
                }
                clickNo++;
            }while (startIdx <= effects.Count - 1 && !hasReachedEndOfSequence);
            return(customItems);
        }
Exemple #10
0
        public static Item GetItem(int id, short metadata)
        {
            Item item = null;

            if (CustomItemFactory != null)
            {
                item = CustomItemFactory.GetItem(id, metadata);
            }

            if (item != null)
            {
                return(item);
            }

            if (id == 54)
            {
                item = new ItemChest(metadata);
            }
            else if (id == 44)
            {
                item = new ItemSlab(id, metadata);
            }
            else if (id == 61)
            {
                item = new ItemFurnace(metadata);
            }
            else if (id == 63)
            {
                item = new ItemSign(metadata);
            }
            else if (id == 68)
            {
                item = new ItemSign(metadata);
            }
            else if (id == 116)
            {
                item = new ItemEnchantingTable(metadata);
            }
            else if (id == 158)
            {
                item = new ItemSlab(id, metadata);
            }
            else if (id == 256)
            {
                item = new ItemIronShovel(metadata);
            }
            else if (id == 258)
            {
                item = new ItemIronAxe(metadata);
            }
            else if (id == 259)
            {
                item = new ItemFlintAndSteel(metadata);
            }
            else if (id == 260)
            {
                item = new ItemApple();
            }
            else if (id == 261)
            {
                item = new ItemBow(metadata);
            }
            else if (id == 263)
            {
                item = new ItemCoal(metadata);
            }
            else if (id == 267)
            {
                item = new ItemIronSword(metadata);
            }
            else if (id == 268)
            {
                item = new ItemWoodenSword(metadata);
            }
            else if (id == 269)
            {
                item = new ItemWoodenShovel(metadata);
            }
            else if (id == 270)
            {
                item = new ItemWoodenPickaxe(metadata);
            }
            else if (id == 271)
            {
                item = new ItemWoodenAxe(metadata);
            }
            else if (id == 272)
            {
                item = new ItemStoneSword(metadata);
            }
            else if (id == 273)
            {
                item = new ItemStoneShovel(metadata);
            }
            else if (id == 275)
            {
                item = new ItemStoneAxe(metadata);
            }
            else if (id == 276)
            {
                item = new ItemDiamondSword(metadata);
            }
            else if (id == 277)
            {
                item = new ItemDiamondShovel(metadata);
            }
            else if (id == 279)
            {
                item = new ItemDiamondAxe(metadata);
            }
            else if (id == 280)
            {
                item = new ItemStick(metadata);
            }
            else if (id == 283)
            {
                item = new ItemGoldSword(metadata);
            }
            else if (id == 284)
            {
                item = new ItemGoldShovel(metadata);
            }
            else if (id == 286)
            {
                item = new ItemGoldAxe(metadata);
            }
            else if (id == 290)
            {
                item = new ItemWoodenHoe(metadata);
            }
            else if (id == 291)
            {
                item = new ItemStoneHoe(metadata);
            }
            else if (id == 292)
            {
                item = new ItemIronHoe(metadata);
            }
            else if (id == 293)
            {
                item = new ItemDiamondHoe(metadata);
            }
            else if (id == 294)
            {
                item = new ItemGoldHoe(metadata);
            }
            else if (id == 297)
            {
                item = new ItemBread();
            }
            else if (id == 298)
            {
                item = new ItemLeatherHelmet(metadata);
            }
            else if (id == 299)
            {
                item = new ItemLeatherChestplate(metadata);
            }
            else if (id == 300)
            {
                item = new ItemLeatherLeggings(metadata);
            }
            else if (id == 301)
            {
                item = new ItemLeatherBoots(metadata);
            }
            else if (id == 302)
            {
                item = new ItemChainmailHelmet(metadata);
            }
            else if (id == 303)
            {
                item = new ItemChainmailChestplate(metadata);
            }
            else if (id == 304)
            {
                item = new ItemChainmailLeggings(metadata);
            }
            else if (id == 305)
            {
                item = new ItemChainmailBoots(metadata);
            }
            else if (id == 309)
            {
                item = new ItemIronBoots(metadata);
            }
            else if (id == 308)
            {
                item = new ItemIronLeggings(metadata);
            }
            else if (id == 307)
            {
                item = new ItemIronChestplate(metadata);
            }
            else if (id == 306)
            {
                item = new ItemIronHelmet(metadata);
            }
            else if (id == 310)
            {
                item = new ItemDiamondHelmet(metadata);
            }
            else if (id == 311)
            {
                item = new ItemDiamondChestplate(metadata);
            }
            else if (id == 312)
            {
                item = new ItemDiamondLeggings(metadata);
            }
            else if (id == 313)
            {
                item = new ItemDiamondBoots(metadata);
            }
            else if (id == 314)
            {
                item = new ItemGoldHelmet(metadata);
            }
            else if (id == 315)
            {
                item = new ItemGoldChestplate(metadata);
            }
            else if (id == 316)
            {
                item = new ItemGoldLeggings(metadata);
            }
            else if (id == 317)
            {
                item = new ItemGoldBoots(metadata);
            }
            else if (id == 319)
            {
                item = new ItemRawPorkchop(metadata);
            }
            else if (id == 320)
            {
                item = new ItemCookedPorkshop();
            }
            else if (id == 322)
            {
                item = new ItemGoldenApple();
            }
            else if (id == 323)
            {
                item = new ItemSign(metadata);
            }
            else if (id == 324)
            {
                item = new ItemDoor(metadata);
            }
            else if (id == 325)
            {
                item = new ItemBucket(metadata);
            }
            else if (id == 332)
            {
                item = new ItemSnowball(metadata);
            }
            else if (id == 344)
            {
                item = new ItemEgg(metadata);
            }
            else if (id == 355)
            {
                item = new ItemBed(metadata);
            }
            else if (id == 357)
            {
                item = new ItemCookie();
            }
            else if (id == 360)
            {
                item = new ItemMelonSlice();
            }
            else if (id == 363)
            {
                item = new ItemRawBeef();
            }
            else if (id == 364)
            {
                item = new ItemSteak();
            }
            else if (id == 365)
            {
                item = new ItemRawChicken();
            }
            else if (id == 366)
            {
                item = new ItemCoockedChicken();
            }
            else if (id == 383)
            {
                item = new ItemSpawnEgg(metadata);
            }
            else if (id == 391)
            {
                item = new ItemCarrot();
            }
            else if (id == 392)
            {
                item = new ItemPotato();
            }
            else if (id == 393)
            {
                item = new ItemBakedPotato();
            }
            else if (id == 400)
            {
                item = new ItemPumpkinPie();
            }
            else if (id <= 255)
            {
                Block block = BlockFactory.GetBlockById((byte)id);
                if (CustomBlockItemFactory == null)
                {
                    item = new ItemBlock(block, metadata);
                }
                else
                {
                    item = CustomBlockItemFactory.GetBlockItem(block, metadata);
                }
            }
            else
            {
                item = new Item(id, metadata);
            }

            return(item);
        }
Exemple #11
0
        public static Item GetItem(short id, short metadata = 0, int count = 1)
        {
            //if (id != 0 && count == 0) return null;

            Item item = null;

            if (CustomItemFactory != null)
            {
                item = CustomItemFactory.GetItem(id, metadata, count);
            }

            if (item != null)
            {
                return(item);
            }

            if (id == 0)
            {
                item = new ItemAir();
            }
            else if (id == 54)
            {
                item = new ItemChest();
            }
            else if (id == 44)
            {
                item = new ItemSlab(id, metadata);
            }
            else if (id == 61)
            {
                item = new ItemFurnace();
            }
            else if (id == 63)
            {
                item = new ItemSign();
            }
            else if (id == 68)
            {
                item = new ItemSign();
            }
            else if (id == 116)
            {
                item = new ItemEnchantingTable();
            }
            else if (id == 158)
            {
                item = new ItemSlab(id, metadata);
            }
            else if (id == 182)
            {
                item = new ItemSlab(id, metadata);
            }
            else if (id == 199)
            {
                item = new ItemItemFrame();
            }
            else if (id == 256)
            {
                item = new ItemIronShovel();
            }
            else if (id == 257)
            {
                item = new ItemIronPickaxe();
            }
            else if (id == 258)
            {
                item = new ItemIronAxe();
            }
            else if (id == 259)
            {
                item = new ItemFlintAndSteel();
            }
            else if (id == 260)
            {
                item = new ItemApple();
            }
            else if (id == 261)
            {
                item = new ItemBow();
            }
            else if (id == 262)
            {
                item = new ItemArrow();
            }
            else if (id == 263)
            {
                item = new ItemCoal();
            }
            else if (id == 267)
            {
                item = new ItemIronSword();
            }
            else if (id == 268)
            {
                item = new ItemWoodenSword();
            }
            else if (id == 269)
            {
                item = new ItemWoodenShovel();
            }
            else if (id == 270)
            {
                item = new ItemWoodenPickaxe();
            }
            else if (id == 271)
            {
                item = new ItemWoodenAxe();
            }
            else if (id == 272)
            {
                item = new ItemStoneSword();
            }
            else if (id == 273)
            {
                item = new ItemStoneShovel();
            }
            else if (id == 274)
            {
                item = new ItemStonePickaxe();
            }
            else if (id == 275)
            {
                item = new ItemStoneAxe();
            }
            else if (id == 276)
            {
                item = new ItemDiamondSword();
            }
            else if (id == 277)
            {
                item = new ItemDiamondShovel();
            }
            else if (id == 278)
            {
                item = new ItemDiamondPickaxe();
            }
            else if (id == 279)
            {
                item = new ItemDiamondAxe();
            }
            else if (id == 280)
            {
                item = new ItemStick();
            }
            else if (id == 283)
            {
                item = new ItemGoldSword();
            }
            else if (id == 284)
            {
                item = new ItemGoldShovel();
            }
            else if (id == 285)
            {
                item = new ItemGoldPickaxe();
            }
            else if (id == 286)
            {
                item = new ItemGoldAxe();
            }
            else if (id == 290)
            {
                item = new ItemWoodenHoe();
            }
            else if (id == 291)
            {
                item = new ItemStoneHoe();
            }
            else if (id == 292)
            {
                item = new ItemIronHoe();
            }
            else if (id == 293)
            {
                item = new ItemDiamondHoe();
            }
            else if (id == 294)
            {
                item = new ItemGoldHoe();
            }
            else if (id == 295)
            {
                item = new ItemWheatSeeds();
            }
            else if (id == 296)
            {
                item = new ItemWheat();
            }
            else if (id == 297)
            {
                item = new ItemBread();
            }
            else if (id == 298)
            {
                item = new ItemLeatherHelmet();
            }
            else if (id == 299)
            {
                item = new ItemLeatherChestplate();
            }
            else if (id == 300)
            {
                item = new ItemLeatherLeggings();
            }
            else if (id == 301)
            {
                item = new ItemLeatherBoots();
            }
            else if (id == 302)
            {
                item = new ItemChainmailHelmet();
            }
            else if (id == 303)
            {
                item = new ItemChainmailChestplate();
            }
            else if (id == 304)
            {
                item = new ItemChainmailLeggings();
            }
            else if (id == 305)
            {
                item = new ItemChainmailBoots();
            }
            else if (id == 309)
            {
                item = new ItemIronBoots();
            }
            else if (id == 308)
            {
                item = new ItemIronLeggings();
            }
            else if (id == 307)
            {
                item = new ItemIronChestplate();
            }
            else if (id == 306)
            {
                item = new ItemIronHelmet();
            }
            else if (id == 310)
            {
                item = new ItemDiamondHelmet();
            }
            else if (id == 311)
            {
                item = new ItemDiamondChestplate();
            }
            else if (id == 312)
            {
                item = new ItemDiamondLeggings();
            }
            else if (id == 313)
            {
                item = new ItemDiamondBoots();
            }
            else if (id == 314)
            {
                item = new ItemGoldHelmet();
            }
            else if (id == 315)
            {
                item = new ItemGoldChestplate();
            }
            else if (id == 316)
            {
                item = new ItemGoldLeggings();
            }
            else if (id == 317)
            {
                item = new ItemGoldBoots();
            }
            else if (id == 319)
            {
                item = new ItemRawPorkchop();
            }
            else if (id == 320)
            {
                item = new ItemCookedPorkshop();
            }
            else if (id == 322)
            {
                item = new ItemGoldenApple();
            }
            else if (id == 323)
            {
                item = new ItemSign();
            }
            else if (id == 324)
            {
                item = new ItemWoodenDoor();
            }
            else if (id == 325)
            {
                item = new ItemBucket(metadata);
            }
            else if (id == 331)
            {
                item = new ItemRedstone();
            }
            else if (id == 332)
            {
                item = new ItemSnowball();
            }
            else if (id == 344)
            {
                item = new ItemEgg();
            }
            else if (id == 345)
            {
                item = new ItemCompass();
            }
            else if (id == 352)
            {
                item = new ItemBone();
            }
            else if (id == 355)
            {
                item = new ItemBed();
            }
            else if (id == 357)
            {
                item = new ItemCookie();
            }
            else if (id == 358)
            {
                item = new ItemMap();
            }
            else if (id == 360)
            {
                item = new ItemMelonSlice();
            }
            else if (id == 363)
            {
                item = new ItemBeef();
            }
            else if (id == 364)
            {
                item = new ItemCookedBeef();
            }
            else if (id == 365)
            {
                item = new ItemRawChicken();
            }
            else if (id == 366)
            {
                item = new ItemCookedChicken();
            }
            else if (id == 373)
            {
                item = new ItemPotion(metadata);
            }
            else if (id == 380)
            {
                item = new ItemCauldron();
            }
            else if (id == 383)
            {
                item = new ItemSpawnEgg(metadata);
            }
            else if (id == 391)
            {
                item = new ItemCarrot();
            }
            else if (id == 392)
            {
                item = new ItemPotato();
            }
            else if (id == 393)
            {
                item = new ItemBakedPotato();
            }
            else if (id == 395)
            {
                item = new ItemEmptyMap();
            }
            else if (id == 397)
            {
                item = new ItemMobHead(metadata);
            }
            else if (id == 400)
            {
                item = new ItemPumpkinPie();
            }
            else if (id == 423)
            {
                item = new ItemMuttonRaw();
            }
            else if (id == 424)
            {
                item = new ItemMuttonCooked();
            }
            else if (id == 427)
            {
                item = new ItemSpruceDoor();
            }
            else if (id == 428)
            {
                item = new ItemBirchDoor();
            }
            else if (id == 429)
            {
                item = new ItemJungleDoor();
            }
            else if (id == 430)
            {
                item = new ItemAcaciaDoor();
            }
            else if (id == 431)
            {
                item = new ItemDarkOakDoor();
            }
            else if (id == 444)
            {
                item = new ItemElytra();
            }
            else if (id == 458)
            {
                item = new ItemBeetrootSeeds();
            }
            else if (id <= 255)
            {
                Block block = BlockFactory.GetBlockById((byte)id);
                if (CustomBlockItemFactory == null)
                {
                    item = new ItemBlock(block, metadata);
                }
                else
                {
                    item = CustomBlockItemFactory.GetBlockItem(block, metadata, count);
                }
            }
            else
            {
                item = new Item(id, metadata, count);
            }

            // This might now be a good idea if the constructor changes these
            // properties for custom items.
            item.Metadata = metadata;
            item.Count    = (byte)count;

            return(item);
        }
Exemple #12
0
        public static Item GetItem(short id, short metadata = 0, int count = 1)
        {
            Item item = null;

            if (CustomItemFactory != null)
            {
                item = CustomItemFactory.GetItem(id, metadata, count);
            }

            if (item != null)
            {
                return(item);
            }

            if (id == 0)
            {
                item = new ItemAir();
            }
            else if (id == 256)
            {
                item = new ItemIronShovel();
            }
            else if (id == 257)
            {
                item = new ItemIronPickaxe();
            }
            else if (id == 258)
            {
                item = new ItemIronAxe();
            }
            else if (id == 259)
            {
                item = new ItemFlintAndSteel();
            }
            else if (id == 260)
            {
                item = new ItemApple();
            }
            else if (id == 261)
            {
                item = new ItemBow();
            }
            else if (id == 262)
            {
                item = new ItemArrow();
            }
            else if (id == 263)
            {
                item = new ItemCoal();
            }
            else if (id == 264)
            {
                item = new ItemDiamond();
            }
            else if (id == 265)
            {
                item = new ItemIronIngot();
            }
            else if (id == 266)
            {
                item = new ItemGoldIngot();
            }
            else if (id == 267)
            {
                item = new ItemIronSword();
            }
            else if (id == 268)
            {
                item = new ItemWoodenSword();
            }
            else if (id == 269)
            {
                item = new ItemWoodenShovel();
            }
            else if (id == 270)
            {
                item = new ItemWoodenPickaxe();
            }
            else if (id == 271)
            {
                item = new ItemWoodenAxe();
            }
            else if (id == 272)
            {
                item = new ItemStoneSword();
            }
            else if (id == 273)
            {
                item = new ItemStoneShovel();
            }
            else if (id == 274)
            {
                item = new ItemStonePickaxe();
            }
            else if (id == 275)
            {
                item = new ItemStoneAxe();
            }
            else if (id == 276)
            {
                item = new ItemDiamondSword();
            }
            else if (id == 277)
            {
                item = new ItemDiamondShovel();
            }
            else if (id == 278)
            {
                item = new ItemDiamondPickaxe();
            }
            else if (id == 279)
            {
                item = new ItemDiamondAxe();
            }
            else if (id == 280)
            {
                item = new ItemStick();
            }
            else if (id == 283)
            {
                item = new ItemGoldenSword();
            }
            else if (id == 284)
            {
                item = new ItemGoldenShovel();
            }
            else if (id == 285)
            {
                item = new ItemGoldenPickaxe();
            }
            else if (id == 286)
            {
                item = new ItemGoldenAxe();
            }
            else if (id == 290)
            {
                item = new ItemWoodenHoe();
            }
            else if (id == 291)
            {
                item = new ItemStoneHoe();
            }
            else if (id == 292)
            {
                item = new ItemIronHoe();
            }
            else if (id == 293)
            {
                item = new ItemDiamondHoe();
            }
            else if (id == 294)
            {
                item = new ItemGoldenHoe();
            }
            else if (id == 295)
            {
                item = new ItemWheatSeeds();
            }
            else if (id == 296)
            {
                item = new ItemWheat();
            }
            else if (id == 297)
            {
                item = new ItemBread();
            }
            else if (id == 298)
            {
                item = new ItemLeatherHelmet();
            }
            else if (id == 299)
            {
                item = new ItemLeatherChestplate();
            }
            else if (id == 300)
            {
                item = new ItemLeatherLeggings();
            }
            else if (id == 301)
            {
                item = new ItemLeatherBoots();
            }
            else if (id == 302)
            {
                item = new ItemChainmailHelmet();
            }
            else if (id == 303)
            {
                item = new ItemChainmailChestplate();
            }
            else if (id == 304)
            {
                item = new ItemChainmailLeggings();
            }
            else if (id == 305)
            {
                item = new ItemChainmailBoots();
            }
            else if (id == 309)
            {
                item = new ItemIronBoots();
            }
            else if (id == 308)
            {
                item = new ItemIronLeggings();
            }
            else if (id == 307)
            {
                item = new ItemIronChestplate();
            }
            else if (id == 306)
            {
                item = new ItemIronHelmet();
            }
            else if (id == 310)
            {
                item = new ItemDiamondHelmet();
            }
            else if (id == 311)
            {
                item = new ItemDiamondChestplate();
            }
            else if (id == 312)
            {
                item = new ItemDiamondLeggings();
            }
            else if (id == 313)
            {
                item = new ItemDiamondBoots();
            }
            else if (id == 314)
            {
                item = new ItemGoldHelmet();
            }
            else if (id == 315)
            {
                item = new ItemGoldChestplate();
            }
            else if (id == 316)
            {
                item = new ItemGoldLeggings();
            }
            else if (id == 317)
            {
                item = new ItemGoldBoots();
            }
            else if (id == 319)
            {
                item = new ItemRawPorkchop();
            }
            else if (id == 320)
            {
                item = new ItemCookedPorkshop();
            }
            else if (id == 321)
            {
                item = new ItemPainting();
            }
            else if (id == 322)
            {
                item = new ItemGoldenApple();
            }
            else if (id == 323)
            {
                item = new ItemSign();
            }
            else if (id == 324)
            {
                item = new ItemWoodenDoor();
            }
            else if (id == 325)
            {
                item = new ItemBucket(metadata);
            }
            else if (id == 329)
            {
                item = new ItemSaddle();
            }
            else if (id == 331)
            {
                item = new ItemRedstone();
            }
            else if (id == 332)
            {
                item = new ItemSnowball();
            }
            else if (id == 333)
            {
                item = new ItemBoat(metadata);
            }
            else if (id == 340)
            {
                item = new ItemBook();
            }
            else if (id == 344)
            {
                item = new ItemEgg();
            }
            else if (id == 345)
            {
                item = new ItemCompass();
            }
            else if (id == 351)
            {
                item = new ItemDye();
            }
            else if (id == 352)
            {
                item = new ItemBone();
            }
            else if (id == 352)
            {
                item = new ItemSugar();
            }
            else if (id == 355)
            {
                item = new ItemBed();
            }
            else if (id == 357)
            {
                item = new ItemCookie();
            }
            else if (id == 358)
            {
                item = new ItemMap();
            }
            else if (id == 359)
            {
                item = new ItemShears();
            }
            else if (id == 360)
            {
                item = new ItemMelonSlice();
            }
            else if (id == 363)
            {
                item = new ItemBeef();
            }
            else if (id == 364)
            {
                item = new ItemCookedBeef();
            }
            else if (id == 365)
            {
                item = new ItemRawChicken();
            }
            else if (id == 366)
            {
                item = new ItemCookedChicken();
            }
            else if (id == 369)
            {
                item = new ItemBlazeRod();
            }
            else if (id == 371)
            {
                item = new ItemGoldNugget();
            }
            else if (id == 373)
            {
                item = new ItemPotion(metadata);
            }
            else if (id == 377)
            {
                item = new ItemBlazePowder();
            }
            else if (id == 380)
            {
                item = new ItemCauldron();
            }
            else if (id == 383)
            {
                item = new ItemMonsterEgg(metadata);
            }
            else if (id == 389)
            {
                item = new ItemFrame();
            }
            else if (id == 391)
            {
                item = new ItemCarrot();
            }
            else if (id == 392)
            {
                item = new ItemPotato();
            }
            else if (id == 393)
            {
                item = new ItemBakedPotato();
            }
            else if (id == 395)
            {
                item = new ItemEmptyMap();
            }
            else if (id == 395)
            {
                item = new ItemGoldenCarrot();
            }
            else if (id == 397)
            {
                item = new ItemMobHead(metadata);
            }
            else if (id == 400)
            {
                item = new ItemPumpkinPie();
            }
            else if (id == 401)
            {
                item = new ItemFireworks();
            }
            else if (id == 403)
            {
                item = new ItemEnchantedBook();
            }
            else if (id == 416)
            {
                item = new ItemHorseArmorLeather();
            }
            else if (id == 417)
            {
                item = new ItemHorseArmorIron();
            }
            else if (id == 418)
            {
                item = new ItemHorseArmorGold();
            }
            else if (id == 419)
            {
                item = new ItemHorseArmorDiamond();
            }
            else if (id == 423)
            {
                item = new ItemMuttonRaw();
            }
            else if (id == 424)
            {
                item = new ItemMuttonCooked();
            }
            else if (id == 427)
            {
                item = new ItemSpruceDoor();
            }
            else if (id == 428)
            {
                item = new ItemBirchDoor();
            }
            else if (id == 429)
            {
                item = new ItemJungleDoor();
            }
            else if (id == 430)
            {
                item = new ItemAcaciaDoor();
            }
            else if (id == 431)
            {
                item = new ItemDarkOakDoor();
            }
            else if (id == 444)
            {
                item = new ItemElytra();
            }
            else if (id == 446)
            {
                item = new ItemBanner();
            }
            else if (id == 452)
            {
                item = new ItemIronNugget();
            }
            else if (id == 454 && metadata == 0)
            {
                item = new ItemSlate();
            }
            else if (id == 454 && metadata == 1)
            {
                item = new ItemPoster();
            }
            else if (id == 454 && metadata == 2)
            {
                item = new ItemBoard();
            }
            else if (id == 458)
            {
                item = new ItemBeetrootSeeds();
            }
            else if (id == 498)
            {
                item = new ItemCamera(metadata);
            }
            else if (id <= 255)
            {
                int blockId = id;
                if (blockId < 0)
                {
                    blockId = (short)(Math.Abs(id) + 255);                               // hehe
                }
                Block block     = BlockFactory.GetBlockById(blockId);
                var   runtimeId = BlockFactory.GetRuntimeId(blockId, (byte)metadata);
                if (runtimeId < BlockFactory.BlockPalette.Count)
                {
                    var blockState = BlockFactory.BlockPalette[(int)runtimeId];
                    block.SetState(blockState);
                }

                if (CustomBlockItemFactory == null)
                {
                    item = new ItemBlock(block, metadata);
                }
                else
                {
                    item = CustomBlockItemFactory.GetBlockItem(block, metadata, count);
                }
            }
            else
            {
                item = new Item(id, metadata, count);
            }

            // This might now be a good idea if the constructor changes these
            // properties for custom items.
            item.Metadata = metadata;
            item.Count    = (byte)count;

            return(item);
        }
        private ObservableCollection <ClickItem> LoadItems(DoWorkEventArgs e)
        {
            SelfExplanationTagService.Clear();
            int clickNo = FirstClickNumber;
            ObservableCollection <ClickItem>    customItems      = new ObservableCollection <ClickItem>();
            ObservableCollection <ClickItem>    clickItems       = new ObservableCollection <ClickItem>();
            List <Dictionary <string, string> > explanationItems =
                ELearningLabTextStorageService.LoadSelfExplanationsFromSlide(slide);
            ClickItem customClickBlock;

            SelfExplanationTagService.PopulateTagNos(slide.GetShapesWithNameRegex(ELearningLabText.PPTLShapeNameRegex)
                                                     .Select(x => x.Name).ToList());
            HashSet <int>       tagNums  = new HashSet <int>();
            List <Effect>       effects  = slide.TimeLine.MainSequence.Cast <Effect>().ToList();
            int                 startIdx = 0;
            bool                hasReachedEndOfSequence = effects.Count == 0;
            List <CustomEffect> customEffects           = new List <CustomEffect>();
            List <ELLEffect>    pptlEffects             = new List <ELLEffect>();

            do
            {
                if (worker.CancellationPending)
                {
                    e.Cancel = true;
                    return(clickItems);
                }
                customEffects = new List <CustomEffect>();
                for (int i = startIdx; i < effects.Count; i++)
                {
                    Effect effect = effects.ElementAt(i);
                    if (i > startIdx && effect.Timing.TriggerType == MsoAnimTriggerType.msoAnimTriggerOnPageClick)
                    {
                        startIdx = i;
                        break;
                    }
                    if (i == effects.Count - 1)
                    {
                        hasReachedEndOfSequence = true;
                    }
                    bool isPPTLEffect = SelfExplanationTagService.ExtractTagNo(effect.Shape.Name) != -1;
                    if (!isPPTLEffect)
                    {
                        customEffects.Add(new CustomEffect(effect.Shape.Name, effect.Shape.Id.ToString(),
                                                           EffectToAnimationTypeConverter.GetAnimationTypeOfEffect(effect)));
                    }
                }
                customClickBlock =
                    new CustomItemFactory(customEffects).GetBlock();
                if (customClickBlock != null)
                {
                    customClickBlock.ClickNo = clickNo;
                    customItems.Add(customClickBlock);
                }
                clickNo++;
            }while (startIdx <= effects.Count - 1 && !hasReachedEndOfSequence);

            while (explanationItems != null && explanationItems.Count > 0 && customItems.Count > 0)
            {
                if (worker.CancellationPending)
                {
                    e.Cancel = true;
                    return(clickItems);
                }
                ExplanationItem expItem    = CreateExpItemFromDictionary(explanationItems.First());
                CustomItem      customItem = customItems.ElementAt(0) as CustomItem;
                if (customItem.ClickNo <= expItem.ClickNo)
                {
                    clickItems.Add(customItem);
                    customItems.RemoveAt(0);
                }
                else
                {
                    clickItems.Add(expItem);
                    explanationItems.RemoveAt(0);
                }
            }
            while (explanationItems != null && explanationItems.Count > 0)
            {
                if (worker.CancellationPending)
                {
                    e.Cancel = true;
                    return(clickItems);
                }
                ExplanationItem expItem = CreateExpItemFromDictionary(explanationItems.First());
                explanationItems.RemoveAt(0);
                clickItems.Add(expItem);
            }
            while (customItems.Count > 0)
            {
                if (worker.CancellationPending)
                {
                    e.Cancel = true;
                    return(clickItems);
                }
                CustomItem customItem = customItems.ElementAt(0) as CustomItem;
                customItems.RemoveAt(0);
                clickItems.Add(customItem);
            }
            return(clickItems);
        }