Ejemplo n.º 1
0
void AbstractPiece::SwapVoxels(unsigned int dest_c, unsigned int dest_r, unsigned int dest_d, Voxel* src) {

	Voxel* dest = container[dest_c][dest_r][dest_d];
	if (src == 0) {
		if (dest != 0) {
			delete container[dest_c][dest_r][dest_d];
		}
		container[dest_c][dest_r][dest_d] = 0;
		return;
	}

	if (dest == 0) {
		Voxel* v = new Voxel();
		v->GetLocation().col = dest_c;
		v->GetLocation().row = dest_r;
		v->GetLocation().dep = dest_d;
		container[dest_c][dest_r][dest_d] = v;
		dest = container[dest_c][dest_r][dest_d];
	}

	dest->GetColour().red = src->GetColour().red;
	dest->GetColour().blue = src->GetColour().blue;
	dest->GetColour().green = src->GetColour().green;
	dest->GetColour().alpha = src->GetColour().alpha;

}