/// <summary>
        /// 构造函数
        /// </summary>
        public MapgisToolSubMenu()
        {
            InitializeComponent();
            fishMenu = new FishEyeMenuH();
            this.ResizeControl();
            this.LayoutRoot.Children.Add(fishMenu);
            this.Loaded += new RoutedEventHandler(OnLoaded);
            MapDocEditor = new MapDocEditor(catalog)
            {
                IsPopup = true
            };
            mapDocDataViewer = new MapDocDataViewer()
            {
                IsPopup = true
            };                                                           //, MapDocEditorObj = MapDocEditor };
            mapDocConditionInput = new ConditionInput(mapDocDataViewer)
            {
                IsPopup = true
            };
            this.BorderThickness = new Thickness(0);

            LayerEditor = new LayerEditor(catalog)
            {
                IsPopup = true
            };
            layerDataViewer = new LayerDataViewer()
            {
                IsPopup = true
            };                                                         //, LayerEditorObj = LayerEditor };
            layerConditionInput = new LayerConditionInput(layerDataViewer)
            {
                IsPopup = true
            };
        }
Example #2
0
        public Toolbar()
        {
            InitializeComponent();
            MapDocEditor = new MapDocEditor(m_catalog)
            {
                IsPopup = true
            };
            m_mapDocDataViewer = new MapDocDataViewer()
            {
                IsPopup = true
            };                                                            //, MapDocEditorObj = MapDocEditor };
            m_mapDocConditionInput = new ConditionInput(m_mapDocDataViewer)
            {
                IsPopup = true
            };
            this.BorderThickness = new Thickness(0);

            LayerEditor = new LayerEditor(m_catalog)
            {
                IsPopup = true
            };
            m_layerDataViewer = new LayerDataViewer()
            {
                IsPopup = true
            };                                                          //, LayerEditorObj = LayerEditor };
            m_layerConditionInput = new LayerConditionInput(m_layerDataViewer)
            {
                IsPopup = true
            };
        }
Example #3
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            _polygon = new Vector2[4];

            ParentLayer = parentLayer;

            string fullPath = null;            // creationProperties.Parameters[@"FullPath"];

            initialiseTexture(fullPath);

            _properties = new TexturedHullProperties
            {
                //todo: need filename
                Position = MouseStatus.WorldPosition,
                TexturePathRelativeToContentRoot = makeRelativePath(new PathToFolder(parentLayer.ParentLevel.ContentRootFolder), fullPath),
                CustomProperties = new CustomProperties( ),
                Visible          = true,
                Scale            = Vector2.One,
                TintColor        = Color.White,
            };

            _properties.Origin = getTextureOrigin( );

            WhenUpdatedByUi( );
        }
Example #4
0
        public override void RecreateFromXml(LayerEditor parentLayer, XElement xml)
        {
            base.RecreateFromXml(parentLayer, xml);

            ParentLayer = parentLayer;
            _properties = xml.CertainElement(@"LightProperties").DeserializedAs <LightProperties>( );
        }
Example #5
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public MapgisToolSubMenu()
 {
     MapDocEditor = new MapDocEditor(catalog)
     {
         IsPopup = true
     };
     mapDocDataViewer = new MapDocDataViewer()
     {
         IsPopup = true
     };
     mapDocConditionInput = new ConditionInput(mapDocDataViewer)
     {
         IsPopup = true
     };
     this.Loaded += new RoutedEventHandler(OnLoaded);
     LayerEditor  = new LayerEditor(catalog)
     {
         IsPopup = true
     };
     layerDataViewer = new LayerDataViewer()
     {
         IsPopup = true
     };
     layerConditionInput = new LayerConditionInput(layerDataViewer)
     {
         IsPopup = true
     };
 }
