public void AddComponent_overrides_preexisting_components() { var entityTemplate = new EntityTemplate(); entityTemplate.AddComponent(new Position.Snapshot(new Coordinates(10, 10, 10)), "worker"); entityTemplate.AddComponent(new PlayerHeartbeatClient.Snapshot(), "test"); var snapshot = entityTemplate.GetEntitySnapshot(); snapshot.AddComponentSnapshot(new Position.Snapshot(new Coordinates(100, 100, 100))); Assert.IsTrue(snapshot.TryGetComponentSnapshot <Position.Snapshot>(out var outPosition)); Assert.AreEqual(outPosition.Coords.X, 100, Double.Epsilon); }
public void Can_create_from_entity_template() { // Note this tests the internal EntitySnapshot(Entity entity) constructor too! var entityTemplate = new EntityTemplate(); entityTemplate.AddComponent(new Position.Snapshot(new Coordinates(10, 10, 10)), "worker"); entityTemplate.AddComponent(new PlayerHeartbeatClient.Snapshot(), "test"); var snapshot = entityTemplate.GetEntitySnapshot(); Assert.IsTrue(snapshot.TryGetComponentSnapshot <Position.Snapshot>(out var position)); Assert.IsTrue(snapshot.TryGetComponentSnapshot <PlayerHeartbeatClient.Snapshot>(out var playerHeartbeat)); Assert.AreEqual(position.Coords.X, 10, Double.Epsilon); }