Exemple #1
0
        private void Open()
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = "Xml File (*.xml)|*.xml|PNG File|*.png";

            if (dlg.ShowDialog() == true)
            {
                if (dlg.FilterIndex == 1)
                {
                    New();
                    layerSystem = LayerManager.Load(dlg.FileName);
                    for (int i = 0; i < layerSystem.CountLayer(); i++)
                    {
                        layerDisplay = layerSystem.GetLayerDisplay(i);
                        grdLayer.Children.Add(layerDisplay.Get());
                        curLayerIndex = i;

                        RowDefinition rowDefinition = new RowDefinition();
                        rowDefinition.Height = new GridLength(LayerDisplay.distance);
                        grdLayer.RowDefinitions.Add(rowDefinition);
                        Grid.SetRow(layerDisplay.Get(), i);

                        UpdateLayerImage();
                    }
                }
                else
                {
                    AddNewAction(new Actions.Drawing(layerSystem.GetLayer(curLayerIndex),
                                                     new GraphicElement.Image(dlg.FileName)));
                }
            }
        }
Exemple #2
0
        void ld_Deleted(object sender, EventArgs e)
        {
            var senderld = sender as LayerDisplay;
            var index    = layers.IndexOf(senderld);

            layers.Remove(senderld);
            Relocate();
            index--;
            if (index >= layers.Count)
            {
                index = layers.Count - 1;
            }
            if (index < 0)
            {
                index = 0;
            }
            if (layers.Count != 0)
            {
                LayerDisplay ld = layers[index];
                if (ld != null)
                {
                    ld.SelectedWithEvent = true;
                }
            }
            WindowUtility.Seekmain.DrawAndRefresh();
            ContentChanged();
        }
Exemple #3
0
        public void HideLayer(LayerDisplay layerDisplay)
        {
            int index = FindLayerIndex(layerDisplay);

            layerSystem.GetLayer(index).Visibility = false;
            Refresh();
        }
Exemple #4
0
        public void ShowLayer(LayerDisplay layerDisplay)
        {
            int index = FindLayerIndex(layerDisplay);

            layerSystem.GetLayer(index).Visibility = true;
            Refresh();
        }
Exemple #5
0
        public void SelectLayer(LayerDisplay newLayerDisplay)
        {
            layerDisplay = newLayerDisplay;

            curLayerIndex = FindLayerIndex(newLayerDisplay);

            curGraphic = null;
            Refresh();
        }
Exemple #6
0
        public void DeleteLayer(LayerDisplay layerDisplay)
        {
            int index = FindLayerIndex(layerDisplay);

            layerSystem.DeleteLayer(index);
            grdLayer.Children.RemoveAt(index);
            AdjustLayerPosition(index);

            if (grdLayer.Children.Count == 0)
            {
                NewLayer();
            }
            SelectFirstLayer();

            Refresh();
        }
Exemple #7
0
        private void NewLayer()
        {
            layerSystem.NewLayer();
            curLayerIndex = layerSystem.CurrentLayer;
            layerDisplay  = layerSystem.GetLayerDisplay(curLayerIndex);
            UpdateLayerImage();
            grdLayer.Children.Add(layerDisplay.Get());

            if (curLayerIndex > grdLayer.RowDefinitions.Count - 1)
            {
                RowDefinition rowDefinition = new RowDefinition();
                rowDefinition.Height = new GridLength(LayerDisplay.distance);
                grdLayer.RowDefinitions.Add(rowDefinition);
            }

            Grid.SetRow(layerDisplay.Get(), curLayerIndex);
        }
Exemple #8
0
        public void MergeUp(LayerDisplay layerDisplay)
        {
            curGraphic = null;

            int index = FindLayerIndex(layerDisplay);

            if (index != 0)
            {
                layerSystem.MergeLayer(index - 1, index);
                if (curLayerIndex == index)
                {
                    curLayerIndex = index - 1;
                    layerSystem.GetLayerDisplay(curLayerIndex).Select();
                }
                DeleteLayer(layerDisplay);
            }

            UpdateLayerImage();
        }
Exemple #9
0
        public void MergeDown(LayerDisplay layerDisplay)
        {
            curGraphic = null;

            int index = FindLayerIndex(layerDisplay);

            if (index != layerSystem.LayerDisplays.Count)
            {
                layerSystem.MergeLayer(index, index + 1);
                if (curLayerIndex == index + 1)
                {
                    curLayerIndex = index;
                    layerSystem.GetLayerDisplay(curLayerIndex).Select();
                }
                DeleteLayer(Find(index + 1));
            }

            UpdateLayerImage();
        }