Example #6
0
        public override void CreateInDesignMode(
            LayerEditor parentLayer,
            IEntityCreationProperties creationProperties)
        {
            _polygon = new Vector2[4];

            ParentLayer = parentLayer;

            var tCreationProperties = (TextureCreationProperties)creationProperties;

            string fullPath = tCreationProperties.PathToTexture;

            tryInitialiseTexture(fullPath);

            // ReSharper disable UseObjectOrCollectionInitializer
            _properties = new TextureItemProperties
                          // ReSharper restore UseObjectOrCollectionInitializer
            {
                Position = MouseStatus.WorldPosition,
                TexturePathRelativeToContentRoot = ObjectFactory.GetInstance <IDisk>().MakeRelativePath(parentLayer.ParentLevel.ContentRootFolder, fullPath),
                CustomProperties = new CustomProperties(),
                Visible          = true,
                Scale            = Vector2.One,
                TintColor        = Color.White,
            };

            _properties.Origin = getTextureOrigin();

            WhenUpdatedByUi();
        }
Example #7
0
        public override void RecreateFromXml(LayerEditor parentLayer, XElement xml)
        {
            base.RecreateFromXml(parentLayer, xml);
            ParentLayer = parentLayer;
            _properties = xml.Element(@"RectangularHullProperties").DeserializedAs <RectangularHullProperties>( );

            WhenUpdatedByUi(  );
        }
Example #8
0
        public override void RecreateFromXml(LayerEditor parentLayer, XElement xml)
        {
            base.RecreateFromXml(parentLayer, xml);
            _editorMode = ItemEditorMode.Created;
            ParentLayer = parentLayer;
            _properties = xml.Element(@"ConvexHullProperties").DeserializedAs <ConvexHullProperties>( );

            WhenUpdatedByUi(  );
        }
        public override void RecreateFromXml(LayerEditor parentLayer, XElement xml)
        {
            ParentLayer = parentLayer;

            _properties = xml.Element(@"RectangleItemProperties").DeserializedAs <RectangleItemProperties>( );

            //todo: don't like having to call the base - use the Prototype
            base.RecreateFromXml(parentLayer, xml);

            WhenUpdatedByUi(  );
        }
Example #10
0
 void OnAddArea(GraphicsLayer gLayer, IGraphics graphics, List <Point> logPntArr)
 {
     if (m_catalog.ActiveMapDoc.Display)
     {
         MapDocEditor.AddArea(gLayer, graphics, logPntArr);
     }
     if (m_catalog.ActiveLayerObj.Display)
     {
         LayerEditor.AddArea(gLayer, graphics, logPntArr);
     }
 }
Example #11
0
        void activeLayerChanged(object sender, EventArgs e)
        {
            LayerEditor layer = _model.Level.ActiveLayer;

            if (layer == null)
            {
                SetToolStripStatusLabel1("Layer: (none)");
            }
            else
            {
                SetToolStripStatusLabel2("Layer: " + layer.Name);
            }
        }
Example #12
0
        public override void RecreateFromXml(LayerEditor parentLayer, XElement xml)
        {
            base.RecreateFromXml(parentLayer, xml);

            _polygon = new Vector2[4];

            ParentLayer = parentLayer;

            _properties = xml.Element(@"TextureItemProperties").DeserializedAs <TextureItemProperties>();

            tryInitialiseTexture(_properties.TexturePathRelativeToContentRoot);

            WhenUpdatedByUi();
        }
Example #13
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer;

            _properties          = fromRectangle(Rectangle.Empty);
            _properties.Position = MouseStatus.WorldPosition;
            _properties.Visible  = true;
            _properties.Opacity  = 1f;
            _properties.Scale    = Vector2.One;
            _properties.Rotation = 0f;

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Rectangle_Entered);

            WhenUpdatedByUi();
        }
