Oglr.Canvas.StartCopyingSelectedItems C# (CSharp) Method

StartCopyingSelectedItems() public method

public StartCopyingSelectedItems ( ) : void
return void
        public void StartCopyingSelectedItems()
        {
            var clonedItems = new List<ItemEditor>( ) ;

            LevelEditor level = getLevel( ) ;

            var editors = selectedEditors( ) ;
            foreach( ItemEditor eachEditor in editors )
            {
                ItemEditor clone = eachEditor.Clone( ) ;

                int nextItemNumber = level.GetNextItemNumber( ) ;

                ItemProperties itemProperties = clone.ItemProperties ;

                itemProperties.Name = @"{0}_{1}".FormatWith(itemProperties.Name.TrimEnd( _toTrim ), nextItemNumber) ;
                itemProperties.Id = level.GenerateId( nextItemNumber ) ;

                clone.IsSelected = true ;
                eachEditor.IsSelected = false ;

                clonedItems.Add( clone ) ;
            }

            IoC.Memento.BeginCommand( "Copy {0} item(s)".FormatWith( clonedItems.Count ) ) ;

            level.AddEditors( clonedItems ) ;

            IoC.Model.SelectEditors( new SelectedEditors( clonedItems ) ) ;

            startMoving( ) ;
        }