public async System.Threading.Tasks.Task <bool> PreViewSimMeshAsync(CSimGeom simgeom) { if (simgeom.MaxVertices == 0) { MessageBox.Show("MaxVertices is Null error"); return(false); } return(await CEngine.Instance.EventPoster.Post(() => { if (simgeom.IsChange) { simgeom.IsChange = false; //var test = BuildTriMeshAsync(); simgeom.BuildTriMesh(CEngine.Instance.RenderContext, simgeom.Mesh.MeshPrimitives, ref simgeom.CCDD); simgeom.MeshPrimitives = simgeom.CreateMesh(CEngine.Instance.RenderContext); } if (simgeom.MeshPrimitives != null) { GActor actor = NewMeshActor(CEngine.Instance.MeshManager.CreateMesh(CEngine.Instance.RenderContext, simgeom.MeshPrimitives)); actor.Placement.SetMatrix(ref mPreviewActor.Placement.mDrawTransform); var test = actor.GetComponent <EngineNS.GamePlay.Component.GMeshComponent>().SetMaterialInstanceAsync(CEngine.Instance.RenderContext, 0, CEngine.Instance.MaterialInstanceManager.DefaultMaterialInstance, null); mPreviewSceneControl.AddUniqueActor(actor); } return true; }, EngineNS.Thread.Async.EAsyncTarget.AsyncEditor));//, EngineNS.Thread.Async.EAsyncTarget.AsyncEditor) }
public void DPreviewSimMesh(CSimGeom simgeom, bool show) { var showValue = new EditorCommon.ResourceInfos.MeshResourceInfo.MeshEditProperty(); if (show) { PreViewSimMesh(simgeom); } else { mPreviewSceneControl.AddUniqueActor(mPreviewActor); } }
public void PreViewSimMesh(CSimGeom simgeom) { if (!simgeom.Preview) { return; } if (simgeom.Mesh == null) { return; } var test = PreViewSimMeshAsync(simgeom); }