Beispiel #1
0
        protected override void OnParentMouseDown(object sender, MouseButtonEventArgs e)
        {
            if (e.LeftButton != MouseButtonState.Pressed)
            {
                return;
            }

            _startPoint = e.GetPosition(this);
            _lastPoint  = _startPoint;

            if (!BlockConverter.CanConvert(PointOutBlock))
            {
                return;
            }

            _canMove = PointOutBlock != null && !BlockConverter.GetLocked(PointOutBlock);

            if (_canMove)
            {
                StartMouseMovementTracking();
                var date    = AxisXConverter.ScreenToData(0);
                var newDate = date.Add(StepMin);
                _stepMinDistance = AxisXConverter.DataToScreen(newDate);
            }
        }
Beispiel #2
0
 private void SetInitalDrawLocation()
 {
     if (CellMode)
     {
         var rect = _startPoint.CellDesiredSzie(Interval, AxisXConverter, RenderSize, VerticalOffset, HorizontalOffset,
                                                AxisPanel.ViewportRangeY.ViewMax);
         if (rect != null)
         {
             InitalDrawLocation = rect.Value;
         }
     }
     else
     {
         if (PointOutBlock == null)
         {
             InitalDrawLocation = default(Rect);
         }
         else
         {
             var top  = LayerContainer.PointOutDataRowTop + BlockConverter.GetHeight(PointOutBlock);
             var left = _startPoint.X;
             InitalDrawLocation = new Rect(left, top, 0, 0);
         }
     }
 }
Beispiel #3
0
        public StartUp(IGameScene gameScene, IMouse mouse, ISound sound)
        {
            GameScene = gameScene;
            Mouse     = mouse;
            var parameters = new Parameters();

            Sound  = new PixSound(new Sounds(sound));
            Drawer = new Drawer(parameters, gameScene);
            var IdProcessor = new BlockIdProcessor();
            var tileManager = new TileManager(Drawer, IdProcessor, parameters);

            engine = new Engine.Engine(tileManager, Drawer);
            var craftingSystem = new CraftingModule(Craftings.GetCraftings(), tileManager);
            var StatusWindow   = new InventoryForm(craftingSystem, engine, mouse, Drawer, gameScene);
            var playerstatus   = new PlayerStatus(StatusWindow, parameters);
            var blockConverter = new BlockConverter(Drawer, IdProcessor);
            var moveDefiner    = new PlayerMoveDefiner(gameScene, mouse);

            SaveManager = new SaveManager(tileManager, playerstatus, blockConverter, engine.Center, engine);
            var pauseMenu = new PauseForm(engine, SaveManager, mouse, Drawer, gameScene);
            var oreTable  = new OreTable(OreResource.InitOreTable());

            pointerController = new PointerController(playerstatus, tileManager, moveDefiner, Drawer, Sound, parameters, engine, mouse);
            player            = new Player(pauseMenu, tileManager, moveDefiner, playerstatus, Drawer, engine, Sound, parameters, gameScene, pointerController);
            MobSpawner        = new MobSpawner(engine, tileManager, Drawer, Sound, player);
            Generator         = new Generator(tileManager, oreTable, Drawer, parameters);
        }
Beispiel #4
0
 private void ConstructButtons()
 {
     for (int i = 0; i < BlockConverter.MAX_ID; i++)
     {
         string blockName = BlockConverter.GetBlockName(i);
         if (blockName != null)
         {
             // Блин, как-то коряво выглядит. Можно, конечно, было передавать только ID, но вариант с
             // двукратным получением имени блока мне кажется еще хуже.
             ToggleButton button = ConstructBlockButton(i, blockName);
             blockButtons[i] = button;
             ButtonPanel.Children.Add(button);
         }
     }
     ConstructSeparator();
     foreach (string objectType in LevelObjectTypeConverter.GetAllListeners())
     {
         ToggleButton button = ConstructListenerButton(objectType);
         listenerButtons[objectType] = button;
         ButtonPanel.Children.Add(button);
     }
     ConstructSeparator();
     foreach (string objectType in LevelObjectTypeConverter.GetAllEntities())
     {
         ToggleButton button = ConstructListenerButton(objectType);
         listenerButtons[objectType] = button;
         ButtonPanel.Children.Add(button);
     }
 }
