public void EncapsulateMegatiles()
{
left = Mathf.Max(TerrainManager.worldRegion.left, left-left%Megatile.size);
right = Mathf.Min(TerrainManager.worldRegion.right, right+Megatile.size-right%Megatile.size-1);
// NOTE: workaround since coordinates start at top presently; will need fix when it changes
top = (TerrainManager.worldRegion.height-1)-top;
top = Mathf.Max(TerrainManager.worldRegion.bottom, top-top%Megatile.size);
top = (TerrainManager.worldRegion.height-1)-top;
bottom = (TerrainManager.worldRegion.height-1)-bottom;
bottom = Mathf.Min(TerrainManager.worldRegion.top, bottom+Megatile.size-bottom%Megatile.size-1);
bottom = (TerrainManager.worldRegion.height-1)-bottom;
}
/// <summary> /// Adds the megatile region to parameters. /// </summary> /// <param name='region'> /// Region. /// </param> /// <param name='parameters'> /// Parameters. /// </param> public static void AddMegatileRegionToParameters(Region region, Dictionary<string, string> parameters) { // these have to fall on exact values region.EncapsulateMegatiles(); parameters.Add("x_min", region.left.ToString()); parameters.Add("x_max", region.right.ToString()); parameters.Add("y_min", Megatile.ToServerY(region.top).ToString()); parameters.Add("y_max", Megatile.ToServerY(region.bottom).ToString()); }