Example #1
0
        /*
         * Function to randomly choose an action block out of all possible action blocks
         * @return Block - the chosen block object
         */
        private Block chooseBlock()
        {
            Block      obj;                                                   //Utilizes polymorphism
            int        num  = Block.randomNumber(1, (Block.TotalBlocks + 1)); //Generates a random number between 1 and the maximum number of action Blocks
            BlockNames test = (BlockNames)num;

            switch (test)
            {
            case BlockNames.SpinMotor:
                obj = new SpinMotor();
                break;

            case BlockNames.LightSmartHub:
                obj = new LightSmartHub();
                break;

            case BlockNames.PowerMotor:
                obj = new PowerMotor();
                break;

            case BlockNames.SoundsBlock:
                obj = new SoundsBlock();
                break;

            case BlockNames.DisplayBlock:
                obj = new DisplayBlock();
                break;

            default:
                obj = new SpinMotor();
                break;
            }
            return(obj);
        }
Example #2
0
 public BlockSelectPresenter(System.Windows.Window wnd, BlockRefsAction action)
 {
     _window    = wnd;
     _action    = action;
     BlockNames = Ac.GetBlockNames(true, true).ToList(); // WinForms BindingSource accepts only IList or IListSource
     BlockName  = BlockNames.FirstOrDefault();
 }
Example #3
0
 private static void LoadBlock(Block block)
 {
     BlockNames.Add(block.BlockId, block.Name);
     Item.LoadItem(block);
     if (!Item.ItemUsedOnBlockHandlers.ContainsKey(block.BlockId))
     {
         Item.ItemUsedOnBlockHandlers[block.BlockId] = DefaultUsedOnBlockHandler;
     }
 }
Example #4
0
        private void UpdatePaletteBlocksList(IDbPaletteFromMap source)
        {
            BlockNames.UpdateAfter(() =>
            {
                BlockNames.Clear();

                var map = dataProvider.GetModel <MapModel>(source.DataRef);

                if (map == null)
                {
                    return;
                }

                foreach (var paletteBlock in map.Blocks.OfType <MapPaletteBlock>())
                {
                    BlockNames.Add(paletteBlock.Name);
                }
            });
        }