void TerrainLayerDlg::_notifyEditLayer(Event * _sender) { if (mLayerInfoDlg->GetLayer() == NULL) // is add return ; Terrain * tn = Environment::Instance()->GetTerrain(); int layerId = GetCurLayer(); d_assert (layerId != -1); Terrain::Layer layer; layer.detail = mLayerInfoDlg->GetDiffuseMap(); layer.normal = mLayerInfoDlg->GetNormalMap(); layer.specular = mLayerInfoDlg->GetSpecularMap(); layer.scale = mLayerInfoDlg->GetUVScale(); layer.material = -1; tn->SetLayer(layerId, layer); size_t isel = mLayerList->getIndexSelected(); d_assert (isel != MyGUI::ITEM_NONE); mLayerList->setItemNameAt(isel, layer.detail.c_wstr()); }