Beispiel #5
0
        public async Task <PageDto> GetPageByIdAsync(Guid id)
        {
            PageDto page = PageConverter.Convert(await _pageRepo.GetByIdAsync(id));

            page.Blocks     = BlockConverter.Convert(await _blockRepo.GetByPageIdAsync(id));
            page.CourseName = _courseRepo.GetByIdAsync(page.CourseId).Result.Name;
            return(page);
        }
        private bool CanScale()
        {
            if (PointOutBlock == null)
            {
                return(false);
            }

            return(BlockConverter.CanConvert(PointOutBlock) && !BlockConverter.GetLocked(PointOutBlock));
        }
Beispiel #7
0
        public async Task <BlockDto> GetBlockByIdAsync(Guid id)
        {
            BlockDto block = BlockConverter.Convert(await _blockRepo.GetByIdAsync(id));

            block.BlockTypeName = _blockTypeRepo.GetByIdAsync(block.BlockTypeId).Result.Name;
            block.PageName      = _pageRepo.GetByIdAsync(block.PageId).Result.Name;
            block.Questions     = QuestionConverter.Convert(await _questionRepo.GetByBlockIdAsync(id));
            return(block);
        }
        public void FilterSeats(Entity area)
        {
            _bindableSeats = (from item in _seatBoxes
                              where item.Value.If <SeatBox>(o => o.Seat.Area.Equals(area))
                              select item.Value).ToList();

            var reselectSeat = RetainCurrentSelectedSeat();

            this.QuietlyReload(ref _bindableSeats, "BindableSeats");
            reselectSeat.Invoke();
            BlockConverter.Refresh();
        }
Beispiel #9
0
        private ToggleButton ConstructBlockButton(int buttonId, string blockName)
        {
            BlockConverter blockConverter = new BlockConverter();

            // Что касается "Even", то, очевидно, у нас нет никакой вертикали, к которой можно привязать
            // блок. Но спрайты у нас зависят от четности.
            BitmapImage backgroundImage = blockConverter.Convert("Even" + blockName, typeof(BitmapImage),
                                                                 null, CultureInfo.CurrentCulture) as BitmapImage;

            ToggleButton button = ConstructButton(backgroundImage, buttonId, BlockButton_Click);

            SetButtonIdAsContent(button, buttonId);

            return(button);
        }
Beispiel #10
0
 public ApplicationFormContractResolver(
     ConfigurationConverter configurationConverter,
     FieldConverter fieldConverter,
     ValidatorConverter validatorConverter,
     FieldAnnotationConverter fieldAnnotationConverter,
     BlockConverter blockConverter)
 {
     typeConverterMappings = new Dictionary <Type, JsonConverter>
     {
         { typeof(FormConfiguration), configurationConverter },
         { typeof(FieldBase), fieldConverter },
         { typeof(ValidatorBase), validatorConverter },
         { typeof(FieldAnnotationBase), fieldAnnotationConverter },
         { typeof(BlockBase), blockConverter }
     };
 }
Beispiel #11
0
        internal override double GetPointOutY()
        {
            if (!AxisYConverter.IsInViewRagne(PointOutDataRowIndex))
            {
                if (PointOutDataRowIndex < 0)
                {
                    PointOutDataRowIndex = 0;
                }
                else
                {
                    PointOutDataRowIndex = ItemsSource.Count - 1;
                }
            }
            var rowY = AxisYConverter.DataToScreen(PointOutDataRowIndex);
            var y    = rowY + BlockConverter.GetTop(PointOutBlock);

            return(y);
        }
Beispiel #12
0
        protected override void OnParentMouseUp(object sender, MouseButtonEventArgs e)
        {
            if (_canMove)
            {
                if (PointOutBlock != null && !Equals(GetMoveOffSet(), 0.0d))
                {
                    if (!BlockConverter.CanConvert(PointOutBlock))
                    {
                        return;
                    }

                    //Henry modified
                    LayerContainer.OnRaiseAfterMouseUpEvent(this); // presenter is called
                    //this.FindAncestor<BlockGrid>().InvalidateVisual(); // redraw blockgird only
                }
            }
            EndOperation();
        }