Example #14
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            _editorMode = ItemEditorMode.Creating;

            Vector2 mouseWorldPos = MouseStatus.WorldPosition;

            _properties = new ConvexHullProperties
            {
                Visible     = true,
                Position    = mouseWorldPos,
                WorldPoints = new List <Vector2>(),
                LocalPoints = new List <Vector2>(),
                Opacity     = 1f,
            };

            ParentLayer = parentLayer;

            var shapeSelectionForm = new ShapeSelectionForm(
                v =>
            {
                _properties.WorldPoints.Clear( );
                _properties.LocalPoints.Clear( );

                v.ForEach(vt => addWorldPoint(mouseWorldPos + vt));

                WhenUpdatedByUi( );
            })
            {
                TopLevel = true
            };

            shapeSelectionForm.FormClosed +=
                (s, e) =>
            {
                if (shapeSelectionForm.Action == DialogResult.OK)
                {
                    _editorMode = ItemEditorMode.Created;

                    PreviewEndedReadyForCreation(this, EventArgs.Empty);
                }
            };

            shapeSelectionForm.Show();

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.PreShapedHull_Entered);
        }
Example #15
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer;

            _properties = new CircularHullProperties
            {
                Visible   = true,
                Position  = MouseStatus.WorldPosition,
                Radius    = 10f,
                Scale     = Vector2.One,
                Opacity   = 1f,
                Sides     = 10,
                FillColor = Color.Black
            };

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Circle_Started);
        }
Example #16
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer;

            _properties = new LightProperties
            {
                Visible     = true,
                IsOn        = true,
                Range       = 100f,
                Color       = Color.White,
                FieldOfView = MathHelper.TwoPi,
                Intensity   = 1,
                ShadowType  = convertShadowType(ShadowType.Solid),
                Position    = MouseStatus.WorldPosition,
                TextureSize = 128
            };
        }
Example #17
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer;

            _properties = new CircleItemProperties
            {
                Visible   = true,
                Position  = MouseStatus.WorldPosition,
                Radius    = 0f,
                FillColor = Constants.Instance.ColorPrimitives
            };

            if (creationProperties.TriggeredBy == UiAction.Dragging)
            {
                _properties.Radius = Constants.Instance.GridSpacing.X;
            }

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Circle_Started);
        }
        public virtual void CreateReadyForDroppingOntoCanvas(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer;

            _properties = fromRectangle(Rectangle.Empty);

            _properties.Position = MouseStatus.WorldPosition;

            Vector2 size = calculateDefaultSizeOfNewlyCreatedItem();

            _properties.Width     = size.X;
            _properties.Height    = size.Y;
            _properties.Visible   = true;
            _properties.FillColor = Constants.Instance.ColorPrimitives;

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Rectangle_DragDrop);

            WhenUpdatedByUi();
        }
Example #19
0
 void OnAddArea(GraphicsLayer gLayer, IGraphics graphics, List <Point> logPntArr)
 {
     if (catalog.ActiveMapDoc == null)
     {
         MessageBox.Show("请激活一个矢量(文档)的图层!");
         return;
     }
     if (catalog.ActiveMapDoc.Display)
     {
         MapDocEditor.AddArea(gLayer, graphics, logPntArr);
     }
     if (catalog.ActiveLayerObj == null)
     {
         MessageBox.Show("请激活一个矢量图层!");
         return;
     }
     if (catalog.ActiveLayerObj.Display)
     {
         LayerEditor.AddArea(gLayer, graphics, logPntArr);
     }
 }
        /// <summary>
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnActiveLayerInterfaceChanged(object sender, BindableValueChangedEventArgs <EditorLayerInterface> e)
        {
            switch (e.Value)
            {
            case EditorLayerInterface.Composition:
                LayerCompositor.ClearAnimations();
                LayerCompositor.MoveToX(0, Easing.OutQuint, 350);
                LayerEditor.ClearAnimations();
                LayerEditor.MoveToX(LayerEditor.Width, Easing.OutQuint, 350);
                break;

            case EditorLayerInterface.Editing:
                LayerCompositor.ClearAnimations();
                LayerCompositor.MoveToX(LayerCompositor.Width, Easing.OutQuint, 350);
                LayerEditor.ClearAnimations();
                LayerEditor.MoveToX(0, Easing.OutQuint, 350);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer;

            _properties = fromRectangle(Rectangle.Empty);

            if (creationProperties.TriggeredBy == UiAction.Dragging)
            {
                var size = calculateDefaultSizeOfNewlyCreatedItem();
                _properties.Width  = size.X;
                _properties.Height = size.Y;
            }

            _properties.Position = MouseStatus.WorldPosition;

            _properties.Visible   = true;
            _properties.FillColor = Constants.Instance.ColorPrimitives;

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Rectangle_Started);

            WhenUpdatedByUi();
        }
