protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container) { YAMLMappingNode node = base.ExportYAMLRoot(container); node.AddSerializedVersion(ToSerializedVersion(container.ExportVersion)); node.Add(LocalReferencePointName, LocalReferencePoint.ExportYAML(container)); node.Add(SizeName, Size); node.Add(FadeModeName, (int)GetFadeMode(container.Version)); node.Add(AnimateCrossFadingName, AnimateCrossFading); node.Add(LastLODIsBillboardName, LastLODIsBillboard); node.Add(LODsName, LODs.ExportYAML(container)); node.Add(EnabledName, Enabled); return(node); }
void Update() { if (Vector3.Distance(player.transform.position, meshObj.transform.position) < treshhold) { currentLOD = LODs.LOD2; } else { currentLOD = LODs.LOD1; if (gen == true) { ConstructMesh(this.GetComponent <MeshFilter>().sharedMesh, subdivx, subdivy, sizeOfChunk); gen = false; } } if (currentLOD == LODs.LOD2) { Destroy(meshObj.GetComponent <MeshRenderer>()); Destroy(meshObj.GetComponent <MeshFilter>()); GameObject[,] subs = new GameObject[2, 2]; if (meshObj.transform.childCount == 0) { for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { subs[i, j] = new GameObject(); subs[i, j].transform.parent = meshObj.transform; subs[i, j].AddComponent <MeshFilter>(); subs[i, j].GetComponent <MeshFilter>().sharedMesh = new Mesh(); if (subs[i, j].GetComponent <MeshRenderer>() == null) { subs[i, j].AddComponent <MeshRenderer>().sharedMaterial = mat; } subs[i, j].AddComponent <tester>().treshhold = treshhold / 2; subs[i, j].GetComponent <tester>().player = player; subs[i, j].GetComponent <tester>().planetRadius = planetRadius; subs[i, j].GetComponent <tester>().temp_Resolution = temp_Resolution; subs[i, j].GetComponent <tester>().mat = mat; subs[i, j].GetComponent <tester>().sizeOfChunk = sizeOfChunk / 2; subs[i, j].GetComponent <tester>().Type = Type; } } float subdiv = (temp_Resolution / 2) - 0.5f; subs[0, 1].GetComponent <tester>().subdivx = -subdiv; subs[1, 0].GetComponent <tester>().subdivx = subdiv; subs[0, 0].GetComponent <tester>().subdivx = -subdiv; subs[1, 1].GetComponent <tester>().subdivx = subdiv; subs[0, 1].GetComponent <tester>().subdivy = subdiv; subs[1, 0].GetComponent <tester>().subdivy = -subdiv; subs[0, 0].GetComponent <tester>().subdivy = -subdiv; subs[1, 1].GetComponent <tester>().subdivy = subdiv; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { subs[i, j].GetComponent <tester>().gen = true; } } //ConstructMesh(subs[0, 1].GetComponent<MeshFilter>().sharedMesh, -subdiv, subdiv, sizeOfChunk / 2); //ConstructMesh(subs[1, 0].GetComponent<MeshFilter>().sharedMesh, subdiv, -subdiv, sizeOfChunk / 2); //ConstructMesh(subs[0, 0].GetComponent<MeshFilter>().sharedMesh, -subdiv, -subdiv, sizeOfChunk / 2); //ConstructMesh(subs[1, 1].GetComponent<MeshFilter>().sharedMesh, subdiv, subdiv, sizeOfChunk / 2); } } }