示例#1
0
 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);
         }
     }
 }
示例#2
0
        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();
        }