static void MakeDungeon(int seed) { stage = new Stage(23, 23); RoomDecorator rd = new RoomDecorator(stage); rd.ReadAll("rooms.txt"); Generator g = new Generator(seed); g.DecorateRoom += rd.DecorateRoom; g.numRoomTries = 500; g.generate(stage); DijkstraMap dm = new DijkstraMap(stage, 0); //dm.Compute(1,1,true); dm.Compute(stage.GetAll(Tiles.Brazier), false); dm.Display(); dm.CalculatePath(21, 21); var path = dm.GetReversePath().ToList(); PrintDungeon(seed); }
public static List <Vec> Pathfind(Vec start, Vec[] goal) { DijkstraMap dm = new DijkstraMap(stage, Mathf.Sqrt(2.0f)); dm.Compute(goal, false); if (dm.CalculatePath(start.x, start.y)) { return(dm.GetPath().ToList()); } return(new List <Vec>()); }