public void InitActionTreeCallback() { ActionTree.SuspendLayout(); int selectedIndex = -1; if (ActionTree.SelectedNode != null) selectedIndex = ActionTree.Nodes.IndexOf(ActionTree.SelectedNode); ActionTree.Nodes.Clear(); foreach (IPBComposite composite in PB.CurrentProfile.Branch.Children) { TreeNode node = new TreeNode(composite.Title); node.ForeColor = composite.Color; node.Tag = composite; if (composite is GroupComposite) { ActionTreeAddChildren((GroupComposite)composite, node); } ActionTree.Nodes.Add(node); } //ActionTree.ExpandAll(); if (selectedIndex != -1) { if (selectedIndex < ActionTree.Nodes.Count) ActionTree.SelectedNode = ActionTree.Nodes[selectedIndex]; else ActionTree.SelectedNode = ActionTree.Nodes[ActionTree.Nodes.Count - 1]; } ActionTree.ResumeLayout(); }
private void RefreshActionTreeCallback(IPBComposite pbComp, Type type) { ActionTree.SuspendLayout(); foreach (TreeNode node in ActionTree.Nodes) { UdateTreeNode(node, pbComp, type, true); } ActionTree.ResumeLayout(); }
private void ActionGrid_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) { if (ActionGrid.SelectedObject is CastSpellAction && ((CastSpellAction)ActionGrid.SelectedObject).IsRecipe) { CastSpellAction ca = (CastSpellAction)ActionGrid.SelectedObject; PB.UpdateMaterials(); RefreshTradeSkillTabs(); RefreshActionTree(typeof(CastSpellAction)); } else { ActionTree.SuspendLayout(); UdateTreeNode(ActionTree.SelectedNode, null, null, false); ActionTree.ResumeLayout(); } if (PB.CodeWasModified) PB.GenorateDynamicCode(); }
private void ActionGridPropertyValueChanged(object s, PropertyValueChangedEventArgs e) { if (ActionGrid.SelectedObject is CastSpellAction && ((CastSpellAction)ActionGrid.SelectedObject).IsRecipe) { _pb.UpdateMaterials(); RefreshTradeSkillTabs(); RefreshActionTree(typeof(CastSpellAction)); } else { ActionTree.SuspendLayout(); UdateTreeNode(ActionTree.SelectedNode, null, null, false); ActionTree.ResumeLayout(); } if (DynamicCodeCompiler.CodeWasModified) { new Thread(DynamicCodeCompiler.GenorateDynamicCode) { IsBackground = true }.Start(); } }
private void InitActionTreeCallback() { ActionTree.SuspendLayout(); int selectedIndex = -1; if (ActionTree.SelectedNode != null) { selectedIndex = ActionTree.Nodes.IndexOf(ActionTree.SelectedNode); } ActionTree.Nodes.Clear(); foreach (var comp in ProfessionbuddyBot.Instance.Branch.Children.OfType <IPBComponent>()) { ActionTree.Nodes.Add(GenerateTreeViewFromBehaviorTree(comp, null)); } //ActionTree.ExpandAll(); if (selectedIndex != -1) { ActionTree.SelectedNode = selectedIndex < ActionTree.Nodes.Count ? ActionTree.Nodes[selectedIndex] : ActionTree.Nodes[ActionTree.Nodes.Count - 1]; } ActionTree.ResumeLayout(); }
private void InitActionTreeCallback() { ActionTree.SuspendLayout(); int selectedIndex = -1; if (ActionTree.SelectedNode != null) { selectedIndex = ActionTree.Nodes.IndexOf(ActionTree.SelectedNode); } ActionTree.Nodes.Clear(); foreach (IPBComposite composite in _pb.PbBehavior.Children) { var node = new TreeNode(composite.Title) { ForeColor = composite.Color, Tag = composite }; if (composite is GroupComposite) { ActionTreeAddChildren((GroupComposite)composite, node); } ActionTree.Nodes.Add(node); } //ActionTree.ExpandAll(); if (selectedIndex != -1) { if (selectedIndex < ActionTree.Nodes.Count) { ActionTree.SelectedNode = ActionTree.Nodes[selectedIndex]; } else { ActionTree.SelectedNode = ActionTree.Nodes[ActionTree.Nodes.Count - 1]; } } ActionTree.ResumeLayout(); }
private void AddToActionTree(object action, TreeNode dest) { bool ignoreRoot = (_copyAction & CopyPasteOperactions.IgnoreRoot) == CopyPasteOperactions.IgnoreRoot; bool cloneActions = (_copyAction & CopyPasteOperactions.Copy) == CopyPasteOperactions.Copy; TreeNode newNode; if (action is TreeNode) { if (cloneActions) { newNode = RecursiveCloning(((TreeNode)action)); } else { newNode = (TreeNode)((TreeNode)action).Clone(); } } else if (action.GetType().GetInterface("IPBComposite") != null) { var composite = (IPBComposite)action; newNode = new TreeNode(composite.Title) { ForeColor = composite.Color, Tag = composite }; } else { return; } ActionTree.SuspendLayout(); if (dest != null) { int treeIndex = action is TreeNode && ((TreeNode)action).Parent == dest.Parent && ((TreeNode)action).Index <= dest.Index && !cloneActions ? dest.Index + 1 : dest.Index; GroupComposite gc; // If, While and SubRoutines are Decorators... if (!ignoreRoot && dest.Tag is GroupComposite) { gc = (GroupComposite)dest.Tag; } else { gc = (GroupComposite)((Composite)dest.Tag).Parent; } if ((dest.Tag is If || dest.Tag is SubRoutine) && !ignoreRoot) { dest.Nodes.Add(newNode); gc.AddChild((Composite)newNode.Tag); if (!dest.IsExpanded) { dest.Expand(); } } else { if (dest.Index >= gc.Children.Count) { gc.AddChild((Composite)newNode.Tag); } else { gc.InsertChild(dest.Index, (Composite)newNode.Tag); } if (dest.Parent == null) { if (treeIndex >= ActionTree.Nodes.Count) { ActionTree.Nodes.Add(newNode); } else { ActionTree.Nodes.Insert(treeIndex, newNode); } } else { if (treeIndex >= dest.Parent.Nodes.Count) { dest.Parent.Nodes.Add(newNode); } else { dest.Parent.Nodes.Insert(treeIndex, newNode); } } } } else { ActionTree.Nodes.Add(newNode); _pb.PbBehavior.AddChild((Composite)newNode.Tag); } ActionTree.ResumeLayout(); }
private void AddToActionTree(object action, TreeNode dest) { bool ignoreRoot = (_copyAction & CopyPasteOperactions.IgnoreRoot) == CopyPasteOperactions.IgnoreRoot; bool cloneActions = (_copyAction & CopyPasteOperactions.Copy) == CopyPasteOperactions.Copy; TreeNode newNode; var node = action as TreeNode; if (node != null) { if (cloneActions) { var newComp = (((IPBComponent)node.Tag).DeepCopy()); newNode = GenerateTreeViewFromBehaviorTree(newComp, null); } else { newNode = (TreeNode)node.Clone(); } } else { var pbComponent = action as IPBComponent; if (pbComponent != null) { var composite = pbComponent; newNode = new TreeNode(composite.Title) { ForeColor = composite.Color, Tag = composite }; } else { return; } } ActionTree.SuspendLayout(); if (dest != null) { int treeIndex = action is TreeNode && ((TreeNode)action).Parent == dest.Parent && ((TreeNode)action).Index <= dest.Index && !cloneActions ? dest.Index + 1 : dest.Index; Composite gc; // If, While and SubRoutines are Decorators... if (!ignoreRoot && dest.Tag is Composite) { gc = (Composite)dest.Tag; } else { gc = (Composite)((Component)dest.Tag).Parent; } if ((dest.Tag is PBComposite) && !ignoreRoot) { dest.Nodes.Add(newNode); gc.AddChild((Component)newNode.Tag); if (!dest.IsExpanded) { dest.Expand(); } } else { if (dest.Index >= gc.Children.Count) { gc.AddChild((Component)newNode.Tag); } else { gc.InsertChild(dest.Index, (Component)newNode.Tag); } if (dest.Parent == null) { if (treeIndex >= ActionTree.Nodes.Count) { ActionTree.Nodes.Add(newNode); } else { ActionTree.Nodes.Insert(treeIndex, newNode); } } else { if (treeIndex >= dest.Parent.Nodes.Count) { dest.Parent.Nodes.Add(newNode); } else { dest.Parent.Nodes.Insert(treeIndex, newNode); } } } } else { ActionTree.Nodes.Add(newNode); ProfessionbuddyBot.Instance.Branch.AddChild((Component)newNode.Tag); } ActionTree.ResumeLayout(); }
void AddToActionTree(object action, TreeNode dest) { bool ignoreRoot = (copyAction & CopyPasteOperactions.IgnoreRoot) == CopyPasteOperactions.IgnoreRoot ? true : false; bool cloneActions = (copyAction & CopyPasteOperactions.Copy) == CopyPasteOperactions.Copy ? true : false; TreeNode newNode = null; if (action is TreeNode) { if (cloneActions) { newNode = RecursiveCloning(((TreeNode)action)); } else newNode = (TreeNode)((TreeNode)action).Clone(); } else if (action.GetType().GetInterface("IPBComposite") != null) { IPBComposite composite = (IPBComposite)action; newNode = new TreeNode(composite.Title); newNode.ForeColor = composite.Color; newNode.Tag = composite; } else return; ActionTree.SuspendLayout(); if (dest != null) { int treeIndex = action is TreeNode && ((TreeNode)action).Parent == dest.Parent && ((TreeNode)action).Index <= dest.Index && !cloneActions ? dest.Index + 1 : dest.Index; GroupComposite gc = null; // If, While and SubRoutines are Decorators... if (!ignoreRoot && dest.Tag is GroupComposite) gc = (GroupComposite)dest.Tag; else gc = (GroupComposite)((Composite)dest.Tag).Parent; if ((dest.Tag is If || dest.Tag is SubRoutine) && !ignoreRoot) { dest.Nodes.Add(newNode); gc.AddChild((Composite)newNode.Tag); if (!dest.IsExpanded) dest.Expand(); } else { if (dest.Index >= gc.Children.Count) gc.AddChild((Composite)newNode.Tag); else gc.InsertChild(dest.Index, (Composite)newNode.Tag); if (dest.Parent == null) { if (treeIndex >= ActionTree.Nodes.Count) ActionTree.Nodes.Add(newNode); else ActionTree.Nodes.Insert(treeIndex, newNode); } else { if (treeIndex >= dest.Parent.Nodes.Count) dest.Parent.Nodes.Add(newNode); else dest.Parent.Nodes.Insert(treeIndex, newNode); } } } else { ActionTree.Nodes.Add(newNode); PB.CurrentProfile.Branch.AddChild((Composite)newNode.Tag); } ActionTree.ResumeLayout(); }