コード例 #1
0
        private void LoadScene(string filename)
        {
            lines.Clear();
            lineGroups.Clear();
            MainCanvas.Children.Clear();
            currentSelection.Clear();
            lastClickedLine = null;

            using (FileStream fs = new FileStream(filename, FileMode.OpenOrCreate))
            {
                BinaryFormatter      binaryFormatter    = new BinaryFormatter();
                List <ICanvasObject> linesWithoutGroups = (List <ICanvasObject>)binaryFormatter.Deserialize(fs);
                lineGroups = (List <LineGroup>)binaryFormatter.Deserialize(fs);

                foreach (var line in linesWithoutGroups)
                {
                    MyLine myLine = line as MyLine;
                    myLine.SetLineValues();
                    MainCanvas.Children.Add(myLine.Line);
                    lines.Add(myLine.Line, myLine);
                }

                foreach (var group in lineGroups)
                {
                    LineGroup myGroup = group as LineGroup;
                    foreach (var line in myGroup.Lines)
                    {
                        line.SetLineValues();
                        MainCanvas.Children.Add(line.Line);
                        lines.Add(line.Line, myGroup);
                    }
                }

                MessageBox.Show("Load completed!");
            }
        }