Пример #1
0
        public void CreateGrooveBuilderGrid(FrameworkElement context, Grid grid, IGridDimensions gridDimensions)
        {
            ResetGrid(context, grid);

            gridDimensions.CreateDefinitions(grid, new GridLength(1, GridUnitType.Star));

            int loopPosition = 1;

            // Traverse the columns and rows, populating each with borders.
            for (int row = 0; row < gridDimensions.Rows; row++)
            {
                for (int column = 0; column < gridDimensions.Columns; column++)
                {
                    if (gridDimensions.IsPositionAllowed(row, column))
                    {
                        GrooveContainer grooveContainer = CreateGrooveContainer(context, loopPosition);

                        Grid.SetRow(grooveContainer, row);
                        Grid.SetColumn(grooveContainer, column);
                        grid.Children.Add(grooveContainer);

                        loopPosition++;
                    }
                }
            }
        }
Пример #2
0
        private GrooveContainer CreateGrooveContainer(FrameworkElement context, int loopPosition)
        {
            var grooveContainer = new GrooveContainer(loopPosition);

            context.SafelyRegisterControl(grooveContainer);
            grooveContainers.Add(grooveContainer);

            return(grooveContainer);
        }
Пример #3
0
        private void OnItemDropped(object sender, DragDropEventArgs e)
        {
            var droppedOnto = e.DroppedOn as GrooveContainer;
            var itemDragged = e.DraggedElement as TreeViewItem;

            if (droppedOnto != null && itemDragged != null)
            {
                GrooveContainer grooveContainer = sampleGrid.GrooveContainerAtBar(droppedOnto.BarPosition);

                Groove grooveDragged = libraryManager.DisplayedGrooves.Find(DoesItemDraggedMatchGroove(itemDragged));

                if (grooveContainer != null && grooveDragged != null)
                {
                    SetNewGroove(grooveContainer, grooveDragged);
                }
            }
        }
Пример #4
0
        private void SetNewGroove(GrooveContainer grooveContainer, Groove groove)
        {
            grooveContainer.HoldNewGroove(groove);

            groovePlayer.ChangeAudio(groove.Audio, grooveContainer.BarPosition);
        }
Пример #5
0
        private void SetRandomGroove(List <string> tags, GrooveContainer grooveContainer)
        {
            Groove randomGroove = libraryManager.GetRandomGroove(tags);

            SetNewGroove(grooveContainer, randomGroove);
        }