Ei kuvausta
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CallbackDataSource.cs 1.0KB

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