Example #22
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            _editorMode = ItemEditorMode.Creating;

            Vector2 mouseWorldPos = MouseStatus.WorldPosition;

            _properties = new ConvexHullProperties
            {
                Visible     = true,
                Position    = mouseWorldPos,
                WorldPoints = new List <Vector2>(),
                LocalPoints = new List <Vector2>(),
                Opacity     = 1f,
            };

            addWorldPoint(mouseWorldPos);

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Path_Entered);

            ParentLayer = parentLayer;

            WhenUpdatedByUi(  );
        }
Example #23
0
        public MainWndDataContext(Fontogram fgPreview, LayerEditor layerEditor)
        {
            _FgPreview = fgPreview;

            _LayerEditor = layerEditor;
            _LayerEditor.SetLayerCreator(this);
            _LayerEditor.LayersChanged += _LayerEditor_LayersChanged;


            _ExportBitmapCommand = new ExportBitmapCommand(this);


            _CodegenXaml = new CodegenXaml(fgPreview);

            _CodegenCsharp = new CodegenCsharp(fgPreview);


            foreach (var readyMadeID in (ReadyMadeFontogram[])Enum.GetValues(typeof(ReadyMadeFontogram)))
            {
                ReadyMadeFontogramChoices.Add(readyMadeID);
            }

            this.ReadyMadeFontogramSelection = 0;   // default is "none" - an item separate from ReadyMadeFontogramChoices
        }
Example #24
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            _editorMode = ItemEditorMode.Creating;

            Vector2 mouseWorldPos = MouseStatus.WorldPosition;

            _properties = new PathItemProperties
            {
                Visible     = true,
                Position    = mouseWorldPos,
                WorldPoints = new List <Vector2>(),
                LocalPoints = new List <Vector2>(),
                LineWidth   = Constants.Instance.DefaultPathItemLineWidth,
                LineColor   = Constants.Instance.ColorPrimitives
            };

            addWorldPoint(mouseWorldPos);

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Path_Started);

            ParentLayer = parentLayer;

            WhenUpdatedByUi(  );
        }
 public CopySelectedEditorsToLayerAction(LayerEditor layer)
 {
     _layer = layer;
 }
        public override void RecreateFromXml( LayerEditor parentLayer, XElement xml )
        {
            base.RecreateFromXml( parentLayer, xml );

            ParentLayer = parentLayer ;
            _properties = xml.CertainElement( @"LightProperties" ).DeserializedAs<LightProperties>( ) ;
        }
        public override void RecreateFromXml( LayerEditor parentLayer, XElement xml )
        {
            base.RecreateFromXml( parentLayer, xml );

            _editorMode = ItemEditorMode.Created ;
            ParentLayer = parentLayer ;
            _properties = xml.Element( @"PathItemProperties" ).DeserializedAs<PathItemProperties>( ) ;

            WhenUpdatedByUi(  );
        }
 public override void RecreateFromXml( LayerEditor parentLayer, XElement xml )
 {
     base.RecreateFromXml( parentLayer, xml );
     ParentLayer = parentLayer ;
     _properties = xml.Element( @"CircleItemProperties" ).DeserializedAs<CircleItemProperties>( ) ;
 }
Example #29
0
        public override void RecreateFromXml( LayerEditor parentLayer, XElement xml )
        {
            base.RecreateFromXml( parentLayer, xml );
            ParentLayer = parentLayer ;
            _properties = xml.Element( @"RectangularHullProperties" ).DeserializedAs<RectangularHullProperties>( ) ;

            WhenUpdatedByUi(  );
        }
