A game about forced loneliness, made by TACStudios
1#if UNITY_EDITOR
2using System;
3using System.Collections.Generic;
4
5namespace UnityEngine.InputSystem.Editor
6{
7 internal class CallbackDataSource : AdvancedDropdownDataSource
8 {
9 private readonly Func<AdvancedDropdownItem> m_BuildCallback;
10 private readonly Func<string, IEnumerable<AdvancedDropdownItem>, AdvancedDropdownItem>
11 m_SearchCallback;
12
13 internal CallbackDataSource(Func<AdvancedDropdownItem> buildCallback,
14 Func<string, IEnumerable<AdvancedDropdownItem>, AdvancedDropdownItem> searchCallback = null)
15 {
16 m_BuildCallback = buildCallback;
17 m_SearchCallback = searchCallback;
18 }
19
20 protected override AdvancedDropdownItem FetchData()
21 {
22 return m_BuildCallback();
23 }
24
25 protected override AdvancedDropdownItem PerformCustomSearch(string searchString)
26 {
27 return m_SearchCallback?.Invoke(searchString, m_SearchableElements);
28 }
29 }
30}
31
32#endif // UNITY_EDITOR