Comments (2)
Thanks for your post! However, the behavior you describe is "intentional". The structural modification of an entity copies it into a new archetype. Its slot is taken by another entity. Since you use ref to access its components in exactly this slot, the values also change because they are overwritten.
This is the disadvantage of the inline query. However, the source generator or custom enumeration or the standard queries can be used to override this behavior.
from arch.
Thanks for the clarification.
My simple fix was to add components only at the end of each Update call and not use the referenced components after that.
from arch.
Related Issues (20)
- Mark classes as sealed
- BitSet can cause exceptions on certain platforms HOT 1
- EVENTS and PURE_ECS together is unsupported
- World should have an IsAlive for EntityReference HOT 1
- Component Lifecycle Query Filters
- Component adding/removing events are inconsistent HOT 1
- Broken example on wiki page Query techniques (Custom enumeration)
- Bug in JobScheduler makes Arch not close all job threads. HOT 2
- Is it normal for coimponents not being removed on the entities? HOT 2
- Event handling via generics instead of conditional compilation HOT 3
- Command Buffer without world in constructor HOT 2
- chunk.Has<T>() is possibly broken HOT 2
- Enabling `EVENTS` on other platforms HOT 9
- Remove auto reset from Command Buffer `PlayBack()` method HOT 5
- Disable entity? HOT 1
- IndexOutOfRangeException in SparseJaggedArray HOT 5
- Faster version "World.Get<T>(Entity entity)" HOT 3
- Emotes keep playing when falling / teleporting
- Arch and Blazor webassembly
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 arch.