Example #30
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            _editorMode = ItemEditorMode.Creating ;

            Vector2 mouseWorldPos = MouseStatus.WorldPosition ;

            _properties = new ConvexHullProperties
                {
                    Visible = true,
                    Position = mouseWorldPos,
                    WorldPoints = new List<Vector2>(),
                    LocalPoints = new List<Vector2>(),
                    Opacity = 1f,
                } ;

            addWorldPoint( mouseWorldPos );

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Path_Entered);

            ParentLayer = parentLayer ;

            WhenUpdatedByUi(  );
        }
Example #31
0
 public override void RecreateFromXml( LayerEditor parentLayer, XElement xml )
 {
     ParentLayer = parentLayer ;
     base.RecreateFromXml( parentLayer, xml );
     _properties = xml.CertainElement( @"CircularHullProperties" ).DeserializedAs<CircularHullProperties>( ) ;
 }
Example #32
0
 public void MoveLayerUp( LayerEditor layer )
 {
     _memento.Record(@"Move Down Layer '{0}'".FormatWith(layer.Name), () =>
         {
             int index = Level.Layers.IndexOf( layer ) ;
             Level.Layers[ index ] = Level.Layers[ index - 1 ] ;
             Level.Layers[ index - 1 ] = layer ;
             tryFire( ( ) => ItemsRearrangedInLayer, (ITreeItem) layer ) ;
             SelectLayer( layer ) ;
         });
 }
Example #33
0
        public void MoveSelectedItemsToLayer( LayerEditor chosenLayer )
        {
            if( chosenLayer == Level.ActiveLayer )
            {
                return ;
            }

            _memento.BeginCommand( @"Move Item(s) To Layer '{0}'".FormatWith(chosenLayer.Name) ) ;

            Level.MoveSelectedIditorsToLayer( chosenLayer ) ;

            tryFire( ( ) => ItemsMoved, Level.SelectedEditors ) ;
        }
Example #34
0
        public virtual void CreateReadyForDroppingOntoCanvas(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer ;

            _properties = fromRectangle( Rectangle.Empty ) ;

            _properties.Position = MouseStatus.WorldPosition ;

            Vector2 size = calculateDefaultSizeOfNewlyCreatedItem();

            _properties.Width = size.X;
            _properties.Height = size.Y;
            _properties.Visible = true ;
            _properties.FillColor = Constants.Instance.ColorPrimitives ;

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Rectangle_DragDrop);

            WhenUpdatedByUi();
        }
Example #35
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer ;

            _properties = fromRectangle( Rectangle.Empty ) ;

            if (creationProperties.TriggeredBy == UiAction.Dragging)
            {
                var size = calculateDefaultSizeOfNewlyCreatedItem();
                _properties.Width = size.X;
                _properties.Height = size.Y;
            }

            _properties.Position = MouseStatus.WorldPosition ;

            _properties.Visible = true ;
            _properties.FillColor = Constants.Instance.ColorPrimitives ;

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Rectangle_Started);

            WhenUpdatedByUi();
        }
Example #36
0
        public void SelectLayer( LayerEditor layer )
        {
            if( Level.SelectedEditors.Any( ) )
            {
                Level.ClearSelectedEditors( ) ;
            }

            setActiveLayerIfItsDifferent( layer ) ;

            tryFire( ( ) => SelectionChanged, (ITreeItem) layer ) ;
        }
Example #37
0
 public override void RecreateFromXml(LayerEditor parentLayer, XElement xml)
 {
     base.RecreateFromXml(parentLayer, xml);
     ParentLayer = parentLayer;
     _properties = xml.Element(@"CircleItemProperties").DeserializedAs <CircleItemProperties>( );
 }
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer ;

            _properties= new LightProperties
                {
                    Visible=true,
                    IsOn = true,
                    Range=100f,
                    Color=Color.White,
                    FieldOfView = MathHelper.TwoPi,
                    Intensity = 1,
                    ShadowType = convertShadowType( ShadowType.Solid),
                    Position = MouseStatus.WorldPosition,
                    TextureSize = 128
                } ;
        }
Example #39
0
        void setActiveLayerIfItsDifferent( LayerEditor layer )
        {
            if( ActiveLayer == layer )
            {
                return ;
            }

            Level.SelectLayer( layer ) ;

            var eventHandler = ActiveLayerChanged ;

            if( eventHandler != null )
            {
                eventHandler( this, EventArgs.Empty ) ;
            }
        }
