public Grid(World world) { using (StreamReader sr = new StreamReader("testmap.txt")) { List<string> lines = new List<string>(); while (!sr.EndOfStream) { lines.Add(sr.ReadLine()); } xDimension = lines[0].Length; yDimension = lines.Count; tiles = new Tile[xDimension, yDimension]; for (int i = 0; i < xDimension; i++) { for (int j = 0; j < yDimension; j++) { tiles[i, j] = new Tile(i, j, new Rectangle((int)(i*TileSize),(int)(j*TileSize),(int)TileSize,(int)TileSize)); if (lines[j][i] == '#') { tiles[i, j].passable = false; Body body = BodyFactory.CreateRectangle(world, ConvertUnits.ToSimUnits(TileSize), ConvertUnits.ToSimUnits(TileSize), 10, ConvertUnits.ToSimUnits(GetWindowCenterPos(tiles[i, j]))); body.BodyType = BodyType.Static; body.CollidesWith = Category.All; body.CollisionCategories = Category.All; tileBodies.Add(body); } } } } AssignNeighbours(); pathfinder = new Pathfinder(this); }
public Grid(World world, GameplayManager gm) { this.world = world; this.gm = gm; pathfinder = new Pathfinder(this); }