I would say the pony is the easiest requirement.
The terrain asset is quite limited in what you can do with it in runtime. However... there are some undocumented API's you can use to basically construct/modify anything in a terrain. A simple google gave me the following code, don't know where it's from but it seems to use about anything terrain related to construct one dynamically. As the TerrainData API is undocumented it's unsupported and not guaranteed to work now or in the future...
I don't know who's the owner of the code below and haven't tried it myself but should be helpful to see how you can use the API.
Good luck with your project and pony.
//Download terrain assets referenced in headers
i = 1;
for(var v : String in trnArr) {
//v = "name;r:width,height,length,heightmapResolution //,detailResolution,controlResolution,textureResolution;h:heightMapUrl";
var vS2 : String[] = v.Split(";"[0]);
var tName = vS2[0];
for(i2 = 1; i2<vS2.length; i2++) {
var str : String[] = vS2[i2].Split(":"[0]);
if(str[0] == "r") var tRes : String[] = str[1].Split(","[0]);
else if(str[0] == "h") var tHtmp : String = whirld.getURL(str[1]);
else if(str[0] == "l") var tLtmp : String = whirld.getURL(str[1]);
else if(str[0] == "s") var tSpmp : String = whirld.getURL(str[1]);
else if(str[0] == "s2") var tSpmp2 : String = whirld.getURL(str[1]);
else if(str[0] == "t") var tTxts : String[] = str[1].Split(","[0]);
else if(str[0] == "d") var tDtmp : String = whirld.getURL(str[1]);
}
whirld.statusTxt = "Downloading Terrain " + i + " of " + trnArr.length + " (" + tName + "): " + tHtmp;
www = new WWW(tHtmp);
while(!www.isDone) {
whirld.progress = www.progress;
yield new WaitForSeconds(.1);
}
if (www.error != null) whirld.info += "
Terrain Undownloadable: " + tName + " " + tHtmp + " (" + www.error + ")";
else {
whirld.statusTxt = "Initializing " + tName + "...";
whirld.progress = 0;
if(Application.isPlaying) yield;
var tWidth : int = parseInt(tRes[0]);
var tHeight : int = parseInt(tRes[1]);
var tLength : int = parseInt(tRes[2]);
var tHRes : int = parseInt(tRes[3]);
//var tDRes : int = parseInt(tRes[4]);
//var tCRes : int = parseInt(tRes[5]);
//var tBRes : int = parseInt(tRes[6]);
var trnDat : TerrainData = new TerrainData();
//Heights
trnDat.heightmapResolution = tHRes;
//trnDat.Init(tCRes, tDRes, tBRes);
var hmap = trnDat.GetHeights(0, 0, tHRes, tHRes);
var br : BinaryReader;
if(true) { //Terrain RAW file is compressed
/*var stream = new DeflateStream(new MemoryStream(www.bytes), CompressionMode.Decompress);
var buffer : byte[] = new byte[4096];
var ms : MemoryStream = new MemoryStream();
var bytesRead : int = 0;
while (bytesRead > 0) {
bytesRead = stream.Read(buffer, 0, buffer.Length);
if (bytesRead > 0) ms.Write(buffer, 0, bytesRead);
}
br = new BinaryReader(ms);*/
br = new BinaryReader(new MemoryStream(new Ionic.Zlib.GZipStream(new MemoryStream(), Ionic.Zlib.CompressionMode.Decompress).UncompressBuffer(www.bytes)));
}
else br = new BinaryReader(new MemoryStream(www.bytes));
for (var x : int = 0; x < tHRes; x++) for (var y : int = 0; y < tHRes; y++) hmap[x, y] = br.ReadUInt16() / 65535.00000000;
trnDat.SetHeights(0, 0, hmap);
trnDat.size = Vector3(tWidth, tHeight, tLength);
//Textures
if(tTxts) {
var splatPrototypes : SplatPrototype[] = new SplatPrototype[tTxts.length];
for(i=0; i < tTxts.length; i++) {
var splatTxt : String[] = tTxts*.Split("="[0]);*
* var splatTxtSize : String[] = splatTxt[1].Split("x"[0]);*
* whirld.statusTxt = "Downloading Terrain Texture " + (i + 1) + " of " + tTxts.length + " (" + splatTxt[0] + ")";*
* www = new WWW(whirld.getURL(splatTxt[0]));*
* while(!www.isDone) {*
* whirld.progress = www.progress;*
* yield new WaitForSeconds(.1);*
* }*
* if (www.error != null) whirld.info += "
Terrain Texture Undownloadable: #" + (i + 1) + " (" + splatTxt[0] + ")";*
* else {*
* whirld.statusTxt = "Initializing Terrain Texture " + (i + 1) + " of " + tTxts.length + "...";*
* yield;*
_ splatPrototypes *= new SplatPrototype();*_
<em>_ splatPrototypes*.texture = new Texture2D(4, 4, TextureFormat.DXT1, true);*_</em>
<em><em>_ www.LoadImageIntoTexture(splatPrototypes*.texture);*_</em></em>
<em><em><em>_ splatPrototypes*.texture.Apply(true);*_</em></em></em>
<em><em><em><em>_ splatPrototypes*.texture.Compress(true);*_</em></em></em></em>
<em><em><em><em><em>_ splatPrototypes*.tileSize = Vector2(parseInt(splatTxtSize[0]), parseInt(splatTxtSize[1]));*_</em></em></em></em></em>
<em><em><em><em><em>_* }*_</em></em></em></em></em>
<em><em><em><em><em>_* }*_</em></em></em></em></em>
<em><em><em><em><em>_* }*_</em></em></em></em></em>
<em><em><em><em><em>_* else {*_</em></em></em></em></em>
<em><em><em><em><em>_* splatPrototypes = new SplatPrototype[whirld.worldTerrainTextures.length];*_</em></em></em></em></em>
<em><em><em><em><em>_* for(i=0; i < whirld.worldTerrainTextures.length; i++) {*_</em></em></em></em></em>
<em><em><em><em><em><em>_ splatPrototypes *= new SplatPrototype();*_</em></em></em></em></em></em>
<em><em><em><em><em><em><em><em> splatPrototypes_.texture = whirld.worldTerrainTextures*;*_</em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_ splatPrototypes*.tileSize = Vector2(15, 15);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* trnDat.splatPrototypes = splatPrototypes;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* //Lightmap*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* if(tLtmp) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.statusTxt = "Downloading Terrain Lightmap (" + tName + ")";*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* www = new WWW(tLtmp);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* while(!www.isDone) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.progress = www.progress;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* yield new WaitForSeconds(.1);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* if (www.error != null) whirld.info += "
Terrain Lightmap Undownloadable: " + tName + " " + tLtmp + " (" + www.error + ")";*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* else {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* trnDat.lightmap = www.texture;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* //Splatmap*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* if(tSpmp) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* if(tSpmp2) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.statusTxt = "Downloading Augmentative Terrain Texturemap (" + tName + ")";*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* www = new WWW(tSpmp2);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* while(!www.isDone) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.progress = www.progress;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* yield new WaitForSeconds(.1);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* var mapColors2 = www.texture.GetPixels();*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.statusTxt = "Downloading Terrain Texturemap (" + tName + ")";*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* www = new WWW(tSpmp);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* while(!www.isDone) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.progress = www.progress;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* yield new WaitForSeconds(.1);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.progress = 0;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.statusTxt = "Mapping Terrain Textures...";*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* yield;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* if (www.error != null) whirld.info += "
Terrain Texturemap Undownloadable: " + tName + " " + tLtmp + " (" + www.error + ")";*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* else {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* if (www.texture.format != TextureFormat.ARGB32 || www.texture.width != www.texture.height || Mathf.ClosestPowerOfTwo(www.texture.width) != www.texture.width) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.info += "
Terrain Splatmap Unusable: Splatmap must be in RGBA 32 bit format, square, and it's size a power of 2";*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* else {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* trnDat.alphamapResolution = www.texture.width;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* var splatmapData = trnDat.GetAlphamaps(0, 0, www.texture.width, www.texture.width);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* var mapColors = www.texture.GetPixels();*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* var ht : int = www.texture.height;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* var wd : int = www.texture.width;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* for (y = 0; y < ht; y++) for (x = 0; x < wd; x++) for (z = 0; z < trnDat.alphamapLayers; z++) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_ if(z < 4) splatmapData[x,y,z] = mapColors[x * wd + y][z];_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_ else splatmapData[x,y,z] = mapColors2[x * wd + y][z-4];_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* trnDat.SetAlphamaps(0, 0, splatmapData);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* //Details (rocks, trees, grass, etc)*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* if(tDtmp) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.statusTxt = "Downloading Terrain Details (" + tDtmp + ")";*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* www = new WWW(tDtmp);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* while(!www.isDone) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* whirld.progress = www.progress;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* yield new WaitForSeconds(.1);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* if (www.error != null) whirld.info += "
Terrain Details Undownloadable: " + tName + " " + tDtmp + " (" + www.error + ")";*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* else {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* var treePrototypes : Array = new Array();*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* var treeInstances : Array = new Array();*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* var treeProto : TreePrototype;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* var detailProto : DetailPrototype;*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* var detailPrototypes : Array = new Array();*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* file = new Ionic.Zlib.GZipStream(new MemoryStream(), Ionic.Zlib.CompressionMode.Decompress).UncompressString(www.bytes).Split("
"[0]);*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em>_* for (i=0; i < file.length; i++) {*_</em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_ if(file *== "" || i == file.length - 1) { //Apply Existing Trees*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* if(treeProto) {*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* treePrototypes.Add(treeProto);*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* treeProto = null;*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* //continue;*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* if(detailProto) {*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* detailPrototypes.Add(detailProto);*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* detailProto = null;*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* //continue;*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em> if(file_.length > 10 && file*.Substring(0, 10) == "detailmap2") {*_</em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em>_ whirld.statusTxt = "Downloading Augmentative Terrain Detail Map (" + whirld.getURL(file*.Substring(11)) + ")";*_</em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ www = new WWW(whirld.getURL(file*.Substring(11)));*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* while(!www.isDone) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* whirld.progress = www.progress;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* yield new WaitForSeconds(.1);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if (www.error != null) whirld.info += "
Augmentative Terrain Detail Map Undownloadable: " + tName + " " + file*.Substring(11) + " (" + www.error + ")";*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* tex = www.texture;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* pixels = www.texture.GetPixels();*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 4) var detLayer4 = trnDat.GetDetailLayer(0, 0, trnDat.detailResolution, trnDat.detailResolution, 4);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 5) var detLayer5 = trnDat.GetDetailLayer(0, 0, trnDat.detailResolution, trnDat.detailResolution, 5);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 6) var detLayer6 = trnDat.GetDetailLayer(0, 0, trnDat.detailResolution, trnDat.detailResolution, 6);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 7) var detLayer7 = trnDat.GetDetailLayer(0, 0, trnDat.detailResolution, trnDat.detailResolution, 7);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* i2 = 0;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* for(iY = 0; iY < trnDat.detailResolution; iY++) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* for(iX = 0; iX < trnDat.detailResolution; iX++) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if(detailPrototypes.length > 4) detLayer4[iX, iY] = Mathf.RoundToInt(pixels[i2].r * 16);_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if(detailPrototypes.length > 5) detLayer5[iX, iY] = Mathf.RoundToInt(pixels[i2].g * 16);_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if(detailPrototypes.length > 6) detLayer6[iX, iY] = Mathf.RoundToInt(pixels[i2].b * 16);_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if(detailPrototypes.length > 7) detLayer7[iX, iY] = Mathf.RoundToInt(pixels[i2].a * 16);_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* i2 += 1;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em> else if(file_.length > 10 && file*.Substring(0, 9) == "detailmap") {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ whirld.statusTxt = "Downloading Terrain Detail Map (" + whirld.getURL(file*.Substring(10)) + ")";*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ www = new WWW(whirld.getURL(file*.Substring(10)));*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* while(!www.isDone) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* whirld.progress = www.progress;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* yield new WaitForSeconds(.1);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if (www.error != null) whirld.info += "
Terrain Detail Map Undownloadable: " + tName + " " + file*.Substring(10) + " (" + www.error + ")";*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* tex = www.texture;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* pixels = www.texture.GetPixels();*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* trnDat.detailResolution = www.texture.width;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 0) var detLayer0 = trnDat.GetDetailLayer(0, 0, trnDat.detailResolution, trnDat.detailResolution, 0);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 1) var detLayer1 = trnDat.GetDetailLayer(0, 0, trnDat.detailResolution, trnDat.detailResolution, 1);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 2) var detLayer2 = trnDat.GetDetailLayer(0, 0, trnDat.detailResolution, trnDat.detailResolution, 2);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 3) var detLayer3 = trnDat.GetDetailLayer(0, 0, trnDat.detailResolution, trnDat.detailResolution, 3);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* i2 = 0;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* for(iY = 0; iY < trnDat.detailResolution; iY++) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* for(iX = 0; iX < trnDat.detailResolution; iX++) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if(detailPrototypes.length > 0) detLayer0[iX, iY] = Mathf.RoundToInt(pixels[i2].r * 16);_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if(detailPrototypes.length > 1) detLayer1[iX, iY] = Mathf.RoundToInt(pixels[i2].g * 16);_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if(detailPrototypes.length > 2) detLayer2[iX, iY] = Mathf.RoundToInt(pixels[i2].b * 16);_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if(detailPrototypes.length > 3) detLayer3[iX, iY] = Mathf.RoundToInt(pixels[i2].a * 16);_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* i2 += 1;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ else if(file *== "tree") { //Create new tree prototype*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* treeProto = new TreePrototype();*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ else if(file *== "detail") {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* detailProto = new DetailPrototype();*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(treeProto) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if(file*.Substring(0, 1) == "m") {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ //treeProto.prefab = Resources.Load(file*.Substring(2));*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* //treeProto.prefab = Game.Controller.prefab;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* //prefab.AddComponent(MeshFilter);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* //prefab.AddComponent(MeshRenderer);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ if(objects.ContainsKey(file*.Substring(2))) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* treeProto.prefab = prefabs.Pop();*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ treeProto.prefab.name = file*.Substring(2);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(!treeProto.prefab.GetComponent(MeshFilter)) treeProto.prefab.AddComponent(MeshFilter);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ treeProto.prefab.GetComponent(MeshFilter).mesh = objects[file*.Substring(2)].GetComponent(MeshFilter).mesh;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(!treeProto.prefab.GetComponent(MeshRenderer)) treeProto.prefab.AddComponent(MeshRenderer);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ treeProto.prefab.GetComponent(MeshRenderer).materials = objects[file*.Substring(2)].GetComponent(MeshRenderer).materials;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ //treeProto.prefab = objects[file*.Substring(2)];*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ else whirld.info += "
Terrain Detail Mesh not found: " + file*.Substring(2);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em> else if(file_.Substring(0, 1) == "b") treeProto.bendFactor = parseFloat(file*.Substring(2));*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(file[i+1] == "") { //Read detail objects*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ var treedat : String[] = file*.Split(";"[0]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* for(var tr : String in treedat) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(!tr) continue;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* var tree = tr.Split(","[0]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(!tree[0] || tree[0] == "") continue;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* var treeInstance = new TreeInstance();*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* treeInstance.prototypeIndex = treePrototypes.length;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* treeInstance.position = Vector3(parseFloat(tree[0]), parseFloat(tree[1]), parseFloat(tree[2]));*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* treeInstance.widthScale = parseFloat(tree[3]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* treeInstance.heightScale = parseFloat(tree[4]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* var c : float = Random.Range(.6, .7);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* treeInstance.color = Color(c - .15, c - .15, c - .15, 1);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* treeInstance.lightmapColor = Color(c + .15, c + .15, c + .15, 0);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* treeInstances.Add(treeInstance);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(detailProto) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ l = file*.Split(" "[0]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(l[0] == "pO") {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(objects.ContainsKey(l[1])) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* //detailProto.prototype = objects[l[1]];*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* detailProto.prototype = prefabs.Pop();*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* detailProto.prototype.name = l[1];*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(!detailProto.prototype.GetComponent(MeshFilter)) detailProto.prototype.AddComponent(MeshFilter);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* detailProto.prototype.GetComponent(MeshFilter).mesh = objects[l[1]].GetComponent(MeshFilter).mesh;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(!detailProto.prototype.GetComponent(MeshRenderer)) detailProto.prototype.AddComponent(MeshRenderer);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* detailProto.prototype.GetComponent(MeshRenderer).material = objects[l[1]].GetComponent(MeshRenderer).material;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else whirld.info += "
Terrain Detail Mesh not found: " + l[1];*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "pT") {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* l[1] = whirld.getURL(l[1]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* whirld.statusTxt = "Downloading Terrain Detail Texture (" + l[1] + ")";*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* www = new WWW(l[1]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* while(!www.isDone) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* whirld.progress = www.progress;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* yield new WaitForSeconds(.1);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if (www.error != null) whirld.info += "
Terrain Detail Texture Undownloadable: " + l[1];*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* whirld.statusTxt = "Initializing " + vS[0] + "...";*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* whirld.progress = 0;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* yield;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* mshTxt = new Texture2D(4, 4, TextureFormat.DXT5, true);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* www.LoadImageIntoTexture(mshTxt);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* mshTxt.Apply(true);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* mshTxt.Compress(true);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* mshTxt.wrapMode = TextureWrapMode.Clamp;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* detailProto.prototypeTexture = mshTxt;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "minW") detailProto.minWidth = parseFloat(l[1]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "maxW") detailProto.maxWidth = parseFloat(l[1]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "minH") detailProto.minHeight = parseFloat(l[1]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "maxH") detailProto.maxHeight = parseFloat(l[1]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "nS") detailProto.noiseSpread = parseFloat(l[1]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "bF") detailProto.bendFactor = parseFloat(l[1]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "hC") detailProto.healthyColor = Color(parseFloat(l[1]), parseFloat(l[2]), parseFloat(l[3]));*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "dC") detailProto.dryColor = Color(parseFloat(l[1]), parseFloat(l[2]), parseFloat(l[3]));*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "lF") detailProto.lightmapFactor = parseFloat(l[1]);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "gL") detailProto.grayscaleLighting = (l[1] == "1" ? true : false);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "rM") {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(l[1] == "GrassBillboard") detailProto.renderMode = DetailRenderMode.GrassBillboard;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[1] == "VertexLit") detailProto.renderMode = DetailRenderMode.VertexLit;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else detailProto.renderMode = DetailRenderMode.Grass;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* else if(l[0] == "uM") detailProto.usePrototypeMesh = (l[1] == "1" ? true : false);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* trnDat.treePrototypes = treePrototypes.ToBuiltin(TreePrototype);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* trnDat.treeInstances = treeInstances.ToBuiltin(TreeInstance);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* trnDat.detailPrototypes = detailPrototypes.ToBuiltin(DetailPrototype);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 0) trnDat.SetDetailLayer(0, 0, 0, detLayer0);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 1) trnDat.SetDetailLayer(0, 0, 1, detLayer1);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 2) trnDat.SetDetailLayer(0, 0, 2, detLayer2);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 3) trnDat.SetDetailLayer(0, 0, 3, detLayer3);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 4) trnDat.SetDetailLayer(0, 0, 4, detLayer4);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 5) trnDat.SetDetailLayer(0, 0, 5, detLayer5);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 6) trnDat.SetDetailLayer(0, 0, 6, detLayer6);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(detailPrototypes.length > 7) trnDat.SetDetailLayer(0, 0, 7, detLayer7);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* //trnDat.RefreshPrototypes();*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* //trnDat.RecalculateTreePositions();*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ /*for(i=0; i<trnDat.treePrototypes.length; i++) {_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em> trnDat.treePrototypes<em>.prefab.name = trnDat.treePrototypes*.prefab.name.Replace(" ", "_");*</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em> MeshWriteObj(trnDat.treePrototypes_.prefab.GetComponent(MeshFilter), trnDat.treePrototypes*.prefab.name);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em> data = "[msh:" + trnDat.treePrototypes_.prefab.name + "," + trnDat.treePrototypes*.prefab.name + ".obj.gz]" + data;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em> trnV += (trnV != "" ? "
" : "") + "tree
m:" + trnDat.treePrototypes_.prefab.name + "
b:" + trnDat.treePrototypes*.bendFactor + "
";*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* for(var tree : TreeInstance in trnDat.treeInstances) {*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* if(tree.prototypeIndex != i) continue;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* trnV += tree.position.x.ToString("F1", System.Globalization.CultureInfo.InvariantCulture) + "," + tree.position.y.ToString("F1", System.Globalization.CultureInfo.InvariantCulture) + "," + tree.position.z.ToString("F1", System.Globalization.CultureInfo.InvariantCulture) + "," + tree.widthScale.ToString("F1", System.Globalization.CultureInfo.InvariantCulture) + "," + tree.heightScale.ToString("F1", System.Globalization.CultureInfo.InvariantCulture) + ";";*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_ }*/_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* }*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* //Go!*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* var trnObj : GameObject = new GameObject(tName);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* trnObj.AddComponent(Terrain);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* trnObj.GetComponent(Terrain).terrainData = trnDat;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* trnObj.AddComponent(TerrainCollider);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* trnObj.GetComponent(TerrainCollider).terrainData = trnDat;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* objects.Add(tName, trnObj);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* GameObject.Destroy(trnObj);*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_* whirld.statusTxt = "";*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_*}*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_*i++;*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_*}*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>
<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>_*```*_</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em>