amethyst / amethyst/legion

Tag value changes when adding a component

Aperta
#76 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
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.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.