StansAssets / com.stansassets.foundation

Collection of utility methods, design patterns, and extensions for Unity.
https://stansassets.com/
MIT License
129 stars 12 forks source link

feat: List extension: fast remove method by swap elements #74

Closed Yurii-Tor closed 3 years ago

Yurii-Tor commented 3 years ago

Purpose of this PR

Fast method for removing elements from List implemented.

This feature is often on demand. It changes an order of elements inside the list, so not recomended if order matters. Instead of that LinkedList may be used if it feats needs (it's not an IList type)

Testing status

Manual testing status

Tested in Unity Editor. See link below: https://share.getcloudapp.com/RBulD2kG

Comments to reviewers

Notice that 'Remove' method deletes only one element, so the predicate evaluation deletes only the first founded. If you need to delete all evaluated elements, use RemoveAll method, which is also fast and doesn't allocate additional resources.

stan-osipov commented 3 years ago

@Yurii-Tor any luck with the test?

Yurii-Tor commented 3 years ago

@Yurii-Tor any luck with the test?

I'm working on it now. Just started