Beispiel #13
0
        public ActionResult Index([FromForm] string html)
        {
            BlockConverter bc = new BlockConverter(new BlockConverterSettings
            {
                Logger = _logger,
                JsonSerializerSettings = new JsonSerializerSettings
                {
                    Formatting = Formatting.Indented
                }
            });

            return(new ContentResult
            {
                ContentType = "text/html",
                StatusCode = (int)HttpStatusCode.OK,
                Content = $"<pre>{bc.SerializeHtml(html)}</pre>"
            });
        }
        protected override void OnParentMouseUp(object sender, MouseButtonEventArgs e)
        {
            if (PointOutBlock != null && IsMouseDragging())
            {
                if (!BlockConverter.CanConvert(PointOutBlock))
                {
                    return;
                }

                //Henry modified
                //InvalidateVisual(); // do not change the order, 通过重绘改变 DropedPlacement

                if (!InvalidPlacement && DropedPlacement != null)
                {
                    LayerContainer.OnRaiseAfterMouseUpEvent(this);
                }
            }
            EndOperation();
        }
Beispiel #15
0
 public async Task <bool> UpdateBlockAsync(BlockDto item)
 {
     return(await _blockRepo.UpdateAsync(BlockConverter.Convert(item)));
 }
Beispiel #16
0
 public async Task <List <BlockDto> > GetAllBlockAsync()
 {
     return(BlockConverter.Convert(await _blockRepo.GetAllAsync()));
 }
Beispiel #17
0
 public async Task <List <BlockDto> > GetBlockByBlockTypeIdAsync(Guid id)
 {
     return(BlockConverter.Convert(await _blockRepo.GetByBlockTypeIdAsync(id)));
 }
        private object PointoutBlock(Point e)
        {
            var y = e.Y; //- GetHeaderHeight();

            //var y1 = AxisYConverter.ScreenToData(y);
            //var y2 = (int)(y / Interval) + AxisYConverter.ScreenToData(0);

            //if (y1 != y2)
            //    Debug.Print(string.Format("-------- ViewportToDataY called : y1 = {0}  y2 = {1}", y1, y2));

            // BMK Ambiguous getRowIndex
            PointOutDataRowIndex = AxisYConverter.ScreenToData(y);

            object fountBlock = null;

            if (ItemsSource != null && 0 <= PointOutDataRowIndex && PointOutDataRowIndex < ItemsSource.Count)
            {
                var dateTime  = AxisXConverter.ScreenToData(e.X); // current mouse moved postion
                var positionY = y % Interval;                     // for Top useage


                if (CellMode)
                {
                    var date = dateTime.Date;
                    ItemsSource[PointOutDataRowIndex].SaftyInvoke <IEnumerable>(
                        o =>
                    {
                        fountBlock = o.OfType <ITerm>().FirstOrDefault(t =>
                        {
                            //using HrDate
                            var blockStart = BlockConverter.GetStart(t);
                            return((date == blockStart) && !TryPrevent(t));
                        });
                    });

                    if (RecursivelyPointout)
                    {
                        ItemsSource[PointOutDataRowIndex].SaftyInvoke <IDateIndexer <DateTerm> >(o => o[date].SaftyInvoke(b => fountBlock = b));
                    }
                }
                else
                {
                    ItemsSource[PointOutDataRowIndex].SaftyInvoke <IEnumerable>(
                        o =>
                    {
                        fountBlock = o.OfType <ITerm>().LastOrDefault(block =>
                        {
                            var blockStart = BlockConverter.GetStart(block);
                            var blockTop   = BlockConverter.GetTop(block);
                            return((blockStart <= dateTime && dateTime < block.End &&
                                    blockTop <= positionY && (BlockConverter.GetHeight(block) + blockTop) >= positionY) && !TryPrevent(block));
                        });
                    });
                }
            }

            if (fountBlock != null)
            {
                PointOutDataRowTop = (e.Y - e.Y % Interval) + BlockConverter.GetTop(fountBlock);
            }

            return(fountBlock);
        }
Beispiel #19
0
 public async Task <BlockDto> CreateBlockAsync(BlockDto item)
 {
     return(BlockConverter.Convert(await _blockRepo.CreateAsync(BlockConverter.Convert(item))));
 }