Region.EncapsulateMegatiles C# (CSharp) Method

EncapsulateMegatiles() public method

Encapsulates extents of all contained megatiles.
public EncapsulateMegatiles ( ) : void
return void
	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;
	}
	

Usage Example

Exemplo n.º 1
0
	/// <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());
	}