public SeObservation GetObservation() { var entity = new SeEntity() { Id = "Ente", Position = new PlainVec3D(3, 2, 1) }; var entities = new List <SeEntity> { entity }; var block = new SeBlock() { Id = "blk", Position = new PlainVec3D(5, 5, 5), MaxIntegrity = 10f, BuildIntegrity = 1.0f, Integrity = 5.0f }; var blocks = new List <SeBlock> { block }; return(new SeObservation() { AgentID = "Mock", Position = new PlainVec3D(4, 2, 0), Entities = entities, Blocks = blocks }); }
private List <SeEntity> CollectSurroundingEntities(BoundingSphereD sphere) { var ivEntities = new List <SeEntity>(); foreach (MyEntity entity in EnumerateSurroundingEntities(sphere)) { var ivEntity = new SeEntity() { Id = entity.Name, Position = new PlainVec3D(entity.PositionComp.GetPosition()) }; ivEntities.Add(ivEntity); if (ivEntities.Count() > 1000) // TODO(PP): Define as param. { Log?.WriteLine($"{nameof(CollectSurroundingEntities)}: Too many entities!"); break; } } return(ivEntities); }