Inheritance: RenderLayerPresenter, IPointerResponderProvider
Example #1
0
 private void BindSelectedLayerEvents(LevelLayerPresenter layer)
 {
     if (layer != null) {
         layer.PointerEventResponderChanged += SelectedLayerPointerEventResponderChanged;
     }
 }
Example #2
0
        private void SelectLayer(Guid layerUid)
        {
            if (_selectedLayer == layerUid)
                return;

            if (_selectedLayerRef != null) {
                UnbindSelectedLayerEvents(_selectedLayerRef);

                ICommandSubscriber comLayer = _selectedLayerRef as ICommandSubscriber;
                if (comLayer != null) {
                    _commandManager.RemoveCommandSubscriber(comLayer);
                }

                _selectedLayerRef.Deactivate();
            }

            if (layerUid == null || !_layerPresenters.ContainsKey(layerUid)) {
                _selectedLayer = Guid.Empty;
                _selectedLayerRef = null;

                InvalidateLayerCommands();
                RefreshGridVisibility();
                OnPointerEventResponderChanged(EventArgs.Empty);
                return;
            }

            _selectedLayer = layerUid;
            _selectedLayerRef = _layerPresenters[_selectedLayer];

            _info.ActionUpdateCoordinates("");
            _gridLayer.IsVisible = true;

            if (_selectedLayerRef != null) {
                BindSelectedLayerEvents(_selectedLayerRef);

                ICommandSubscriber comLayer = _selectedLayerRef as ICommandSubscriber;
                if (comLayer != null) {
                    _commandManager.AddCommandSubscriber(comLayer);
                }

                if (_selectedLayerRef is LevelLayerPresenter) {
                    //_gridLayer.IsVisible = CommandManager.IsSelected(CommandKey.ViewGrid);
                    _gridLayer.GridColor = (_selectedLayerRef as LevelLayerPresenter).Layer.GridColor;
                    _gridLayer.GridSpacingX = (_selectedLayerRef as LevelLayerPresenter).Layer.GridWidth;
                    _gridLayer.GridSpacingY = (_selectedLayerRef as LevelLayerPresenter).Layer.GridHeight;
                }

                _selectedLayerRef.Activate();
            }

            InvalidateLayerCommands();
            OnPointerEventResponderChanged(EventArgs.Empty);

            _info.RefreshContentInfo();
        }
Example #3
0
 private void UnbindLayerEvents(LevelLayerPresenter layer)
 {
     UnbindSelectedLayerEvents(layer);
 }
Example #4
0
 public LevelRenderLayer(LevelLayerPresenter model)
     : base(model)
 {
 }