Ejemplo n.º 1
0
        private void MyCanvas_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (ClikOnCanvas)
            {
                TreeTop.ToolNow.MouseUp(e.GetPosition(MyCanvas));

                if (!(TreeTop.ToolNow is AllotmentTool) & !(TreeTop.ToolNow is ZoomTool) & !(TreeTop.ToolNow is HandTool))
                {
                    TreeTop.AddState();
                    gotoPastCondition.IsEnabled   = true;
                    gotoSecondCondition.IsEnabled = false;
                }
                if (TreeTop.ToolNow is ZoomTool)
                {
                    MyCanvas.LayoutTransform = new ScaleTransform(TreeTop.ScaleRateX, TreeTop.ScaleRateY);
                    ScrollViewerCanvas.ScrollToVerticalOffset(TreeTop.DistanceToPointY * TreeTop.ScaleRateY);
                    ScrollViewerCanvas.ScrollToHorizontalOffset(TreeTop.DistanceToPointX * TreeTop.ScaleRateX);
                }
                if (TreeTop.ToolNow is HandForFigureTool)
                {
                    TreeTop.ToolNow = TreeTop.TransformTools["Allotment"];
                }
                ClikOnCanvas = false;
                Invalidate();
            }
        }
Ejemplo n.º 2
0
 public MainWindow()
 {
     InitializeComponent();
     Instance = this;
     MyCanvas.Children.Add(Paint.TreeTop.FigureHost);
     ButtonGeneration.Generation();
     TreeTop.AddState();
 }
Ejemplo n.º 3
0
 private void GotoSecondCondition_Click(object sender, RoutedEventArgs e)
 {
     TreeTop.GotoSecondState();
     if (TreeTop.ConditionNumber == TreeTop.StatesCanvas.Count)
     {
         gotoSecondCondition.IsEnabled = false;
     }
     gotoPastCondition.IsEnabled = true;
     Invalidate();
 }
Ejemplo n.º 4
0
 public void CleanMyCanvas(object sender, RoutedEventArgs e)
 {
     TreeTop.FigureHost.Children.Clear();
     TreeTop.Figures.Clear();
     TreeTop.ConditionNumber = 0;
     TreeTop.StatesCanvas.Clear();
     TreeTop.AddState();
     gotoPastCondition.IsEnabled   = false;
     gotoSecondCondition.IsEnabled = false;
 }
Ejemplo n.º 5
0
 public void ChangeDash(object sender, RoutedEventArgs e)
 {
     foreach (Figure figure in TreeTop.Figures)
     {
         if (figure.Selected == true)
         {
             figure.ChangePen(TreeTop.TransformDashProp[(sender as System.Windows.Controls.Button).Content.ToString()], (sender as System.Windows.Controls.Button).Content.ToString());
         }
     }
     TreeTop.AddState();
     gotoPastCondition.IsEnabled   = true;
     gotoSecondCondition.IsEnabled = false;
     Invalidate();
 }
Ejemplo n.º 6
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.CompareTag("Wood"))
     {
         TreeBody treebody = collision.transform.GetComponent <TreeBody>();
         treebody.DealDamage();
         Debug.Log("Dealing Damage");
     }
     if (collision.gameObject.CompareTag("treeTop"))
     {
         TreeTop treetop = collision.transform.GetComponent <TreeTop>();
         treetop.DealDamage();
         Debug.Log("Dealing Damage");
     }
 }
Ejemplo n.º 7
0
 public void ClearSelectedFigure(object sender, RoutedEventArgs e)
 {
     foreach (Figure figure in TreeTop.Figures.ToArray())
     {
         if (figure.Selected == true)
         {
             TreeTop.Figures.Remove(figure);
         }
     }
     PropToolBarPanel.Children.Clear();
     TreeTop.AddState();
     gotoPastCondition.IsEnabled   = true;
     gotoSecondCondition.IsEnabled = false;
     Invalidate();
 }
