Example #1
0
        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
            });
        }
Example #2
0
        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);
        }