yasirkula / UnitySimpleFileBrowser

A uGUI based runtime file browser for Unity 3D (draggable and resizable)
MIT License
817 stars 111 forks source link

Make file filters extensible by turning them into an interface, instead of concrete class. #64

Open arturaz opened 2 years ago

yasirkula commented 2 years ago

Thank you for the PR. How did you benefit from this change in your own projects? What did your custom IFilter implementations do differently than Filter?

arturaz commented 2 years ago

We needed to filter based on regex, something like new Regex(".data-.+?-ourextension"). This allowed us to implement the custom filter for this case.

arturaz commented 2 years ago

Is there any improvement that should be made to get this merged?

yasirkula commented 2 years ago

I couldn't inspect most of the recent PRs in detail due to my busy schedule for a long time. About this feature, I was originally thinking about adding an event to FileBrowser to filter the files with custom C# code (regex can be applied in that event). That solution seems cleaner to me as I'd like to keep file filters as clean and simple as possible.

P.S. Actually I forgot that I've already added that event in a past release: FileBrowser.DisplayedEntriesFilter

arturaz commented 1 year ago

We needed to filter based on regex, something like new Regex(".data-.+?-ourextension"). This allowed us to implement the custom filter for this case.

---- On Wed, 13 Apr 2022 19:42:11 +0300 Süleyman Yasir KULA @.***> wrote ----

Thank you for the PR. How did you benefit from this change in your own projects? What did your custom IFilter implementations do differently than Filter?

— Reply to this email directly, https://github.com/yasirkula/UnitySimpleFileBrowser/pull/64#issuecomment-1098265995, or https://github.com/notifications/unsubscribe-auth/AAADFA2ELI2LJC3F6ILB3PDVE32OHANCNFSM5TKNPIXA. You are receiving this because you authored the thread.

yasirkula commented 1 year ago

I'm open to merging this pull request but please see my review and also merge the latest commit on the mainstream to your branch.