void layerDialog_Add(object sender, EventArgs e) { NTerrainEditor trnEd = NLevelEditorEngine.Instance.TerrainEd; if (trnEd.Empty()) { NexusEditor.Program.ShowError("当前地形编辑器没有绑定对象."); return; } EditorMain.TerrainSplattingLayerForm dlg = sender as EditorMain.TerrainSplattingLayerForm; EditorMain.NETerrainTextureLayerProp ld = dlg.Data; if (!ld.TextureRes.IsValid()) { NexusEditor.Program.ShowError("添加图层失败:图层贴图路径为空."); return; } try { NTerrainMtlSetup mtl = trnEd.GetMaterial(); int i = mtl.AddLayer(ld.data); if (i == -1) { NexusEditor.Program.ShowError("添加图层失败:可能是未创建地形材质."); } else { this.BuildTargetList(); } } catch (System.Exception ex) { NexusEditor.Program.ShowException(ex, "地形材质图层更新失败!"); } }