Tag value changes when adding a component
- Lingua principale
- Rust
- Stelle
- 1.7k
- Fork
- 140
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
I have 2 entities with similar tags (`Layer(0)`, `Layer(1)`) when I add a component to both of them the second entity's tag changes its value to `Layer(0)`.
```rust
#[derive(Debug, Clone, Copy, PartialEq)]
struct Layer(pub u32);
#[derive(Debug, Clone, Copy, PartialEq)]
struct Collision(pub bool);
#[test]
fn test_tag_change() {
let mut world = World::new();
let entity0 = *world.insert((Layer(0),), vec![()]).first().unwrap();
let entity1 = *world.insert((Layer(1),), vec![()]).first().unwrap();
{
let tag0 = world.get_tag::(entity0).unwrap();
let tag1 = world.get_tag::(entity1).unwrap();
assert_eq!(*tag0, Layer(0), "before component: tag0 failed"); // OK
assert_eq!(*tag1, Layer(1), "before component: tag1 failed"); // OK
}
world.add_component(entity0, Collision(false));
world.add_component(entity1, Collision(false));
{
let tag0 = world.get_tag::(entity0).unwrap();
let tag1 = world.get_tag::(entity1).unwrap();
assert_eq!(*tag0, Layer(0), "after component: tag0 failed"); // OK
assert_eq!(*tag1, Layer(1), "after component: tag1 failed"); // failed
}
}
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.