Example #40
0
        public void MoveItemToLayer( ItemEditor itemToMove, LayerEditor layer, ItemEditor itemToMoveNewItemUnder )
        {
            int insertPosition = itemToMoveNewItemUnder == null ? 0 : layer.Items.IndexOf( itemToMoveNewItemUnder ) ;

            itemToMove.ParentLayer.Items.Remove( itemToMove ) ;

            layer.Items.Insert( insertPosition, itemToMove ) ;

            itemToMove.ParentLayer = layer ;
        }
Example #41
0
        public void CopySelectedItemsToLayer( LayerEditor layer )
        {
            if( layer == ActiveLayer )
            {
                return ;
            }

            List<ItemEditor> clonedEditors = null;

            _memento.Record(@"Copy Item(s) To Layer '{0}'".FormatWith(layer.Name), () => { clonedEditors = Level.CopySelectedEditorsToLayer( layer ).ToList( ) ; });

            Level.SelectEditors( new SelectedEditors( clonedEditors ) ) ;

            tryFire( ( ) => ItemsAddedOrRemoved, clonedEditors ) ;
        }
Example #42
0
        public void DuplicateLayer( LayerEditor layer )
        {
            LayerEditor copiedLayer = layer.Clone( ) ;

            copiedLayer.Name = layer.ParentLevel.GetUniqueNameBasedOn( copiedLayer.Name ) ;

            foreach( ItemEditor eachCopiedItem in copiedLayer.Items )
            {
                eachCopiedItem.ItemProperties.Name = layer.ParentLevel.GetUniqueNameBasedOn( eachCopiedItem.ItemProperties.Name ) ;
            }

            IMainForm mainForm = IoC.MainForm ;

            _memento.Record(@"Duplicate Layer '{0}'".FormatWith(layer.Name), () => AddNewLayer( copiedLayer ));

            tryFire( ( ) => ItemsAddedOrRemoved, (ITreeItem) copiedLayer ) ;

            mainForm.LevelExplorer.Rebuild( ) ;
        }
Example #43
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer ;

            _properties = fromRectangle( Rectangle.Empty ) ;
            _properties.Position = MouseStatus.WorldPosition ;
            _properties.Visible = true ;
            _properties.Opacity = 1f ;
            _properties.Scale = Vector2.One ;
            _properties.Rotation = 0f ;

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Rectangle_Entered);

            WhenUpdatedByUi();
        }
 public CopySelectedEditorsToLayerAction(LayerEditor layer )
 {
     _layer = layer ;
 }
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer ;

            _properties= new CircleItemProperties
                {
                    Visible=true,
                    Position = MouseStatus.WorldPosition,
                    Radius = 0f,
                    FillColor = Constants.Instance.ColorPrimitives
                } ;

            if (creationProperties.TriggeredBy == UiAction.Dragging)
            {
                _properties.Radius = Constants.Instance.GridSpacing.X;
            }

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Circle_Started);
        }
Example #46
0
        public void DeleteLayer( LayerEditor layer )
        {
            _memento.Record(@"Delete Layer '{0}'".FormatWith(layer.Name), () => Level.Layers.Remove( layer ));

            tryFire( ( ) => ItemsAddedOrRemoved, (ITreeItem) layer ) ;

            LayerEditor nextChoiceOfLayerToSelect = Level.Layers.Count > 0 ? Level.Layers.Last( ) : null ;
            if( nextChoiceOfLayerToSelect != null )
            {
                setActiveLayerIfItsDifferent( nextChoiceOfLayerToSelect ) ;
            }
        }
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            _editorMode = ItemEditorMode.Creating ;

            Vector2 mouseWorldPos = MouseStatus.WorldPosition ;

            _properties = new PathItemProperties
                {
                    Visible = true,
                    Position = mouseWorldPos,
                    WorldPoints = new List<Vector2>(),
                    LocalPoints = new List<Vector2>(),
                    LineWidth = Constants.Instance.DefaultPathItemLineWidth,
                    LineColor = Constants.Instance.ColorPrimitives
                } ;

            addWorldPoint( mouseWorldPos );

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Path_Started);

            ParentLayer = parentLayer ;

            WhenUpdatedByUi(  );
        }
