private void InterfaceElevateTerrain(Object[] args)
{
int x, y, z;
int zo = (int)args[0];
for (x = 0; x < m_channel.Width; x++)
{
for (y = 0; y < m_channel.Length; y++)
{
// Move voxels up X units.
for(z=m_channel.Height-1;z>0;z--)
{
// just overwrite stuff that would be moved out of bounds
if(z+zo > m_channel.Height-1)
continue;
m_channel.SetVoxel(x, y, z+zo, m_channel.GetVoxel(x,y,z));
}
}
}
CheckForTerrainUpdates();
}