Maze / Library /PackageCache /com.unity.inputsystem@1.6.1 /InputSystem /Editor /Internal /AdvancedDropdown /CallbackDataSource.cs
| using System; | |
| using System.Collections.Generic; | |
| namespace UnityEngine.InputSystem.Editor | |
| { | |
| internal class CallbackDataSource : AdvancedDropdownDataSource | |
| { | |
| private readonly Func<AdvancedDropdownItem> m_BuildCallback; | |
| private readonly Func<string, IEnumerable<AdvancedDropdownItem>, AdvancedDropdownItem> | |
| m_SearchCallback; | |
| internal CallbackDataSource(Func<AdvancedDropdownItem> buildCallback, | |
| Func<string, IEnumerable<AdvancedDropdownItem>, AdvancedDropdownItem> searchCallback = null) | |
| { | |
| m_BuildCallback = buildCallback; | |
| m_SearchCallback = searchCallback; | |
| } | |
| protected override AdvancedDropdownItem FetchData() | |
| { | |
| return m_BuildCallback(); | |
| } | |
| protected override AdvancedDropdownItem PerformCustomSearch(string searchString) | |
| { | |
| return m_SearchCallback?.Invoke(searchString, m_SearchableElements); | |
| } | |
| } | |
| } | |