Exemple #10
0
    public void showLevel()
    {
        //display input layer
        GameObject inputObject = (GameObject)Instantiate(LayerDisplayPrefab);

        inputDisplay           = inputObject.GetComponent <LayerDisplay>();
        inputDisplay.thisLayer = level.getInputLayer();
        inputDisplay.ShowLayer();

        hiddenDisplays = new LayerDisplay[level.getNumHiddenLayer()];
        //display hidden layers
        for (int i = 0; i < level.getNumHiddenLayer(); i++)
        {
            GameObject hiddenObject = (GameObject)Instantiate(LayerDisplayPrefab);
            hiddenDisplays[i]           = hiddenObject.GetComponent <LayerDisplay>();
            hiddenDisplays[i].thisLayer = level.get_ith_hidden_layer(i);
            hiddenDisplays[i].ShowLayer();
        }

        //display output later
        GameObject outputObject = (GameObject)Instantiate(LayerDisplayPrefab);

        outputDisplay           = outputObject.GetComponent <LayerDisplay>();
        outputDisplay.thisLayer = level.getOutputLayer();
        outputDisplay.ShowLayer();


        //display target
        targets = new NodeDisplay[level.getGoal().Length];
        Vector2 targetPosition = level.getOutputLayer().get_ith_position(0) + Vector2.right * LevelCreator.layerSpace;

        for (int i = 0; i < level.getGoal().Length; i++)
        {
            Node       node           = level.getGoal()[i];
            GameObject targetInstance = Instantiate(targetDisplayPrefab, targetPosition, Quaternion.identity);
            NodeSetUp  targetSetUp    = targetInstance.GetComponent <NodeSetUp>();
            targetSetUp.startingNode  = node;
            targetSetUp.startFromNode = true;
            targetSetUp.enableNode();
            targetPosition.y -= Layer.SPACE;
            targets[i]        = targetSetUp.display;
        }
    }
Exemple #11
0
        public void MoveDownLayer(LayerDisplay layerDisplay)
        {
            int index = FindLayerIndex(layerDisplay);

            if (layerSystem.MoveDown(index))
            {
                UIElement uiElement1 = Find(index).Get();
                UIElement uiElement2 = Find(index + 1).Get();
                Grid.SetRow(uiElement1, index + 1);
                Grid.SetRow(uiElement2, index);
            }


            if (curLayerIndex == index)
            {
                curLayerIndex += 1;
            }

            Refresh();
        }
Exemple #12
0
        private void ChangeDisplayData()
        {
            LayerDisplay sld = SelectedLayer;

            if (sld != null && (sld != lastld || sld.PPDData.BPM != lastBPM || sld.PPDData.BPMStart != lastBPMOffset ||
                                sld.PPDData.DisplayWidth != lastDisplayWidth || sld.PPDData.BeatType != lastBeatType))
            {
                WindowUtility.Seekmain.SetSelectedSheetInfo(sld.PPDData.BPM, sld.PPDData.BPMStart, sld.PPDData.DisplayWidth,
                                                            sld.PPDData.DisplayMode, sld.PPDData.BeatType);
                lastld                              = sld;
                lastBPM                             = sld.PPDData.BPM;
                lastBPMOffset                       = sld.PPDData.BPMStart;
                lastDisplayWidth                    = sld.PPDData.DisplayWidth;
                lastDisplayMode                     = sld.PPDData.DisplayMode;
                lastBeatType                        = sld.PPDData.BeatType;
                WindowUtility.MainForm.BPM          = lastBPM;
                WindowUtility.MainForm.BPMOffset    = lastBPMOffset;
                WindowUtility.MainForm.DisplayWidth = lastDisplayWidth;
                WindowUtility.MainForm.DisplayMode  = lastDisplayMode;
                WindowUtility.MainForm.BeatType     = lastBeatType;
            }
        }
Exemple #13
0
        private LayerDisplay CreateLayerDisplay(string layername, float bpm, float bpmoffset, int displaywidth, DisplayLineMode displayMode, DisplayBeatType beatType)
        {
            var ld = new LayerDisplay();

            ld.SetLang();
            ld.DisplayName                 = layername;
            ld.BPM                         = BPMtext + " " + bpm;
            ld.PPDData.BPM                 = bpm;
            ld.PPDData.BPMStart            = bpmoffset;
            ld.PPDData.DisplayWidth        = displaywidth;
            ld.PPDData.DisplayName         = layername;
            ld.PPDData.DisplayMode         = displayMode;
            ld.PPDData.BeatType            = beatType;
            ld.MouseDown                  += ld_MouseDown;
            ld.MouseMove                  += ld_MouseMove;
            ld.MouseUp                    += ld_MouseUp;
            ld.SelectStateChanged         += ld_SelectStateChanged;
            ld.Deleted                    += ld_Deleted;
            ld.Duplicated                 += ld_Duplicated;
            ld.VisibleStateChanged        += ld_VisibleStateChanged;
            ld.PPDData.DisplayDataChanged += PPDData_DisplayDataChanged;
            ld.PPDData.CommandChanged     += PPDData_CommandChanged;
            return(ld);
        }
Exemple #14
0
 private void AddLayerToPanel(LayerDisplay ld)
 {
     layers.Add(ld);
     Relocate();
 }
Exemple #15
0
        public void SelectFirstLayer()
        {
            layerDisplay = layerSystem.GetLayerDisplay(0);

            layerDisplay.Select();
        }
Exemple #16
0
 private int FindLayerIndex(LayerDisplay layerDisplay)
 {
     return(Grid.GetRow(layerDisplay.Get()));
 }