diff options
Diffstat (limited to 'Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/SequenceSelectorNameFormater.cs')
| -rw-r--r-- | Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/SequenceSelectorNameFormater.cs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/SequenceSelectorNameFormater.cs b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/SequenceSelectorNameFormater.cs new file mode 100644 index 0000000..654eecb --- /dev/null +++ b/Library/PackageCache/com.unity.timeline@1.2.13/Editor/Utilities/SequenceSelectorNameFormater.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace UnityEditor.Timeline +{ + // Class used for uniquely format names used in the GenericMenu. We can't add duplicate MenuItem in GenericMenu + // so that's why we need to keep information about the text we want to uniquely format. + class SequenceMenuNameFormater + { + Dictionary<int, int> m_UniqueItem = new Dictionary<int, int>(); + + public string Format(string text) + { + var key = text.GetHashCode(); + var index = 0; + + if (m_UniqueItem.ContainsKey(key)) + { + index = m_UniqueItem[key]; + index++; + m_UniqueItem[key] = index; + } + else + { + m_UniqueItem.Add(key, index); + return text; + } + + return $"{text}{index}"; + } + } +} |
