// @} // @{ //********************************************************************* // 消息响应/UI回调函数 //********************************************************************* private void labelTerrainAmbientColor_Click(object sender, EventArgs e) { ColorPickForm colorPicker = new ColorPickForm(); MColor oldColor = mEditTerrainHelper.GetAmbientMaterial(); int iR = (int)(oldColor.R * 255.0); int iG = (int)(oldColor.G * 255.0); int iB = (int)(oldColor.B * 255.0); colorPicker.ColorPicked = Color.FromArgb(iR, iG, iB); colorPicker.OnColorChanged += UITerrainAmbientColorNotify; if (colorPicker.ShowDialog() == DialogResult.OK) { float fR = colorPicker.ColorPicked.R / 255.0f; float fG = colorPicker.ColorPicked.G / 255.0f; float fB = colorPicker.ColorPicked.B / 255.0f; MColor mColor = new MColor(fR, fG, fB); mEditTerrainHelper.SetAmbientMaterial(mColor); ///< 更新材质颜色 labelTerrainAmbientColor.BackColor = colorPicker.ColorPicked; ///< 更新UI颜色 } else { mEditTerrainHelper.SetAmbientMaterial(oldColor); ///< 恢复材质颜色 labelTerrainAmbientColor.BackColor = Color.FromArgb(iR, iG, iB); ///< 恢复UI颜色 } }
private void labelMainLightDiffuseColor_Click(object sender, EventArgs e) { MMap map = mEditHelper.Map; if (map == null) return; ColorPickForm colorPicker = new ColorPickForm(); MLight mainLight = map.MainLight; MColor oldColor = mainLight.DiffuseColor; int iR = (int)(oldColor.R * 255.0); int iG = (int)(oldColor.G * 255.0); int iB = (int)(oldColor.B * 255.0); colorPicker.ColorPicked = Color.FromArgb(iR, iG, iB); colorPicker.OnColorChanged += UIMainLightDiffuseColorNotify; if (colorPicker.ShowDialog() == DialogResult.OK) { float fR = colorPicker.ColorPicked.R / 255.0f; float fG = colorPicker.ColorPicked.G / 255.0f; float fB = colorPicker.ColorPicked.B / 255.0f; MColor mColor = new MColor(fR, fG, fB); mainLight.DiffuseColor = mColor; ///< 更新主灯光漫反射颜色 labelMainLightDiffuseColor.BackColor = colorPicker.ColorPicked; ///< 更新UI颜色 } else { mainLight.DiffuseColor = oldColor; ///< 恢复主灯光漫反射颜色 labelMainLightDiffuseColor.BackColor = Color.FromArgb(iR, iG, iB); ///< 恢复UI颜色 } }