public static Entity createGeometryMap() { Entity e = ecs_instance.create(); GeometryMap geometry = new GeometryMap(); PresentationParameters pp = GameContainer.SpriteBatch.GraphicsDevice.PresentationParameters; int width = pp.BackBufferWidth; int height = pp.BackBufferHeight; SurfaceFormat format = pp.BackBufferFormat; geometry.ColorMap = new RenderTarget2D(GameContainer.SpriteBatch.GraphicsDevice, width, height); geometry.NormalMap = new RenderTarget2D(GameContainer.SpriteBatch.GraphicsDevice, width, height); geometry.DepthMap = new RenderTarget2D(GameContainer.SpriteBatch.GraphicsDevice, width, height); geometry.ShadingMap = new RenderTarget2D(GameContainer.SpriteBatch.GraphicsDevice, width, height, false, format, pp.DepthStencilFormat, pp.MultiSampleCount, RenderTargetUsage.DiscardContents); geometry.AmbientColor = new Vector4(.1f, .1f, .1f, .1f); ecs_instance.add_component(e, geometry); ecs_instance.tag_manager.tag_entity("GEOMETRY", e); ecs_instance.resolve(e); return(e); }
public GeometryMap LoadGeometryXML(string fileName) { var result = new GeometryMap(); var serializer = new XmlSerializer(typeof(GeometryTypes.TBuilding)); var reader = new FileStream(fileName, FileMode.Open); var building = serializer.Deserialize(reader) as GeometryTypes.TBuilding; foreach (var floor in building.FloorList) { var geometryList = new List<GeometryTypes.TGeometryItem>(); foreach (var room in floor.RoomList) { foreach(var geometryItem in room.Geometry) geometryList.Add(geometryItem); } result.Add(floor.Number, geometryList); } return result; }