12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using UnityEngine.UIElements;
- using UnityEditor.ShortcutManagement;
-
- namespace UnityEditor.U2D.Animation
- {
- internal static class ShortcutIds
- {
- public const string toggleToolText = "2D/Animation/Toggle Tool Text";
- public const string restoreBindPose = "2D/Animation/Restore Bind Pose";
- public const string toggleCharacterMode = "2D/Animation/Toggle Character Mode";
- public const string previewPose = "2D/Animation/Preview Pose";
- public const string editBone = "2D/Animation/Edit Bone";
- public const string createBone = "2D/Animation/Create Bone";
- public const string splitBone = "2D/Animation/Split Bone";
- public const string autoGeometry = "2D/Animation/Auto Geometry";
- public const string editGeometry = "2D/Animation/Edit Geometry";
- public const string createVertex = "2D/Animation/Create Vertex";
- public const string createEdge = "2D/Animation/Create Edge";
- public const string splitEdge = "2D/Animation/Split Edge";
- public const string autoWeights = "2D/Animation/Auto Weights";
- public const string weightSlider = "2D/Animation/Weight Slider";
- public const string weightBrush = "2D/Animation/Weight Brush";
- public const string boneInfluence = "2D/Animation/Bone Influence";
- public const string spriteInfluence = "2D/Animation/Sprite Influence";
- public const string pastePanelWeights = "2D/Animation/Paste Panel Weights";
- public const string visibilityPanel = "2D/Animation/Visibility Panel";
- public const string characterPivot = "2D/Animation/Character Pivot";
- }
-
- internal class ShortcutUtility
- {
- public System.Action OnShortcutChanged;
-
- private string[] m_ShortcutIds;
-
- public ShortcutUtility(params string[] shortcutIds)
- {
- m_ShortcutIds = shortcutIds;
- ShortcutManager.instance.shortcutBindingChanged += OnBindingChanged;
- ShortcutManager.instance.activeProfileChanged += OnProfileChanged;
- }
-
- ~ShortcutUtility()
- {
- ShortcutManager.instance.shortcutBindingChanged -= OnBindingChanged;
- ShortcutManager.instance.activeProfileChanged -= OnProfileChanged;
- }
-
- private void OnBindingChanged(ShortcutBindingChangedEventArgs args)
- {
- foreach (var id in m_ShortcutIds)
- {
- if (args.shortcutId == id)
- {
- OnShortcutChanged?.Invoke();
- break;
- }
- }
- }
-
- private void OnProfileChanged(ActiveProfileChangedEventArgs args)
- {
- OnShortcutChanged?.Invoke();
- }
-
- public void AddShortcutToButtonTooltip(VisualElement rootElement, string buttonName, string shortcutBindingId)
- {
- var button = rootElement.Q<Button>(buttonName);
- var binding = ShortcutManager.instance.GetShortcutBinding(shortcutBindingId);
- var bindingString = binding.ToString();
-
- if(!string.IsNullOrEmpty(bindingString))
- button.tooltip += $" ({bindingString})";
- }
- }
- }
|