Ejemplo n.º 8
0
        private void LoadButton_Click(object sender, RoutedEventArgs e)
        {
            if (TreeTop.Figures.Count != 0)
            {
                DialogResult dialogResult = System.Windows.Forms.MessageBox.Show("Сохранить текущее изображение?", "", MessageBoxButtons.YesNo);
                if (dialogResult == System.Windows.Forms.DialogResult.Yes)
                {
                    SaveFileDialog sfd = new SaveFileDialog
                    {
                        Title           = "Сохранить как",
                        OverwritePrompt = true,
                        CheckPathExists = true,
                        Filter          = "Files(*.bin)|*.bin"
                    };
                    sfd.ShowDialog();
                    if (sfd.FileName != "")
                    {
                        FileStream      file = (FileStream)sfd.OpenFile();
                        BinaryFormatter bin  = new BinaryFormatter();
                        bin.Serialize(file, TreeTop.Figures);
                        file.Close();
                    }
                }
            }
            TreeTop.Figures.Clear();
            OpenFileDialog ofd = new OpenFileDialog
            {
                Filter = "Files(*.bin)|*.bin",
                Title  = "Открыть"
            };

            ofd.ShowDialog();
            if (ofd.FileName != "")
            {
                Stream          file         = (FileStream)ofd.OpenFile();
                BinaryFormatter deserializer = new BinaryFormatter();
                TreeTop.Figures = (List <Figure>)deserializer.Deserialize(file);
                file.Close();
                Invalidate();
            }
            TreeTop.StatesCanvas.Clear();
            TreeTop.ConditionNumber = 0;
            TreeTop.AddState();
            gotoPastCondition.IsEnabled   = false;
            gotoSecondCondition.IsEnabled = false;
        }
Ejemplo n.º 9
0
        public void TreeVolumeTest()
        {
            var m1 = new ValuePhantom { new ValueString('1'), new ValueString('2'), new ValueString('3') };
            var m2 = new ValuePhantom { new ValueString('4'), new ValueString('3') };
            var m3 = new ValuePhantom { new ValueString('a') };

            var test = new BaseChain(4);
            test.Set(m1, 0);
            test.Set(m2, 1);
            test.Set(m2, 2);
            test.Set(m3, 3);

            IGenerator gen = new SimpleGenerator();
            var tree = new TreeTop(test, gen);
            Assert.AreEqual(12, tree.Volume);
            var ch1 = tree.GetChild(0);
            Assert.AreEqual(4, ch1.Volume);
            var ch2 = tree.GetChild(1);
            Assert.AreEqual(4, ch2.Volume);
            var ch3 = tree.GetChild(2);
            Assert.AreEqual(4, ch3.Volume);
        }
Ejemplo n.º 10
0
        private void Window_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
        {
            if (e.Key == Key.C & Keyboard.Modifiers == ModifierKeys.Control)
            {
                TreeTop.RemoveBufferFigures();
                TreeTop.SaveToBuffer(TreeTop.FiguresBuffer);
            }

            if (e.Key == Key.V & Keyboard.Modifiers == ModifierKeys.Control)
            {
                TreeTop.LoadFromBuffer();
                Invalidate();
            }

            if (e.Key == Key.Z & Keyboard.Modifiers == ModifierKeys.Control)
            {
                GotoPastCondition_Click(sender, e);
            }

            if (e.Key == Key.Y & Keyboard.Modifiers == ModifierKeys.Control)
            {
                GotoSecondCondition_Click(sender, e);
            }
        }
Ejemplo n.º 11
0
 public void SldMouseUp(object sender, MouseButtonEventArgs e)
 {
     TreeTop.AddState();
     gotoPastCondition.IsEnabled   = true;
     gotoSecondCondition.IsEnabled = false;
 }
Ejemplo n.º 12
0
 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
 {
     TreeTop.ClearBuffer();
 }