BeanCheeseBurrito/Flecs.NET

Ambiguous definitions of Routine.

Closed this issue · 2 comments

I was just trying to crate a pretty basic routine/system:

ecs.Set(new Window());
ecs.Routine<Window>().Each(UpdateWindows);

and got an error at the Routine line saying:

error CS0121: The call is ambiguous between the following methods or properties: 'World.Routine<T0>(FilterBuilder, QueryBuilder, RoutineBuilder, Ecs.IterCallback<T0>?, string)' and 'World.Routine<T0>(FilterBuilder, QueryBuilder, RoutineBuilder, Ecs.EachCallback<T0>?, string)

after looking into it, it seems there are multiple definitions of routine, 4 to be exact, that are the same.

The current nuget packages aren't up to date with the main branch. There was a recent breaking change to the query interfaces in this PR that is only available in the gitlab package registry. I suggest using the gitlab feed for now as those are more up to date. The nuget.org packages will be updated on the next flecs release.

The readme has an example of how to add the development feed to your .csproj file.
https://github.com/BeanCheeseBurrito/Flecs.NET?tab=readme-ov-file#gitlab-package-registry

The latest nuget package has been updated to use the new query interfaces.
https://www.nuget.org/packages/Flecs.NET.Bindings.Release/3.2.11