Example #48
0
        public IEnumerable<ItemEditor> CopySelectedEditorsToLayer( LayerEditor destinationLayer )
        {
            var selectedEditors = SelectedEditors.ToList(  )  ;

            foreach( ItemEditor eachEditor in selectedEditors )
            {
                ItemEditor clonedEditor = eachEditor.Clone( ) ;

                clonedEditor.ParentLayer = destinationLayer ;
                clonedEditor.ItemProperties.Name = destinationLayer.ParentLevel.GetUniqueNameBasedOn( clonedEditor.ItemProperties.Name ) ;

                destinationLayer.AddEditor( clonedEditor );

                clonedEditor.ItemProperties.Id = generateId( ) ;

                yield return clonedEditor ;
            }
        }
Example #49
0
        public void AddNewLayer( LayerEditor layer )
        {
            layer.ParentLevel = Level ;

            Level.Layers.Add( layer ) ;

            tryFire(
                ( ) => ItemsAddedOrRemoved,
                new[ ]
                    {
                        layer
                    } ) ;

            SelectLayer( layer ) ;
        }
Example #50
0
        public void MoveSelectedIditorsToLayer( LayerEditor chosenLayer )
        {
            var selected = SelectedEditors.ToList(  ) ;

            foreach( var eachSelectedEditor in selected )
            {
                ActiveLayer.RemoveEditor( eachSelectedEditor ) ;

                eachSelectedEditor.ParentLayer = chosenLayer ;

                chosenLayer.AddEditor( eachSelectedEditor );
            }
        }
Example #51
0
        void rebuild( )
        {
            _krypton.Lights.Clear(  );
            _krypton.Hulls.Clear(  );

            LayerEditor activeLayer = IoC.Model.ActiveLayer;

            if (activeLayer == null)
            {
                return;
            }

            activeLayer.OfType <LightEditor>( ).ForEach(
                light =>
            {
                var props = (LightProperties)light.ItemProperties;

                Texture2D texture;
                if (props.TypeOfLight == TypeOfLight.Point)
                {
                    texture = LightTextureBuilder.CreatePointLight(_game.GraphicsDevice, props.TextureSize);
                }
                else
                {
                    texture = LightTextureBuilder.CreateConicLight(_game.GraphicsDevice, props.TextureSize, props.FieldOfView);
                }

                if (texture == null)
                {
                    throw new InvalidOperationException(@"Cannot create light of type {0}.".FormatWith(props.TypeOfLight));
                }

                _krypton.Lights.Add(new Light2D
                {
                    Angle      = props.Rotation,
                    Color      = props.Color,
                    Intensity  = props.Intensity,
                    Fov        = props.FieldOfView,
                    Position   = props.Position,
                    IsOn       = props.IsOn,
                    Range      = props.Range,
                    ShadowType = convertShadowType(props.ShadowType),
                    Texture    = texture
                });
            });

            activeLayer.OfType <RectangularHullEditor>( ).ForEach(
                light =>
            {
                var props = (RectangularHullProperties)light.ItemProperties;

                ShadowHull shadowHull = ShadowHull.CreateRectangle(new Vector2(props.Width, props.Height));
                shadowHull.Angle      = props.Rotation;
                shadowHull.Opacity    = props.Opacity;
                shadowHull.Position   = props.Position + new Vector2(props.Width / 2, props.Height / 2);
                shadowHull.Scale      = props.Scale;
                shadowHull.Visible    = props.Visible;

                _krypton.Hulls.Add(shadowHull);
            });

            activeLayer.OfType <CircularHullEditor>( ).ForEach(
                light =>
            {
                var props = (CircularHullProperties)light.ItemProperties;

                ShadowHull shadowHull = ShadowHull.CreateCircle(props.Radius, props.Sides);
                shadowHull.Opacity    = props.Opacity;
                shadowHull.Position   = props.Position;
                shadowHull.Scale      = props.Scale;
                shadowHull.Visible    = props.Visible;

                _krypton.Hulls.Add(shadowHull);
            });

            activeLayer.OfType <ConvexHullEditor>( ).ForEach(
                light =>
            {
                var props = (ConvexHullProperties)light.ItemProperties;

                Vector2[] worldPoints = props.WorldPoints.ToArray( );

                // === DON'T SET THE POSITION!! ===
                ShadowHull shadowHull = ShadowHull.CreateConvex(ref worldPoints);
                shadowHull.Opacity    = props.Opacity;
                shadowHull.Visible    = props.Visible;

                _krypton.Hulls.Add(shadowHull);
            });

            activeLayer.OfType <PreShapedConvexHullEditor>( ).ForEach(
                light =>
            {
                var props = (ConvexHullProperties)light.ItemProperties;

                Vector2[] worldPoints = props.WorldPoints.ToArray( );

                // === DON'T SET THE POSITION!! ===
                ShadowHull shadowHull = ShadowHull.CreateConvex(ref worldPoints);
                shadowHull.Opacity    = props.Opacity;
                shadowHull.Visible    = props.Visible;

                _krypton.Hulls.Add(shadowHull);
            });
        }
        public override void RecreateFromXml( LayerEditor parentLayer, XElement xml )
        {
            base.RecreateFromXml( parentLayer, xml );

            _polygon = new Vector2[ 4 ] ;

            ParentLayer = parentLayer ;

            _properties = xml.Element( @"TexturedHullProperties" ).DeserializedAs<TexturedHullProperties>( ) ;

            initialiseTexture( _properties.TexturePathRelativeToContentRoot ) ;

            WhenUpdatedByUi( ) ;
        }
