Пример #1
0
brush::brush(const config& cfg)
	: relative_tiles_()
 	, name_(cfg["name"])
	, id_(cfg["id"])
{
	int radius = cfg["radius"];
	if (radius > 0) {
		std::vector<map_location> in_radius;
		get_tiles_in_radius(map_location(0, 0), radius, in_radius);
		BOOST_FOREACH(map_location& loc, in_radius) {
			add_relative_location(loc.x, loc.y);
		}
Пример #2
0
brush::brush(const config& cfg)
	: relative_tiles_()
 	, name_(cfg["name"])
	, image_(cfg["image"])
{
	int radius = lexical_cast_default<int>(cfg["radius"], 0);
	if (radius > 0) {
		std::vector<map_location> in_radius;
		get_tiles_in_radius(map_location(0, 0), radius, in_radius);
		foreach (map_location& loc, in_radius) {
			add_relative_location(loc.x, loc.y);
		}
Пример #3
0
brush::brush(const config& cfg)
	: relative_tiles_()
 	, name_(cfg["name"])
	, id_(cfg["id"])
{
	int radius = cfg["radius"];
	if (radius > 0) {
		std::vector<map_location> in_radius;
		get_tiles_in_radius(map_location(0, 0), radius, in_radius);
		for (map_location& loc : in_radius) {
			add_relative_location(loc.x, loc.y);
		}
	}
	for (const config &relative : cfg.child_range("relative"))
	{
		int x = relative["x"];
		int y = relative["y"];
		add_relative_location(x, y);
	}
	if (relative_tiles_.empty()) {
		WRN_ED << "Empty brush definition, name=" << name_ << std::endl;
	}
}