private void OnActionMapSelection() { if (m_ActionMapsTree.GetSelectedRow() != null) { m_ActionsTree.actionMapProperty = m_ActionMapsTree.GetSelectedRow().elementProperty; } m_ActionsTree.Reload(); if (m_ActionMapsTree.GetSelectedRow() != null) { var row = m_ActionMapsTree.GetSelectedRow(); if (!m_SelectedActionMaps.Contains(row.displayName)) { m_ActionsTree.SetExpandedRecursive(m_ActionsTree.GetRootElement().id, true); m_SelectedActionMaps.Add(row.displayName); } } }
private void HandleCopyEvent() { if (!CanCopySelection()) { EditorGUIUtility.systemCopyBuffer = null; EditorApplication.Beep(); return; } var selectedRows = GetSelectedRows(); var rowTypes = selectedRows.Select(r => r.GetType()).Distinct().ToList(); // Don't allow to copy different type. It will hard to handle pasting if (rowTypes.Count() > 1) { EditorGUIUtility.systemCopyBuffer = null; EditorApplication.Beep(); return; } var copyList = new StringBuilder(k_InputAssetMarker); foreach (var row in selectedRows) { copyList.Append(row.GetType().Name + "\n"); copyList.Append(row.SerializeToString()); copyList.Append(k_InputAssetMarker); if (m_ActionMapsTree != null && m_ActionMapsTree.HasFocus()) { CopyChildrenItems(m_ActionsTree.GetRootElement(), copyList); } if (row.hasChildren) { CopyChildrenItems(row, copyList); } } EditorGUIUtility.systemCopyBuffer = copyList.ToString(); }