Example #53
0
        LayerEditor copyLayer( Legacy.Layer oldLayer )
        {
            var newLayer = new LayerEditor( null, oldLayer.Name )
                {
                    Visible = oldLayer.Visible,
                    ScrollSpeed = oldLayer.ScrollSpeed
                } ;

            convertCustomProperties( oldLayer.CustomProperties, newLayer.ItemProperties.CustomProperties) ;

            newLayer.Items.AddRange( oldLayer.Items.Select( convertItem ) ) ;

            newLayer.Items.ForEach( i => i.ParentLayer = newLayer ) ;

            return newLayer ;
        }
Example #54
0
        public override void CreateInDesignMode(LayerEditor parentLayer, IEntityCreationProperties creationProperties)
        {
            ParentLayer = parentLayer ;

            _properties= new CircularHullProperties
                {
                    Visible=true,
                    Position = MouseStatus.WorldPosition,
                    Radius = 10f,
                    Scale = Vector2.One,
                    Opacity = 1f,
                    Sides = 10,
                    FillColor = Color.Black
                } ;

            summonMainForm(  ).SetToolStripStatusLabel1(Resource1.Circle_Started);
        }
Example #55
0
        public void SelectLayer( LayerEditor value )
        {
            clearAllSelections( ) ;

            ActiveLayer = value ;
        }
Example #56
0
 public DuplicateLayerAction(LayerEditor layer)
 {
     _layer = layer;
 }
Example #57
0
        public override void RecreateFromXml( LayerEditor parentLayer, XElement xml )
        {
            ParentLayer = parentLayer ;

            _properties = xml.Element( @"RectangleItemProperties" ).DeserializedAs<RectangleItemProperties>( ) ;

            //todo: don't like having to call the base - use the Prototype
            base.RecreateFromXml( parentLayer, xml );

            WhenUpdatedByUi(  );
        }
Example #58
0
 public SelectLayerAction(LayerEditor layer)
 {
     _layer = layer;
 }
Example #59
0
 public Resizer(LayerEditor editor)
 {
     Editor = editor;
 }
 public SelectLayerAction( LayerEditor layer )
 {
     _layer = layer ;
 }