public void CreateFinalMesh() { if (meshData == null) { return; } mesh = meshData.CreateMesh(MeshData.TYPE_NORMAL); Mesh XplusPatchMesh = meshData.CreateMesh(MeshData.TYPE_X_NORMAL_PLUS); GetComponent <MeshFilter>().mesh = mesh; if (parent != null) { if (parent.isSplitting) { parent.childrenReady++; if (parent.childrenReady == 8) { Destroy(parent.GetComponent <MeshFilter>().mesh); parent.mesh = null; parent.childrenReady = 0; parent.isSplitting = false; //DCManager.chunkDictionary.Remove(parent.transform.position); DCManager.removeChunkFromList(this); DCManager.greenLight = true; } } } else { if (manager.isSplitting) { manager.childrenReady++; if (manager.childrenReady == 8) { Destroy(parent.GetComponent <MeshFilter>().mesh); manager.GetComponent <MeshFilter>().mesh = null; manager.childrenReady = 0; manager.isSplitting = false; DCManager.greenLight = true; } } } if (isRestoringParent) { int k = children.Count; for (int i = 0; i < k; i++) { Destroy(children[i].gameObject); //DCManager.chunkDictionary.Remove(children[i].transform.position); //DCManager.chunkList.Remove(children[i]); DCManager.removeChunkFromList(children[i]); } children.Clear(); isRestoringParent = false; } }
public void OnMeshDataReceived(MeshData meshData) { //DCManager.chunkDictionary.Add(transform.position, this); this.meshData = meshData; DCManager.addChunkToList(this); //DCManager.chunkList.Add(this); }
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (DCManager != null && DCManager.IsDesignMode) { return(DCManager.ProcessKey(keyData)); } return(base.ProcessCmdKey(ref msg, keyData)); }
public bool Close(FormClosingMode closeMode) { //сохраняем все переводы, если мы в режиме правки if (BaseSettings.TranslationMode && DCManager != null && DCManager.HasChanges) { if (!DCManager.SaveTranslations()) { return(false); } } Close(); return(true); }
public virtual bool Close(FormClosingMode closeMode) { //if (LifeTimeState == LifeTimeState.Closing) // return; if (closeMode != FormClosingMode.NoSave) { if (closeMode == FormClosingMode.SaveWithConfirmation) { if (!BaseActionPanel.ConfirmCancel(BusinessObject, FindForm())) { return(false); } ClearLastExecutedAction(); } else if (!Post()) { return(false); } } //сохраняем все переводы, если мы в режиме правки if (BaseSettings.TranslationMode && DCManager != null && DCManager.HasChanges) { if (!DCManager.SaveTranslations()) { return(false); } //ttForm.DCManager.Release(); } SaveGridLayout(); Release(); var form = FindForm(); if (form != null && form != BaseFormManager.MainForm) { form.Close(); return(true); } if (ParentLayout != null) { ParentLayout.Dispose(); } Dispose(); return(true); }
public Chunk createCube(Chunk parentTarget, DCManager manager, float size, int lodLevel, float delta1, float delta2, float delta3, string name) { if (this == null) { return(null); } parent = parentTarget; if (parentTarget != null) { parentTarget.children.Add(this); } else { manager.children.Add(this); } this.edgeSize = size; this.manager = manager; this.lodLevel = lodLevel; this.name = name; ///////////// GameObject o = gameObject; o.name = name; if (o.GetComponent <MeshFilter>() == null) { o.AddComponent <MeshFilter>(); } if (o.GetComponent <MeshRenderer>() == null) { o.AddComponent <MeshRenderer>(); } //o.AddComponent<MeshCollider>(); o.transform.parent = manager.transform; transform.position = new Vector3(delta1, delta2, delta3); //MeshFilter mf = o.GetComponent<MeshFilter>(); MeshRenderer mr = o.GetComponent <MeshRenderer>(); //MeshCollider mc = o.GetComponent<MeshCollider>(); shader = Shader.Find("paolo/NormalColor"); material = new Material(shader); mr.sharedMaterial = material; //mf.sharedMesh = m; //m = md.CreateMesh(); manager.meshGenerator.RequestMapData(edgeSize, manager.subdivisions, transform.position, manager.cnoise, OnMapDataReceived, edgeDictionary, edgeDictionaryOrphans ); return(this); }