SHOW:
|
|
- or go back to the newest paste.
| 1 | private void border1_Click( object sender, RoutedEventArgs e ) | |
| 2 | {
| |
| 3 | ||
| 4 | Point p = ( ( MouseEventArgs )e.OriginalSource ).GetPosition( border1.Child ); | |
| 5 | Vector2D v = new Vector2D( p.X, p.Y ); | |
| 6 | v = v * multransform + addtransform; | |
| 7 | SkillTree.SkillNode node = null; | |
| 8 | ||
| 9 | var nodes = Tree.Skillnodes.Where(n => ((n.Value.Position - v).Length < 50)); | |
| 10 | if (nodes != null && nodes.Count() != 0) | |
| 11 | {
| |
| 12 | node = nodes.First().Value; | |
| 13 | ||
| 14 | if (Tree.SkilledNodes.Contains(node.id)) | |
| 15 | {
| |
| 16 | Tree.ForceRefundNode(node.id); | |
| 17 | UpdateAllAttributeList(); | |
| 18 | ||
| 19 | prePath = Tree.GetShortestPathTo(node.id); | |
| 20 | Tree.DrawPath(prePath); | |
| 21 | } | |
| 22 | else if (prePath != null) | |
| 23 | {
| |
| 24 | foreach (ushort i in prePath) | |
| 25 | {
| |
| 26 | Tree.SkilledNodes.Add(i); | |
| 27 | } | |
| 28 | UpdateAllAttributeList(); | |
| 29 | Tree.UpdateAvailNodes(); | |
| 30 | ||
| 31 | toRemove = Tree.ForceRefundNodePreview(node.id); | |
| 32 | if (toRemove != null) | |
| 33 | Tree.DrawRefundPreview(toRemove); | |
| 34 | } | |
| 35 | } | |
| 36 | tbSkillURL.Text = Tree.SaveToURL( ); | |
| 37 | } |