Comments (6)
Have you read the API docs for those types?
from hecs.
yes I have and they did not make sense to me tbh.
https://docs.rs/hecs/latest/hecs/struct.With.html if this is what your talking about.
as when I look at this it doesn't really tell me what Q and R are for. so its a trail and error game to figure it out.
Also with Satisfies I am guessing it just a boolean to determine if something Exists. Can it be mixed with With and Without?
from hecs.
it doesn't really tell me what Q and R are for
The example illustrates a query where Q
is evaluated, but restricted to entities that match R
. It also cites a similar illustration in QueryBorrow::with
.
Can it be mixed with With and Without?
If a type variable is introduced like Q: Query
, that means it can accept any type that implements Query
. All of With
, Without
, and Satisfies
implement Query
.
from hecs.
sorry I just did not understand the example itself. So i had to make a little test that printed off what it did find in each query. Just saying it would be nice to just have it Say on there either in the description or a comment above the example explaining what it is doing. Also adding the assert kind of works but maybe adding another assert that fails due to lets say c not existing in the queue would help make it more obvious. It is just a different way of thinking on my part sorry.
I can Expand the docs if you would like and add more examples for things. just I gotta figure out how to use each part. could you show me an example of how to use Satisfies with With and Without on how it might be used to determine if something should be shown or not maybe.
from hecs.
Thanks for the feedback; I agree that referring to the type parameters by name improves clarity here.
I don't think we specifically need examples of combining these in particular. You can always use any type that implements Query
in any type variable that requires Query
, just like with any other Rust generics. For example, With<Without<Satisfies<Q>, R>, S>
gives you a query that yields a bool
indicating whether an entity matches Q
for each entity that matches S
and does not match R
.
from hecs.
Ahh nice. Yeah, the more clarity there is the better and easier it becomes to learn.
from hecs.
Related Issues (20)
- Using Or mutably - query violates a unique borrow HOT 3
- Panic when borrowing different components of the same type from different entities HOT 5
- Closure component HOT 1
- Column serialize all serializable components HOT 6
- Cloning World? HOT 1
- Adding a World ID to `Entity` HOT 2
- World::query_one(_mut) is unsound HOT 2
- problem with macro 'Bundle' HOT 1
- Appreciation Thread
- CommandBuffer insert/remove ordering is a footgun
- can't derive Query HOT 1
- Panic in `Archetype::assert_type_info` is reachable HOT 4
- Implementation of `Ord` on `Entity` HOT 2
- Dynamic scene spawning HOT 1
- [Question] State Machines and Animation, or Complex Components HOT 1
- [Question] Is the `index` field in the Archetype struct redundant? HOT 5
- [Question/Clarification] Are bundles suppose to be able to be used as queries? HOT 2
- Ability to create a query view directly from `World` HOT 5
- Component cloning HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hecs.