public StorageCore() { var g = new GreenTile(); this.Objects = new List <FrameworkObject>(); this.Objects.Add(g); Waypoint[,] net = new Waypoint[3, 3]; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { net[i, j] = new Waypoint(new Vector2(150 + j * 100, 200 + i * 100)); this.Objects.Add(net[i, j]); } } var fin = new Waypoint(new Vector2(700, 550)); this.Objects.Add(fin); WaypointRoute r = new WaypointRoute(net[1, 1]); r.AddWaypoint(net[1, 1], net[0, 0]); r.AddWaypoint(net[1, 1], net[0, 2]); r.AddWaypoint(net[1, 1], net[2, 2]); r.AddWaypoint(net[1, 1], net[2, 0]); r.AddWaypoint(net[0, 0], net[0, 1]); r.AddWaypoint(net[0, 2], net[1, 2]); r.AddWaypoint(net[2, 2], net[2, 1]); r.AddWaypoint(net[2, 0], net[1, 0]); r.AddWaypoint(net[0, 1], net[1, 1]); r.AddWaypoint(net[1, 2], net[1, 1]); r.AddWaypoint(net[2, 1], net[1, 1]); r.AddWaypoint(net[1, 0], net[1, 1]); r.AddWaypoint(net[2, 2], fin); this.Objects.Add(r); var i1 = new MoveTowardWaypointInstruction(g, net[1, 1]); var m1 = new MoveInstructionSet(i1); g.AddInstructionSet(m1); g.AddInstructionSet(new MoveInstructionSet(new MoveTowardPointInstruction(g, new Vector2(500, 10)))); g.AddInstructionSet(new MoveInstructionSet(new MoveAlongWaypointRouteInstruction(g, r))); g.AddInstructionSet(new MoveInstructionSet(new MoveTowardPointInstruction(g, new Vector2(500, 10)))); }
public void CreateGrid() { StreamReader sr = new StreamReader(@"Level1.txt"); List <string> stringList = new List <string>(); while (!sr.EndOfStream) { stringList.Add(sr.ReadLine()); } grid = new Tile[GlobalValues.HOLE_LENGTH / GlobalValues.TILE_SIZE, GlobalValues.HOLE_HEIGHT / GlobalValues.TILE_SIZE]; for (int i = 0; i < GlobalValues.HOLE_HEIGHT / GlobalValues.TILE_SIZE; i++) { var line = stringList[i]; for (int k = 0; k < GlobalValues.HOLE_LENGTH / GlobalValues.TILE_SIZE && k < line.Length; k++) { switch (line[k]) { case 'G': grid[k, i] = new GreenTile(TextureLibrary.green, new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE)); tiles.Add(grid[k, i]); break; case 'F': grid[k, i] = new FairwayTile(TextureLibrary.fairway, new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE)); tiles.Add(grid[k, i]); break; case 'R': grid[k, i] = new RoughTile(TextureLibrary.rough, new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE)); tiles.Add(grid[k, i]); break; case 'C': grid[k, i] = new CupTile(TextureLibrary.cup, new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE)); tiles.Add(grid[k, i]); break; case 'B': grid[k, i] = new BunkerTile(TextureLibrary.bunker, new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE)); tiles.Add(grid[k, i]); break; case 'S': grid[k, i] = new StoneTile(TextureLibrary.stone, new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE)); tiles.Add(grid[k, i]); break; case 'W': grid[k, i] = new WaterTile(TextureLibrary.water, new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE)); tiles.Add(grid[k, i]); break; case 'M': grid[k, i] = new MudTile(TextureLibrary.mud, new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE)); tiles.Add(grid[k, i]); break; case 'P': grid[k, i] = new FlagStickTile(TextureLibrary.flagpost, new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE)); tiles.Add(grid[k, i]); break; case 'Q': grid[k, i] = new FlagTile(TextureLibrary.flag, new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE)); tiles.Add(grid[k, i]); break; case 'X': ballStartPos = new Vector2(k * GlobalValues.TILE_SIZE, i * GlobalValues.TILE_SIZE); break; } } } }