private void 制ToolStripMenuItem_Click(object sender, EventArgs e) { if (m_SelectionNodes.Count > 1) { MainForm.Instance.ShowMessage("请不要选择多个节点进行复制"); return; } if (m_SelectionNodes.Count != 1) { return; } EditorUtility.CopyNode copyNode = EditorUtility.CopyNodeAndChilds(m_SelectionNodes[0]); Clipboard.Clear(); Clipboard.SetText(XmlUtility.ObjectToString(copyNode)); MainForm.Instance.ShowInfo("您复制了1个节点!!!"); }
/// <summary> /// 粘贴 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void pasteItem_Click(object sender, EventArgs e) { try { EditorUtility.CopyNode pasteNode = XmlUtility.StringToObject <EditorUtility.CopyNode>(Clipboard.GetText()); EditorUtility.CopyNode.FreshTransition(pasteNode); EditorUtility.AddNode(BehaviorTree, pasteNode.Node); SelectNodeWithChildren(pasteNode.Node); Vec2 offset = m_MouseWorldPoint - new Vec2(pasteNode.Node.Rect.x, pasteNode.Node.Rect.y); EditorUtility.SetNodePositoin(pasteNode.Node, offset); MainForm.Instance.ShowInfo("粘贴成功!!!"); } catch (Exception ex) { MainForm.Instance.ShowInfo("无法进行粘贴,错误信息:" + ex.Message); MainForm.Instance.ShowMessage("无法进行粘贴,错误信息:" + ex.Message, "警告"); } }