예제 #1
0
파일: tile_map.cpp 프로젝트: FEDE0D/godot
void TileMap::set_tile_origin(TileOrigin p_tile_origin) {

	_clear_quadrants();
	tile_origin=p_tile_origin;
	_recreate_quadrants();
	emit_signal("settings_changed");
}
예제 #2
0
파일: tile_map.cpp 프로젝트: FEDE0D/godot
void TileMap::set_mode(Mode p_mode) {

	_clear_quadrants();
	mode=p_mode;
	_recreate_quadrants();
	emit_signal("settings_changed");
}
예제 #3
0
파일: tile_map.cpp 프로젝트: FEDE0D/godot
void TileMap::set_half_offset(HalfOffset p_half_offset) {

	_clear_quadrants();
	half_offset=p_half_offset;
	_recreate_quadrants();
	emit_signal("settings_changed");
}
예제 #4
0
파일: tile_map.cpp 프로젝트: FEDE0D/godot
void TileMap::set_custom_transform(const Matrix32& p_xform) {

	_clear_quadrants();
	custom_transform=p_xform;
	_recreate_quadrants();
	emit_signal("settings_changed");

}
예제 #5
0
파일: tile_map.cpp 프로젝트: hbiblia/godot
void TileMap::set_quadrant_size(int p_size) {

	ERR_FAIL_COND(p_size<1);

	_clear_quadrants();
	quadrant_size=p_size;
	_recreate_quadrants();

}
예제 #6
0
파일: tile_map.cpp 프로젝트: FEDE0D/godot
void TileMap::set_y_sort_mode(bool p_enable) {

	_clear_quadrants();
	y_sort_mode=p_enable;
	VS::get_singleton()->canvas_item_set_sort_children_by_y(get_canvas_item(),y_sort_mode);
	_recreate_quadrants();
	emit_signal("settings_changed");

}
예제 #7
0
파일: tile_map.cpp 프로젝트: FEDE0D/godot
void TileMap::set_quadrant_size(int p_size) {

	ERR_FAIL_COND(p_size<1);

	_clear_quadrants();
	quadrant_size=p_size;
	_recreate_quadrants();
	emit_signal("settings_changed");

}
예제 #8
0
파일: tile_map.cpp 프로젝트: FEDE0D/godot
void TileMap::set_cell_size(Size2 p_size) {

	ERR_FAIL_COND(p_size.x<1 || p_size.y<1);

	_clear_quadrants();
	cell_size=p_size;
	_recreate_quadrants();
	emit_signal("settings_changed");


}
예제 #9
0
파일: tile_map.cpp 프로젝트: hbiblia/godot
void TileMap::set_tileset(const Ref<TileSet>& p_tileset) {

	if (tile_set.is_valid())
		tile_set->disconnect("changed",this,"_recreate_quadrants");

	_clear_quadrants();
	tile_set=p_tileset;

	if (tile_set.is_valid())
		tile_set->connect("changed",this,"_recreate_quadrants");
	else
		clear();

	_recreate_quadrants();

}
예제 #10
0
파일: tile_map.cpp 프로젝트: hbiblia/godot
void TileMap::_recreate_quadrants() {

	_clear_quadrants();

	for (Map<PosKey,Cell>::Element *E=tile_map.front();E;E=E->next()) {

		PosKey qk(E->key().x/quadrant_size,E->key().y/quadrant_size);

		Map<PosKey,Quadrant>::Element *Q=quadrant_map.find(qk);
		if (!Q) {
			Q=_create_quadrant(qk);
			dirty_quadrant_list.add(&Q->get().dirty_list);
		}

		Q->get().cells.insert(E->key());

	}
}
예제 #11
0
파일: tile_map.cpp 프로젝트: hbiblia/godot
void TileMap::clear() {

	_clear_quadrants();
	tile_map.clear();
}
예제 #12
0
파일: tile_map.cpp 프로젝트: FEDE0D/godot
void TileMap::set_collision_use_kinematic(bool p_use_kinematic) {

	_clear_quadrants();
	use_kinematic=p_use_kinematic;
	_recreate_quadrants();
}