This repository has been archived on 2019-12-07. You can view files and clone it, but cannot push or open issues or pull requests.
dungeon-gunner/source/generator/Generator.h

39 lines
1.1 KiB
C
Raw Normal View History

2013-04-11 18:44:00 +00:00
/*
* Generator.h
*
* Created on: 07.04.2013
* Author: Felix
*/
#ifndef DG_GENERATOR_H_
#define DG_GENERATOR_H_
#include <SFML/Graphics.hpp>
#include "../sprites/TileManager.h"
2013-04-28 16:11:39 +00:00
class Pathfinder;
2013-04-11 18:44:00 +00:00
class Generator {
public:
explicit Generator();
2013-04-28 16:11:39 +00:00
void generateTiles(TileManager& tm, Pathfinder& pathfinder,
const sf::IntRect& area) const;
2013-04-11 18:44:00 +00:00
//void generateCharacters(World& world, const sf::IntRect& area) const;
sf::Vector2f getPlayerSpawn() const;
private:
static void fill(std::vector<std::vector<TileManager::Type> >& image,
const sf::IntRect& area, TileManager::Type value);
static void filterWalls(std::vector<std::vector<TileManager::Type> >& in,
std::vector<std::vector<TileManager::Type> >& out,
2013-04-11 18:44:00 +00:00
int x, int y, int longside, int shortside, int subtract);
2013-04-18 08:05:17 +00:00
static int countWalls(const sf::IntRect& area,
std::vector<std::vector<TileManager::Type> >& tiles);
2013-04-28 16:11:39 +00:00
static void generateAreas(Pathfinder& pathfinder,
std::vector<std::vector<TileManager::Type> >& tiles,
const sf::IntRect& area, const sf::Vector2f& offset);
2013-04-11 18:44:00 +00:00
};
#endif /* DG_GENERATOR_H_ */