static void MakeZone( Player player, Position[] marks, object tag ) {
Zone zone = (Zone)tag;
zone.xMin = Math.Min( marks[0].x, marks[1].x );
zone.xMax = Math.Max( marks[0].x, marks[1].x );
zone.yMin = Math.Min( marks[0].y, marks[1].y );
zone.yMax = Math.Max( marks[0].y, marks[1].y );
zone.hMin = Math.Min( marks[0].h, marks[1].h );
zone.hMax = Math.Max( marks[0].h, marks[1].h );
player.Message( "Zone \"" + zone.name + "\" created, " + zone.getVolume() + " blocks total." );
player.world.log.Log( "Player {0} created a new zone \"{1}\" containing {2} blocks.", LogType.UserActivity,
player.name,
zone.name,
zone.getVolume() );
player.world.map.zones.Add( zone );
}